GBDT又叫梯度提升決策樹,它也屬於Boosting框架。GBDT核心原理如下:
如圖所示,用GBDT預測年齡,第一輪,預測到年齡為20,它和真實值之間的殘差為10,第二輪,GBDT開始預測上一輪的殘差10,預測結果為6,這一輪 的殘差為4,第三輪,以年齡4為預測目標,預測來的值為3,和真實值之間相差1,最后以殘差1為預測目標,預測結果為1,此時殘差為0,預測結束,最后把之前模型預測的結果全部相加,就得到預測的真實值為30歲
所以,GBDT的核心原理是先用初始值預測一顆決策樹,得到本輪的殘差,即真實值減預測值,然后用殘差作為下一輪決策樹的預測對象,這時會再產生一個殘差,再用這個殘差作為下一輪的預測對象,以此循環迭代直到最后一輪的預測殘差為0或非常小的時候就停止迭代,然后把所有輪的模型預測結果相加得到最終預測結果,GBDT核心原理如下圖所示
GBDT和AdaBoost的異同
相似之處:
都是基於Boosting思想的融合算法
默認的基分類器都是決策樹
AdaBoost其實是GBDT的一個特例
不同之處:
AdaBoost的基分類器可以選擇更多的算法,而GBDT只能選決策樹
GBDT的模型提升方法與AdaBoost不同,AdaBoost是通過不斷加強對錯判數據的權重學習來提升模型的預測效果,而GBDT則是通過不斷降低模型誤差來(學習殘差)的思想來提升模型的預測效果