XGboost文献学习笔记

这篇博客是关于XGBoost的学习笔记,首先通过阅读<http://homes.cs.washington.edu/~tqchen/pdf/BoostedTree.pdf>的PPT了解其原理,然后结合论文<https://arxiv.org/pdf/1603.02754v3>深入理解。XGBoost是Extreme Gradient Boosting,由陈天奇开发,是对GBDT的算法改进,增强了算法的适用性。
摘要由CSDN通过智能技术生成
查看原文:http://www.wyblog.cn/2016/11/25/xgboost%e6%96%87%e7%8c%ae%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0/

XGboost的学习资料主要为以下两个。 其一是PPT资料:

http://homes.cs.washington.edu/~tqchen/pdf/BoostedTree.pdf

其二是论文资料:

https://arxiv.org/pdf/1603.02754v3

先看PPT,搞懂了XGboost的原理后,再看论文就轻松多了。

先总结


先总结下xgboost。实际上,xgboost全名叫Extreme Gradient Boosting,是由陈天奇大神开发的。从名字上来看,其实它属于gradien tree的一个分支,它并不是和GBDT处于并列的关系,它是在GBDT上做了算法改进,使得算法适应新更强。那么,具体改进了哪些地方呢?

  • 在模型上,xgboost的泛化能力更强,原因在于其损失函数的构建上。传统的树模型损失函数只考虑了经验损失,即预测值与真实值得偏差作为损失函数的目标,但xgboost在损失函数中加入了正则化项,用于对树结构复杂度的控制,它包含了两项,一项是叶子节点的个数T,另一项是叶子输出score值ω的L2范数,它能够有效地避免过拟合,这也正是文章中反复提到的要平衡 bias-variance tradeoff,即预测准确性以及模型简洁性之间的平衡。

  • 在损失函数上,传统的GBDT采用的是一阶导数,即用的梯度信息,而xgboost用了泰勒公式进行二阶导数的展开,并且,在文章中提到了,损失函数其实是可以自定义的,可以用Square loss,可以用Logistic loss,这也正是它优点之一,scalable。

  • 在每一轮的迭代后,迭代出的树都会被乘以一个小于1的权重ε,它是为了给下一轮及以后的迭代预留大的空间,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值