天天看點

機器學習方法篇(9)------梯度提升決策樹GBDT導語GBDT結語

● 每周一言

生命在于運動,無論腦力還是體力。

導語

前面第3、4兩節介紹了決策樹,由于決策樹簡單有效,可解釋性強,是以被包裝成了一些更為高效的機器學習算法,其中最為知名的就是梯度提升決策樹GBDT(Gradient Boosting Decision Tree)和随機森林(Random Forest)這兩種模型。本節講解GBDT,講講這個在各大競賽中熾手可熱的模型。

GBDT

G-B-D-T梯度提升決策樹,顧名思義,是一個與梯度有關、對決策樹進行了提升的機器學習模型。我們不妨從後往前依次聊聊GBD這幾個定語,進而了解這個模型的精髓。

機器學習方法篇(9)------梯度提升決策樹GBDT導語GBDT結語

DT(Decision Tree) 決策樹。 T自不必多說,作為一種常見的資料結構出現在各種算法當中。DT決策樹,有分類樹與回歸樹兩種,之前文章中講到了分類樹,可參見 機器學習方法篇(3)——決策樹入門 與 機器學習方法篇(4)——決策樹剪枝。回歸樹原理機制與分類樹相似,差別在于分類樹隻有在葉子結點傳回唯一分類,而回歸樹的每個節點都能傳回預測值,通常為目前節點下所有樣本的均值。

B(Boosting) 提升。即在原來模型的基礎之上做進一步提升,提升決策樹BDT的基本思想是采用多棵決策樹串行模組化。具體過程為,對于第一棵樹之後的每一棵決策樹,都基于前一棵決策樹的輸出進行二次模組化,整個串行模組化過程相當于對預測結果朝目标值進行修正。

G(Gradient) 梯度。梯度的大小反映了目前預測值與目标值之間的距離。是以,上面B所述的串行決策樹模型,除開第一棵決策樹使用原始預測名額建樹,之後的每一棵決策樹都用前一棵決策樹的預測值與目标值計算出來的負梯度(可以了解為殘差或者增量)來建樹。這相當于給分錯的樣本權重多次分類,使樣本最終的殘差趨近于0。除開第一棵樹的其他樹,由于都是對目标的殘差或增量進行模組化預測,是以GBDT模型隻需把過程中每一棵決策樹的輸出結果累加,便可得到最終的預測輸出。

機器學習方法篇(9)------梯度提升決策樹GBDT導語GBDT結語

這裡借用網上流傳較廣的一個預測年齡的例子來描述GBDT的過程。一共4個樣本:

A(消費較高、經常被學弟問問題)27歲

B(消費較高、經常問學長問題) 23歲

C(消費較低、經常被學弟問問題)17歲

D(消費較低、經常問學長問題)13歲

串行決策樹建構如下圖所示。可知模型拟合情況,A的年齡為25 + 2 = 27歲,B的年齡為25 - 2 = 23歲,C為15 +2 = 17歲,D為15 - 2 = 13歲。

機器學習方法篇(9)------梯度提升決策樹GBDT導語GBDT結語

綜上,一句話概括GBDT的核心思想就是: 串行訓練n(n > 2)棵決策樹,其中第i(1 < i ≤ n)棵樹學習第i - 1棵樹的負梯度(可了解為殘差或增量),n棵樹的輸出結果累加作為最終輸出結果。敬請期待下節内容。

結語

感謝各位的耐心閱讀,後續文章于每周日奉上,敬請期待。歡迎大家關注小鬥公衆号 對半獨白!

機器學習方法篇(9)------梯度提升決策樹GBDT導語GBDT結語

繼續閱讀