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