GBM(Gradient Boosting Machine)的快速理解
前置知識:神經網路,梯度下降法
機器學習中常用的GBDT、XGBoost和LightGBM演算法(或工具)都是基於梯度提升機(Gradient Boosting Machine,GBM)的演算法思想,本文簡要介紹了GBM的核心思想,旨在幫助大家快速理解,需要詳細了解的朋友請參看Friedman的論文[1]。
Background:一個弱學習器(以下簡稱model),其預測效果有限,一種直觀的提升方法就是訓練第二個model去學習特徵到殘差(即第一個model的輸出與真實標籤的差距)的映射,最終把兩個model的預測結果加起來得到最終的預測結果。當然,兩個model通常情況下也無法做到完美,因此上述過程可以迭代下去。
Problem:當損失函數是平方損失和指數損失時,每一步優化是很簡單的,但對一般損失函數而言不太容易[2]。
Solution:類似梯度下降法(減少損失),使用梯度來進行提升(提升模型的擬合效果,等價於減少損失),即將損失函數的負梯度在當前模型的值作為殘差的近似值[2],這樣便可以通用地對採用其他損失函數的情況進行操作。
參考文獻
[1] Friedman J H. Greedy function approximation: a gradient boosting machine[J]. Annals of statistics, 2001: 1189-1232.
[2] 李航. 統計學習方法[J]. 清華大學出版社, 北京, 2012.
推薦閱讀:
※機器學習-各種 Learning 概念簡明介紹
※「伊人」何處,宛在雲中央:用 Datalab 在雲上部署互動式編程環境
※SVD個人心得
※過擬合與模型容量
※Facebook如何運用機器學習進行億級用戶數據處理