提升樹:提升方法采用加法模型(基函數的線性組合)與前向分布算法,以決策樹為基函數的提升方法為提升樹。
對於一般的回歸樹,采用平方誤差損失函數,這時根據前向分布每次只需要達到最優化,就能保證整體上的優化。由於平方誤差的特殊性,可以推導出每次只需要擬合殘差(真實值-預測值)。
梯度提升樹:而對於其他損失函數,提出了利用負梯度表示殘差的近似值。
為什么采用損失函數的負梯度?
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))
左邊為預測值,右邊為真實值,所以整個過程就變成了每次擬合損失函數的負梯度的值。
所以可以將這種方法看成一般損失函數的情況,而平方損失是特殊的情況(擬合殘差)。
