Boosting決策樹:GBDT


GBDT (Gradient Boosting Decision Tree)屬於集成學習中的Boosting流派,迭代地訓練基學習器 (base learner),當前基學習器依賴於上一輪基學習器的學習結果。 不同於AdaBoost自適應地調整樣本的權值分布,GBDT是通過不斷地擬合殘差 (residual)來“糾錯”基學習器的。

1. Gradient Boosting

Gradient Boosting Machine (GBM) 是由大牛Friedman [1,2] 提出來,基本思想非常簡單:基學習器存在着分類/回歸錯誤的情況,在下一輪基學習器學習時努力地糾正這個錯誤。在回歸問題中,這個錯誤被稱為殘差。比如,在學習樣本\((x, y)\)得到一個模型\(f\),預測值為\(\hat{y} = f(x)\);那么殘差則為:

\[y - \hat{y} = y- f(x) \]

如果定義損失函數為平方損失\(\frac{1}{2}(y-f(x))^2\),那么其梯度為

\[\frac{\partial \frac{1}{2}(y-f(x))^2}{\partial f(x)} = f(x) - y \]

可以發現:殘差為負梯度方向。對於平方損失,每一步優化是很簡單的;但是,對於其他損失函數呢?Friedman利用負梯度近似殘差,將Gradient Boosting推廣到一般損失函數\(L(y, x)\)。步驟如下:

(1) 計算偽殘差 (pseudo-residual),

\[r_{im} = - \left[ \frac{\partial L(y_i, f(x_i))}{\partial f(x_i)} \right]_{f = f_{m-1}} \]

(2) 基學習器\(h_m(x)\)擬合樣本\(\{ (x_i, r_{im}) \}\)
(3) 計算最優乘子 (multiplier) \(\gamma_m\),使得

\[\gamma_m = \mathop{\arg \min} \limits_{\gamma} \sum_{i} L(y_i, f_{m-1}(x) + \gamma h_m(x_i)) \]

(4) 更新模型

\begin{equation}
f_m(x) = f_{m-1}(x) + \gamma_m h_m(x)
\label{eq:update}
\end{equation}

如此迭代,直至結束或模型收斂;最后一步得到的模型\(f_M(x)\)即為GBM的最終模型。

2. GBDT

如果基學習器為決策樹時,GBM則被稱為GBDT。決策樹本質上是對特征空間的划分\(\{ R_{jm} \}\),因此基學習器\(h_m(x)\)可改寫為

\[h_m(x) = \sum_j b_{jm} I(x \in R_{jm}) \]

其中,\(b_{jm}\)為預測值,\(I(.)\)為指示函數。那么,式子\eqref{eq:update}可以改寫為

\[f_m(x) = f_{m-1}(x) + \sum_j \gamma_{jm} I(x \in R_{jm}) \]

GBDT的算法步驟如下圖所示(圖片來自於 ESL [3]):

為了減小過擬合,通過Shrinkage的方式:

\[f_m(x) = f_{m-1}(x) + \upsilon \cdot \gamma_m h_m(x) \]

其中,\(\upsilon\)稱之為學習率 (learning rate)。經驗表明:當學習率\(\upsilon < 0.1\)時,泛化能力遠遠超過沒有Shrinkage的模型(即\(\upsilon =1\))。但是,低學習率同時也帶來了更多的迭代次數。

sklearn包GradientBoostingRegressor實現了回歸GBDT(分類用GradientBoostingClassifier),參數如下

loss: 損失函數,默認為平方損失ls
learning_rate: 學習率
n_estimators: 基學習器數目
max_depth: 決策樹的最大深度
max_features: 最多特征數

3. 參考資料

[1] Friedman, Jerome H. "Greedy function approximation: a gradient boosting machine." Annals of statistics (2001): 1189-1232.
[2] Friedman, Jerome H. "Stochastic gradient boosting." Computational Statistics & Data Analysis 38.4 (2002): 367-378.
[3] Trevor Hastie, Robert Tibshirani, Jerome H. Friedman. The elements of statistical learning. Springer, Berlin: Springer series in statistics, 2009.
[4] Cheng Li, A Gentle Introduction to Gradient Boosting.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM