天天看點

【ML筆記】梯度提升決策樹(GBDT)和随機森林(RF)的異同

GBDT和RF簡介

GBDT(Gradient Boosting Decision Tree)

DT + Boosting = GBDT GBDT是一種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是通過減少模型偏差提高性能

參考文獻

周志華《機器學習》

http://blog.csdn.net/wangqi880/article/details/70208101

http://www.cnblogs.com/LeftNotEasy/archive/2011/03/07/random-forest-and-gbdt.html

繼續閱讀