從GB到GBDT到XGBoost

Boosting

boosting一句話理解:三個臭皮匠,頂個諸葛亮。
在計算機學習理論裏,強可學習和弱可學習是等價的。
弱可學習模型轉化爲強可學習模型方法:前向分佈加法模型。

最簡單前向分佈加法模型

yk+1 = yk + ( y-yk )
( y-yk )即爲殘差,每一個新的弱分類器學習的目標都是殘差
這麼一個簡單的模型,能否得到我們想要的結果?
理論上( y-yk )只有方向是準確的,具體是多少是模糊的。

進階用梯度代替殘差,即GB

理論上( y-yk )只有方向是準確的,具體是多少是模糊的。
用梯度代替( y-yk ):
yk+1 = yk + ( ak *梯度), ak爲步長
這裏的梯度就是我們常聽說的僞殘差,擬合僞殘差得到方向,掃描搜索得到最好的步長。
在這裏插入圖片描述
使用指數函數爲損失函數,即爲Adaboost
使用決策樹爲分類器,即爲GBDT
通過上述算法,我們(x,僞殘差)得到方向g,(x,g)得到步長(單變量一元迴歸)

泰勒展開與GB

在這裏插入圖片描述在這裏插入圖片描述
GBDT使用上述公式一階泰勒展開
XGBoosting上述公式二階泰勒展開
我們知道泰勒二階展開就是牛頓法,直接求出了方向和步長,不需要線性搜索合適的步長。

XGBoosting

XGBoosting上述公式二階泰勒展開
我們知道泰勒二階展開就是牛頓法,直接求出了方向和步長,不需要線性搜索合適的步長。
實際上處理不會一步到位,避免過擬合
詳細推導見:https://homes.cs.washington.edu/~tqchen/pdf/BoostedTree.pdf link.
從這裏可以看出XGBoost基本還是集成前人的東西,考慮大數據處理,優化並行計算,形成工業級應用纔是XGBoost最大作用。

參考學習資料:

https://homes.cs.washington.edu/~tqchen/pdf/BoostedTree.pdf link.
https://arxiv.org/abs/1603.02754

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章