GBDT

算法思想

GBDT也是Boosting家族的一员,也采用了前向分布加法模型,但是GBDT和AdaBoost还是存在很大的区别的:

1.AdaBoost没有对弱分类器的种类做限定,GBDT的弱分类器只能是CART回归树。

2.Adaboost是根据本轮弱分类器的分类误差率来改变训练样本在下轮训练时的权值,使误分类的样本在下一轮训练时受到更多的重视来减少分类误差率,Adaboost最后的预测结果是所有弱分类器的加权和。GBDT当前轮弱分类器不是直接去拟合样本的真实标签而是拟合前面所有轮分类器最终预测结果的残差。

如果我们把ft-1(x)看成是要优化的参数的话,和梯度下降法的思想一样,如果要想损失下降的话,ft-1(x)应该沿着负梯度方向更新,这样我们就得到了第t轮弱分类器对每个样本需要拟合的值:

 

 

GBDT中的正则

(1)    限制弱分类器的步长

(2)    对于弱学习器即CART回归树进行正则化剪枝

(3)    建树时进行无放回的样本采样。

 

GBDT优缺点总结

优点:

(1)在分布稠密的数据集上有非常好的泛化能力。(更适合低维稠密特征)

(2)预测阶段计算快,树与树之间可以并行计算。

(3)能自动发现特征间的高阶关系,不用对数据做太多的预处理。

缺点:

(1)GBDT在高维稀疏特征上的表现不好。

(2)训练过程中需要串行训练,训练速度慢。

 

GBDT怎么做分类?

以而分类问题为例,可以借鉴LR的思想,把一个回归模型用于分类,具体的来说每个叶子节点还是和回归模型一样输出一个权重,把所有弱分类器的权重和输入到一个sigmod函数中求概率,损失函数用交叉熵损失就可以了

 

参考博客

https://www.cnblogs.com/pinard/p/6140514.html

 

posted @ 2019-07-03 17:12  xd_xumaomao  阅读(613)  评论(0编辑  收藏  举报