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

Posted AI算法攻城狮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习算法中 GBDT 和 XGBOOST 的区别有哪些?相关的知识,希望对你有一定的参考价值。

算法层面

1.XGB加了正则项,防止过拟合,普通GBDT没有。

T为叶子节点的数量,W为叶子的权重。

Y帽子 为预测值,Y为目标值。

gamma ,delta 为参数

 

2.xgboost损失函数对误差部分是二阶泰勒展开,GBDT 是一阶泰勒展开,所以损失函数定义的更精确。

 

3.对每棵子树增加一个参数,使得每棵子树的权重降低,防止过拟合,增加这个参数叫shrinkage方法。对特征进行降采样,灵感来源于随机森林,除了能降低计算量外,还能防止过拟合。

4.实现了利用分捅/分位数方法,实现了全局和局部的近似分裂点算法,降低了计算量,并且在eps参数设置合理的情况下,能达到穷举法几乎一样的性能。

5.提出并实现了特征带权重的分位数的方法(好像是用到rank 场景下的,没太懂。。。)

6.增加处理缺失值的方案(通过枚举所有缺失值在当前节点是进入左子树,还是进入右子树更优来决

以上是关于机器学习算法中 GBDT 和 XGBOOST 的区别有哪些?的主要内容,如果未能解决你的问题,请参考以下文章

机器学习:集成算法 - xgboost

Python机器学习实战决策树与集成学习——集成学习GBDT

机器学习--- 从gbdt到xgboost

机器学习——XGboost算法

机器学习算法总结--GBDT

机器学习 gbdt-xgboost 决策树提升