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. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性