机器学习算法中 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 的区别有哪些?的主要内容,如果未能解决你的问题,请参考以下文章