XGboost是一种集成学习算法,属于三类常用的集成方法(bagging、boosting、stacking)中的boosting类别。它是一个加法模型,基模型一般选择树模型,但也可以选择其它类型的模型如逻辑回归等。
XGboost属于梯度提升树(GBDT)模型这个范畴,GBDT的基本想法是让新的基模型(GBDT以CART分类回归树为基模型)去拟合前面模型的偏差,从而不断将加法模型的偏差降低。
1、对比模型
1.1 GBDT模型
相比于经典的GBDT,XGboost做了一些改进,从而在效果和性能上有明显的提升。
- GBDT将目标函数泰勒展开到一阶,而XGBoost将目标函数展开到了二阶。保留了更多目标函数的信息,对提升效果有帮助。
- GBDT是给新的基模型寻找新的拟合标签,而XGboost是给新的基模型寻找新的目标函数。
- XGBoost加入了叶子权重的L2正则化项,因而有利于模型获得更低的方差。
- XGBoost增加了自动处理缺失值特征的策略,通过把带缺失值样本分别划分到左子树或右子树,比较两种方案下目标函数的优劣,从而自动对有缺失的样本进行划分,无需对缺失特征进行填充处理。
2、XGBoost的原理
2.1 假设空间
\[\hat y=F[x]=\sum_{t=1}^kf_t[x] \]
2.1 目标函数
\[J(F)=L[F]+\Omega[F](损失项加正则项) \]
\[J(F)=\sum_{i=1}^nL[y^{(i)},\hat y^{(i)}]+\sum_{t=1}^k\Omega[f_t](L是一棵树的损失函数) \]
\[\Omega[f_t]=\mu T+\frac{1}{2} \lambda\sum_{j=1}^Tw_j^2 \]
\[(T是树的叶子节点数量,w_j是每个叶子节点的权重),\mu和\lambda用来调节节点数量和节点权重的比例 \]
原文地址:http://www.cnblogs.com/zuzhi/p/16886948.html
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请务用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性