整合學習之boosting,Adaboost、GBDT 和 xgboost(三)
阿新 • • 發佈:2018-11-11
AdaBoost演算法的解釋——前向分步法與提升樹(GBDT)
可以認為AdaBoost演算法是模型為加法模型,損失函式為指數函式、學習演算法為前向分步演算法時的二類分類學習方法。
前向分步演算法:
考慮加法模型
—— (式1)
其中
顯然式1 是個加法模型。
在給定訓練資料和損失函式
的條件下,學習加法模型
稱為經驗風險極小化即損失函式極小化問題:
通常這是一個複雜的優化問題。前向分步演算法求解這一優化問題的想法是:因為學習的是加法模型,如果能夠從前往後求解,每一步只學習一個基函式及其係數,逐步逼近優化目標函式,那麼就可以簡化優化的複雜度。
具體的,每一步只需優化如下損失函式:
給定訓練資料集
損失函式
和基函式的集合{
},學習加法模型
的前向分步演算法如下:
輸入:訓練資料集
;損失函式
和基函式的集合{
}
輸出:加法模型
- :初始化
2):對m=1,2……M:
(a):極小化損失函式
得到引數
(b)更新,
3)得到加法模型
這樣,前向分步演算法將同時求解從m=1到M的所有引數 的優化問題簡化為逐次求解各個 的優化問題。
提升樹
提升樹是以分類樹與迴歸樹為基本分類器的提升方法。提升樹被認為是統計學習中效能最好的方法之一。
提升樹模型
提升方法實際是採用加法模型(即基函式的線性組合)與前向分步演算法。**以決策樹為基函式的提升方法稱為提升樹。**對分類問題決策樹是二叉分類樹,對迴歸問題決策樹是二叉迴歸樹。
提升樹模型可以表示成決策樹的加法模型: