標籤:

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如何運用機器學習進行億級用戶數據處理

TAG:機器學習 | gbdt |