前面一節我們提到了adaboost演算法,adaboost演算法可以解決分類問題,通過計算模型每次更新後的誤差率,對資料和模型的權重alpha進行更新。但對於回歸問題,我們就需要使用提公升樹、梯度提公升樹演算法。梯度提公升樹與提公升樹的區別在於,提公升樹採用殘差,而梯度提公升樹採取擬合當前模型損失函式的負梯度(在損失函式為均方誤差的時候,相當於就是殘差,其它誤差函式不一定就是殘差),來生成乙個新的cart回歸樹。並且在gbdt中,只能使用cart回歸樹,所以在在gbdt中,模型的最終**結果就是所有樹的**結果累加(不管是回歸還是分類問題)
(1)初始化弱分類器
(2)for迴圈,對迭代次數m=1,2,......,m,m為迭代的總次數
(a)對i=1,2,......,n,計算負梯度
(b)對
(c)對每乙個葉子節點區域,計算最佳擬合值c(線性搜尋)
(d)更新回歸樹,得到的c和前面m-1棵樹相加
(3)得到最終的回歸樹
從這裡就可以看出,gbdt本質上通過累加"殘差"(打引號的原因是因為gbdt用負梯度近似了提公升樹的殘差)來達到最後生成強學習器的目的。
此外gbdt還能解決二分類問題、多分類問題。
參考部落格:
機器學習(五) GBDT演算法
gbdt也是整合學習boosting家族的成員,gbdt也是迭代,使用了前向分布演算法,但是弱學習器限定了只能使用cart回歸樹模型。在gbdt的迭代中,假設我們前一輪迭代得到的強學習器是 f t 1 x 損失函式是l y,ft 1 x 我們本輪迭代的目標是找到乙個cart回歸樹模型的弱學習器ht ...
機器學習 GBDT演算法梳理
學習任務 前向分步演算法 負梯度擬合 損失函式 回歸二分類,多分類 正則化優缺點 sklearn引數 應用場景 前言 提公升 boosting 方法是整合學習方法的一種,在分類問題中,它通過改變訓練樣本的權重,學習多個分類器,將弱分類器組裝成乙個強分類器,提高分類的效能。其最具代表性的是adaboo...
機器學習 GBDT
在gbdt的迭代中,假設前一輪迭代得到的強學習器 ft 1 x f x ft 1 x 損失函式 l y ft 1 x l y,f x l y,ft 1 x 本輪迭代的目標是找到乙個cart回歸樹模型的弱學習器ht x h t x ht x 讓本輪的損失函式l y ft x l y,f t 1 x h...