xgboost和gbdt区别

Posted ymjyqsx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xgboost和gbdt区别相关的知识,希望对你有一定的参考价值。

1. xgboost在目标函数中加入了正则化项,当正则化项为0时与传统的GDBT的目标函数相同
2. xgboost在迭代优化的时候使用了目标函数的泰勒展开的二阶近似,paper中说能加快优化的过程!!xgboost可自定义目标函数,但是目标函数必须二阶可导也是因为这个。GDBT中只用了一阶导数。
3. xgboost寻找最佳分割点时,考虑到传统贪心法效率比较低,实现了一种近似贪心法,除此之外还考虑了稀疏数据集、缺失值的处理,这能大大提升算法的效率。paper中提到在一个稀疏数据集中测试,发现速度提升了50倍。
4.对每颗子树增加一个参数,使得每颗子树的权重降低,防止过拟合,增加这个参数叫shrinkage方法。对特征进行降采样,灵感来源于随机森林,除了能降低计算量外,还能防止过拟合。
 
 
https://www.zhihu.com/question/41354392
http://mlnote.com/2016/10/05/a-guide-to-xgboost-A-Scalable-Tree-Boosting-System/


以上是关于xgboost和gbdt区别的主要内容,如果未能解决你的问题,请参考以下文章

xgboost和gbdt区别

机器学习算法中 GBDT 和 XGBOOST 的区别有哪些?

机器学习算法中 GBDT 和 XGBOOST 的区别有哪些?

XgBoost的总结

GBDT和XgBoost

机器学习GBDT和XGBoosts有何区别?