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