隨機森林屬于集成學(xué)習(xí)(Ensemble Learning)中的bagging算法。在集成學(xué)習(xí)中,主要分為bagging算法和boosting算法。我們先看看這兩種方法的特點和區(qū)別。
Bagging(套袋法)
bagging的算法過程如下:
從原始樣本集中使用Bootstraping方法隨機抽取n個訓(xùn)練樣本,共進(jìn)行k輪抽取,得到k個訓(xùn)練集。(k個訓(xùn)練集之間相互獨立,元素可以有重復(fù))
對于k個訓(xùn)練集,我們訓(xùn)練k個模型(這k個模型可以根據(jù)具體問題而定,比如決策樹,knn等)
對于分類問題:由投票表決產(chǎn)生分類結(jié)果;對于回歸問題:由k個模型預(yù)測結(jié)果的均值作為最后預(yù)測結(jié)果。(所有模型的重要性相同)
Boosting(提升法)
boosting的算法過程如下:
對于訓(xùn)練集中的每個樣本建立權(quán)值wi,表示對每個樣本的關(guān)注度。當(dāng)某個樣本被誤分類的概率很高時,需要加大對該樣本的權(quán)值。
進(jìn)行迭代的過程中,每一步迭代都是一個弱分類器。我們需要用某種策略將其組合,作為最終模型。(例如AdaBoost給每個弱分類器一個權(quán)值,將其線性組合最為最終分類器。誤差越小的弱分類器,權(quán)值越大)
Bagging,Boosting的主要區(qū)別
樣本選擇上:Bagging采用的是Bootstrap隨機有放回抽樣;而Boosting每一輪的訓(xùn)練集是不變的,改變的只是每一個樣本的權(quán)重。
樣本權(quán)重:Bagging使用的是均勻取樣,每個樣本權(quán)重相等;Boosting根據(jù)錯誤率調(diào)整樣本權(quán)重,錯誤率越大的樣本權(quán)重越大。
預(yù)測函數(shù):Bagging所有的預(yù)測函數(shù)的權(quán)重相等;Boosting中誤差越小的預(yù)測函數(shù)其權(quán)重越大。
并行計算:Bagging各個預(yù)測函數(shù)可以并行生成;Boosting各個預(yù)測函數(shù)必須按順序迭代生成。
下面是將決策樹與這些算法框架進(jìn)行結(jié)合所得到的新的算法:
1)Bagging + 決策樹 = 隨機森林
2)AdaBoost + 決策樹 = 提升樹
3)Gradient Boosting + 決策樹 = GBDT








暫無數(shù)據(jù)