1. 程式人生 > >十大經典預測算法(九)---GBDT

十大經典預測算法(九)---GBDT

年齡 相似之處 adaboost 結束 基於 nbsp style 算法 -s

  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則是通過不斷降低模型誤差來(學習殘差)的思想來提升模型的預測效果

  

十大經典預測算法(九)---GBDT