1. 程式人生 > >GBDT與RF的區別與聯絡

GBDT與RF的區別與聯絡

GBDT和RF簡介

GBDT(Gradient Boosting Decision Tree)

DT + Boosting = GBDTGBDT是一種boosting演算法。boosting工作機制:先從初始訓練集訓練處一個基學習器,然後在根據基學習器的表現對訓練樣本分佈進行調整,使得先前的基學習器做錯的訓練樣本在後續獲得更多關注(增加錯誤樣本權重),然後基於調整後的樣本分佈訓練下一個基學習器,如此重複,直到基學習器達到指定的T時,最終將T個基學習器進行加權結合,得出預測。

RF(Random Forest)

DT + Bagging = RF隨機森林是bagging的一種擴充套件,在k個數據集選擇的時候後,引入了隨機屬性選擇。加入所有屬性個數為d,k是隨機選擇的屬性個數。那麼k=d的時候,就沒有改變。那麼k=1的時候後,隨機選擇一個屬性用於計算。推薦的k=log2d.
隨機森林的基學習器一般是決策樹演算法-主要,也有神經網路。 
隨機森林是對bagging演算法的一點改動,但是根能提現樣本集之間的差異性。會提高最終預測結果的泛化能力。

GBDT和隨機森林的相同點

1、都是由多棵樹組成
2、最終的結果都是由多棵樹一起決定

GBDT和隨機森林的不同點

1、組成隨機森林的樹可以是分類樹,也可以是迴歸樹;而GBDT只由迴歸樹組成
2、組成隨機森林的樹可以並行生成;而GBDT只能是序列生成
3、對於最終的輸出結果而言,隨機森林採用多數投票等;而GBDT則是將所有結果累加起來,或者加權累加起來
4、隨機森林對異常值不敏感,GBDT對異常值非常敏感
5、隨機森林對訓練集一視同仁,GBDT是基於權值的弱分類器的整合
6、隨機森林是通過減少模型方差提高效能,GBDT是通過減少模型偏差提高效能

參考文獻

周志華《機器學習》