ML《整合學習(四)Boosting之迴歸樹、提升樹和GBDT》
GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Additive Regression Tree),是一種迭代的決策樹演算法,該演算法由多棵決策樹組成,所有樹的結論累加起來做最終答案。它在被提出之初就和SVM一起被認為是泛化能力較強的演算法。
GBDT中的樹是迴歸樹(不是分類樹),GBDT用來做迴歸預測,調整後也可以用於分類。
GBDT的思想使其具有天然優勢可以發現多種有區分性的特徵以及特徵組合。
一:迴歸樹
我們先來回顧下那個迴歸樹,這個其實我們在CART的學習中學過了的,
迴歸樹演算法如下圖(截圖來自《統計學習方法》5.5.1 CART生成):
最優切分變數x_j,就是切分選擇的那個屬性A,這裡只是幫回顧下曾經學的,j和s是按照最小化和方差來作為評判標準,最後一共有M個區域,也就是M個葉子節點,每一個區域都選擇該區域樣本預測值的平均值來作為該區域的代表值。
其實就是取對應葉子節點的區域的平均值作為輸出。
二:提升樹
提升樹是迭代多棵迴歸樹來共同決策。當採用平方誤差損失函式時,每一棵迴歸樹學習的是之前所有樹的結論和殘差,擬合得到一個當前的殘差迴歸樹,殘差的意義如公式:殘差 = 真實值y - 預測值f(x) 。提升樹即是整個迭代過程生成的迴歸樹的累加。
舉個例子,下面這例子較直觀地展現出多棵決策樹線性求和過程以及殘差的意義。
訓練一個提升樹模型來預測年齡:
訓練集是4個人,A,B,C,D年齡分別是14,16,24,26。樣本中有購物金額、上網時長、經常到百度知道提問等特徵。提升樹的過程如下:
該例子很直觀的能看到,預測值等於所有樹值得累加,如A的預測值 = 樹1左節點 值 15 + 樹2左節點 -1 = 14。
因此,給定當前模型 fm-1(x),只需要簡單的擬合當前模型的殘差。現將回歸問題的提升樹演算法敘述如下:
這裡的f函式是多個弱迴歸樹T加起來的。且最後一次迭代的那個f_M函式是最強的,也是包含了所有的迴歸樹T。
三:GBDT
1:演算法
2:GBDT的損失函式以及相應的負梯度
一共有四個,表示式和負梯度分別是:
3:和提升樹的區別
提升樹模型每一次的提升都是靠上次的預測結果與訓練資料的label值差值作為新的訓練資料進行重新訓練,
GDBT則是將殘差計算替換成了損失函式的梯度方向,將上一次的預測結果帶入梯度中求出本輪的訓練資料,也就是說這兩種模型在生成新的訓練資料時採用了不同的方法。在使用平方誤差損失函式和指數損失函式時,提升樹的殘差求解比較簡單,但是在使用一般的損失誤差函式時,殘差求解起來不是那麼容易,所以就使用損失函式的負梯度在當前模型的值作為迴歸問題中殘差的近似值。
相關文章
- ML《整合學習(二)Boosting之Adaboosting》
- 【Python機器學習實戰】決策樹與整合學習(四)——整合學習(2)GBDTPython機器學習
- 05整合學習-Boosting-GBDT初探
- 淺談樹模型與整合學習-從決策樹到GBDT模型
- 梯度提升樹(GBDT)原理小結梯度
- GBDT(MART)迭代決策樹學習
- 機器學習-樹迴歸機器學習
- 對梯度提升樹GBDT最通俗的介紹梯度
- ML《決策樹(四)Bagging 和 Random Forest》randomREST
- scikit-learn 梯度提升樹(GBDT)調參小結梯度
- 迴歸問題知識樹
- 使用 SVM 和決策樹進行整合學習
- spark Ml 機器學習之 線性迴歸Spark機器學習
- 《機器學習Python實現_10_06_整合學習_boosting_gbdt分類實現》機器學習Python
- 監督學習之迴歸
- 【Python機器學習實戰】決策樹和整合學習(二)——決策樹的實現Python機器學習
- 第十二篇:深入學習高階非線性迴歸演算法 --- 樹迴歸系列演算法演算法
- 【Python機器學習實戰】決策樹和整合學習(一)Python機器學習
- 機器學習 | 詳解GBDT梯度提升樹原理,看完再也不怕面試了機器學習梯度面試
- 【機器學習基礎】GBDT--梯度提升樹例項分析完全解讀機器學習梯度
- ML.NET 示例:深度學習之整合TensorFlow深度學習
- 從線性模型到決策樹再到深度學習的分位數迴歸模型深度學習
- 【Python機器學習實戰】決策樹與整合學習(三)——整合學習(1)Python機器學習
- 迴歸樹(Regression Trees)模型的優缺點模型
- ML.NET 示例:迴歸之價格預測
- ML.NET 示例:迴歸之銷售預測
- 《機器學習Python實現_10_10_整合學習_xgboost_原理介紹及迴歸樹的簡單實現》機器學習Python
- 重學資料結構之樹和二叉樹資料結構二叉樹
- 字典樹學習
- 樹學習(5)
- Gbdt 迭代決策樹入門教程
- *衡樹 Treap(樹堆) 學習筆記筆記
- 迴文樹
- 樹迴歸|理論與演算法實現演算法
- 機器學習之分類迴歸樹(python實現CART)機器學習Python
- 機器學習_用樹迴歸方法畫股票趨勢線機器學習
- 二叉樹遞迴練習二叉樹遞迴
- 樹的學習——樹的儲存結構