GBDT模型本質理解

GBDT,英文全稱:Gradient Boosting Decision Tree,屬于Ensemble Learning的范疇,在回歸和分類問題上的良好性能受到工業界和機器學習比賽的青睞。之前對GBDT的理解總是模模糊糊的,這篇文章梳理下GBDT的原理。

任何的機器學習問題本質上是損失函數的優化問題。GBDT也不例外,籠統的說,通過串聯多棵CART回歸樹,完成Loss Function基于F(x)的optimize。如下式:

上式表達的意思是L在F空間做優化,找到最貼近真實分布的F。這與一般的機器學習問題的求解方式有所不同,一般的是直接求解L在x空間做優化。我們做個類比:

基于參數空間的optimize,通過梯度下降的方式,一步一步逼近Loss最低點。同樣地,基于函數空間的梯度下降,即每次基于當前的函數模型做梯度下降,求出增量函數部分。然后將每一次得出的函數增量部分相加,就能得到Loss低點對應的函數。GBM的算法步驟如下:



其中,T為CART的數目。關鍵部分是公式2.1,表示L對F在Ft-1處的負偏導。2.2式表示第t棵樹的學習過程,可以看出第t棵樹擬合的是公式2.1給出的負偏導。有人可能會有疑問,那”殘差“是啥?殘差是L對F的負偏導的特例。一般而言,回歸樹使用的是均方誤差,而當L為均方誤差時,負偏導就是我們認為的”殘差“的形式。2.3式是選擇步長,2.4式闡明,第t棵樹是步長乘以負偏導。這里有個很重要的認識,高數中曾經學過泰勒公式,如下:

可以看出,第t棵樹擬合的其實是L對F在前t-1個f累加處的一階泰勒展開。圖中x0對應著f0+f1+...+ft-1,后面正好是步長乘偏導的形式,步長學習的是x0-x。
這是general GBDT,后來陳天奇大神做了改進,加入了正則項和擬合泰勒二階展開,效果與性能更進一步。
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容