提升树:提升方法采用加法模型(基函数的线性组合)与前向分布算法,以决策树为基函数的提升方法为提升树。
对于一般的回归树,采用平方误差损失函数,这时根据前向分布每次只需要达到最优化,就能保证整体上的优化。由于平方误差的特殊性,可以推导出每次只需要拟合残差(真实值-预测值)。
梯度提升树:而对于其他损失函数,提出了利用负梯度表示残差的近似值。
为什么采用损失函数的负梯度?
L(y,f(x))中将f(x)看成一个参数,为了使L损失函数最小,采用梯度下降的方法即:
f(x)_m=f(x)_m-1-(dL/df(x))//与一般的梯度下降法相同
而f(x)_m=f(x)_m-1+T(x;Q)//Q为前向分布法每次得到这棵树的参数,T(x;Q)为训练的新树
所以有f(x)_m-1+T(x;Q)=f(x)_m-1-(dL/df(x))
所以有T(x;Q)=-(dL/df(x))
左边为预测值,右边为真实值,所以整个过程就变成了每次拟合损失函数的负梯度的值。
所以可以将这种方法看成一般损失函数的情况,而平方损失是特殊的情况(拟合残差)。