一、要理解GBDT当然要从GB(Gradient Boosting)和DT(Decision Tree)两个角度来理解了;
二、GB其实是一种理念,他并不是这一个具体的算法,意思是说沿着梯度方向,构造一系列的弱分类器函数,并以一定权重组合起来,形成最终决策的强分类器;注意,这里的梯度下降法是在函数空间中通过梯度下降法寻找使得LOSS最小的一个函数,区别于传统的梯度下降法选择一个方向;那么问题就来了,对函数求导?这也太难了吧。所以就有了一个近似的方法,这个方法的前提是我们认为在训练集上使得LOSS最小的函数,往往在测试集上表现会好,即在训练集上寻优;因此,把求导的函数理解成在训练集上该函数对应的离散的函数值,对函数示导就变成了对样本的函数值向量求导;因此就可以得到一个梯度向量,表过寻找到的最优函数, 这个函数就是一个新的弱分类器;
三、通过回归树来拟合这个梯度向量,就得到了DT;
四、当我们选择平方差损失函数时,函数向量就表示成前一棵回归树在样本空间上的预测值,则对函数向量求梯度就是我们所说的残差向量;因此,下一棵回归树就是在拟合这个残差向量;
五、回归树拟合可以通过平均最小均方差来寻找分裂点,生成一个树;当然这棵树不可能完全拟合得好,因此,又会通过对损失函数求梯度,得到新的残差向量;
六、对初始分类器(函数)的选择就可以直接用0,通过平方差LOSS函数求得的残差当然就是样本本身了;也可以选择样本的均值;
原文地址:http://blog.csdn.net/w28971023/article/details/43704775