論文筆記:GREEDY FUNCTION APPROXIMATION: A GRADIENT BOOSTING MACHINE


     

       Boost是集成學習方法中的代表思想之一,核心的思想是不斷的迭代。boost通常采用改變訓練數據的概率分布,針對不同的訓練數據分布調用弱學習算法學習一組弱分類器。在多次迭代的過程中,當前次迭代所用的訓練數據的概率分布會依據上一次迭代的結果而調整。也就是說訓練數據的各樣本是有權重的,這個權重本身也會隨着迭代而調整。Adaboost(后面補一篇介紹這個的文章吧)在迭代的過程中通過不斷調整數據分布的權重來達到提高性能的目的,GBM(Gradient Boosting Machine)則是在迭代的過程中,新的模型建立在之間建立模型損失函數的梯度下降方向上,為什么這么做是有效的,數學語言是最嚴謹的,讓我們從數學的角度出發理解一下。

  從數值優化的角度入手。對於加性模型$F(X|\Theta) $,我們通過優化$\Theta$得到模型的最優解

$$ \theta^* = \mathop{\arg\min}_{\theta} \ \mathrm{L} (\theta).$$

其中,$\mathrm{L}(\theta) = E_(y,x)\mathrm{L}(y,F(X|\Theta))$ ,那么對於$F(X|\Theta) $其最優解為$F^*(x) =F(x|\Theta^*) $ 。由於$F(X|\Theta) $是個加性模型,通常有$P^* = \sum_{i = 0}^m p_i$。在優化P的過程中,對於迭代的第m步驟,我們以前獲得了m-1個模型,在計算第m個模型的時候,我們要對前m-1個模型的集成求梯度,$g_m$為求得的梯度如下所示$$g_m=\{g_{jm}\} = \{{\big[\frac{\partial{\phi(P)}}{\partial{P_j}}\big]_{p = p_{(m-1)}}}\}$$其中$$P_{m-1} = \sum_{i=0}^{m-1} P_i$$求出梯度之后,我們更新$$p_m = -\rho_mg_m$$其中,$$\rho_m = \mathop{\arg\min}_\rho\ L(P_{m-1}-\rho{g_m})$$

簡單整理一下,對於加性模型$F(X|\Theta) $,我們通過對損失函數$L(\theta)$求得$\theta$沿着最優解下降的方向$g_m$,為了確定下降的步長,也就是$\rho$,我們構造一個關於$P_{m-1}+p_m$的損失函數,其中$p_m = -\rho{g_m}$。確定了梯度$g_m$以及在該梯度下的步長$\rho$,$p_m$也就求解出來了。

  上述的推導過程中,建立在訓練的數據集是連續無窮的情況下,對於有限的數據集合在計算$g_m$的過程中,求出的最優解$F^*(X)$對應的點不一定是我們訓練集中的點。簡單來說就是對於前m-1個模型計算出來的梯度對於有限的訓練數據集,並不能直接作為新的基學習器的梯度方向。為了解決這個問題,論文預先假設一個先驗分布$h(x_i;a)$,通過最小化損失函數的方式讓$h(x_i;a)$逼近預先計算好的梯度$g_m$,論文中用的損失函數是MSE,過程如下所示$$a_m=\mathop{\arg\min}_{a,\beta} \sum_{i=1}^N[{-g_m(x_i)-\beta{h(x_i;a)}}]^2 $$

整體的GBM算法流程如下所示

第三步對應的便是求前m-1個模型的梯度, 第四步根據球出來的梯度通過最小化損失函數的方法讓基模型(h(x;a))逼近梯度下降的方向,第五步也是通過最小化集成的函數預測結果與label的損失也確定第k個基模型的權重。

緊扣最小化似然函數這個過程就不難理解這么做的緣由了。

 

2019.9.7 在實際理解GBM的調參過程中發現對CART如何學習以及

如何影響CART的參數的學習並沒有理解清楚.
首先要弄清楚CART學習的參數究竟是什么,這里指的是最優分裂屬性以及分裂屬性值的選擇,外界的干預通過label影響最優划分屬性的選擇,具體的介紹見:https://blog.csdn.net/niuniuyuh/article/details/76922210

 

 
 
 
 
         
 
 
 
 
         


免責聲明!

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



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