GBDT是boosting算法中的一种,按照boosting的思想,在GBDT算法的每一步,用一颗决策树去拟合负梯度,获得一个新的弱学习器。将每一步的决策树组合起来形成一个强学习器。
GBDT是一种通过迭代选定的指向负梯度方向的函数(弱学习器)在函数空间对损失函数进行优化的算法。
Boosting的基本要求是:随着迭代次数的增多,Loss只能递减(而不能又在某个点突然增大),boosting的目的是为了是损失函数最小化而不是更好的拟合训练数据。
提升方法采用加法模型与前向分布算法,以决策树为基函数的提升方法称为提升树。GBDT使用前向分布算法,弱学习器限定只能使用CART回归树模型。
GBDT与传统的Boosting区别较大,它的每一次计算都是为了减少上一次的残差。为了消除残差,我们可以在残差减小的梯度方向建立模型。所以说,GBDT中每个新的模型的建立都是为了使得
之前的模型的残差往梯度下降的方向拟合。利用损失函数的负梯度方向在当前模型的值作为残差的近似值,从而拟合一颗回归树。
GBDT的思想可以用一个通俗的例子解释,假如有个人30岁,我们首先用20岁去拟合,发现损失有10岁,这时我们用6岁去拟合剩下的损失,发现差距还有4岁,第三轮我们用3岁拟合剩下的差距,差距就只有一岁了。如果我们的迭代轮数还没有完,可以继续迭代下面,每一轮迭代,拟合的岁数误差都会减小。
GBDT模型
通过损失函数的负梯度来拟合,我们找到了一种通用的拟合损失误差的办法,这样无轮是分类问题还是回归问题,我们通过其损失函数的负梯度的拟合,就可以用GBDT来解决我们的分类回归问题。区别仅仅在于损失函数不同导致的负梯度不同而已。