4 提公升之梯度提公升樹(GBDT)

2021-09-11 11:48:38 字數 1148 閱讀 8836

提公升方法採用加法模型與前向分步演算法,是以決策樹為基分類器。

ps:這裡的決策樹指cart樹。

主要思想:對於提公升樹演算法,簡單來說就是每一步會擬合前一步的殘差。

ps:只有當損失函式是均方誤差的時候,每一步是擬合的殘差,對於其他損失函式卻不是。

提公升樹模型:

計算每個資料的殘差:

通過殘差學習一顆回歸樹:

(構建樹的過程)

然後更新樹模型:

一直迭代直到構建出m顆樹!

引出gbdt:

在原有提公升樹上進行改進,在一些複雜的損失函式上我們並不能得到殘差,為了解決這一問題引出了使用梯度的負方向來擬合殘差並且適用於各種複雜的損失函式。

ps:梯度的負方向思想類似於梯度下降法,減去梯度方向相當於加上乙個負梯度方向。

ps:基分類器僅支援cart樹。

構建基分類器的過程:

首先gbdt對分類和回歸問題進行了統一,回歸因為標籤有大小的意義利用殘差有物理意義,分類的標籤沒有大小意義但是通過轉化為概率的問題可以解決。

其次構建的時候每次**節點都會遍歷每乙個特徵和對應的所有切分點找出最好的特徵和對應的切分點。

ps:多分類問題,通過訓練k個二分類模型。

ps:構建的過程也適用於提公升樹。

ps:構建的過程基於深度優先或者廣度優先構建樹。

計算每個資料的負梯度:

擬合負梯度,來構建一顆樹:

(構建樹的過程)

更新梯度提公升樹模型:

一直迭代直到構建出m顆樹!

gbdt用於構造特徵:一共記錄m個葉子節點和k個模型,只要該樣本落在第i顆樹對應的葉子節點那麼就把該節點的值置為1,代表這個樣本在對應的葉子節點位置出現過。

ps:最終可以構建k*m個特徵。

梯度提公升樹GBDT

上一節我們講了adaboost,而提公升樹也是提公升方法的一種,它的基分類器為分類樹或者回歸樹。ps 首先我們講一下殘差的概念 殘差是指實際值和估計值之間的差,就是相減。一般提公升樹的模型的損失函式是平方損失和對數損失,所以優化很簡單。但是對一般損失函式而言就有困難,所以又有了梯度提公升演算法,然後...

gbdt梯度提公升樹

這採用boosting的思想,把表現一般的學習器通過一定的方法結合成效果相對比較好的學習器 gbdt是提公升樹的一種,是多棵樹的加權結果。採用的是分類回歸樹 cart 樹的劃分採用基尼係數。採用前向分布演算法 1 gbdt為什麼是用負梯度代替殘差?首先這是邏輯上顛倒的錯誤。實質沒有明白gbdt是怎麼...

梯度提公升樹GBDT

gbdt全稱gradient boosting decision tree,即用gradient boosting策略訓練出來的決策樹模型。模型的結果是一組cart樹 回歸分類樹 的組合 t 1,t k 其中 t j 學習的是之前 j 1 棵樹 結果的殘差。這種思想就像準備考試前的複習,先做一遍習題...