隨機森林:是一個包含多個決策樹的分類器, 並且其輸出的類別是由個別樹輸出的類別的眾數而定。隨機森林對回歸的結果在內部是取得平均但是並不是所有的回歸都是取的平均,有些是取的和。
隨機森林里的隨機 | 極限樹/極端隨機樹里的隨機 |
樣本隨機 特征隨機 參數隨機 模型隨機(ID3 ,C4.5) |
特征隨機 參數隨機 模型隨機(ID3 ,C4.5) 分裂隨機 |
ET或Extra-Trees(Extremely randomized trees,極端隨機樹)算法與隨機森林算法十分相似,都是由許多決策樹構成。極限樹與隨機森林的主要區別:
- randomForest應用的是Bagging模型,extraTree使用的所有的樣本,只是特征是隨機選取的,因為分裂是隨機的,所以在某種程度上比隨機森林得到的結果更加好
- 隨機森林是在一個隨機子集內得到最佳分叉屬性,而ET是完全隨機的得到分叉值,從而實現對決策樹進行分叉的。
對於第2點的不同,我們再做詳細的介紹。我們僅以二叉樹為例,當特征屬性是類別的形式時,隨機選擇具有某些類別的樣本為左分支,而把具有其他類別的樣本作為右分支;當特征屬性是數值的形式時,隨機選擇一個處於該特征屬性的最大值和最小值之間的任意數,當樣本的該特征屬性值大於該值時,作為左分支,當小於該值時,作為右分支。這樣就實現了在該特征屬性下把樣本隨機分配到兩個分支上的目的。然后計算此時的分叉值(如果特征屬性是類別的形式,可以應用基尼指數;如果特征屬性是數值的形式,可以應用均方誤差)。遍歷節點內的所有特征屬性,按上述方法得到所有特征屬性的分叉值,我們選擇分叉值最大的那種形式實現對該節點的分叉。從上面的介紹可以看出,這種方法比隨機森林的隨機性更強。
對於某棵決策樹,由於它的最佳分叉屬性是隨機選擇的,因此用它的預測結果往往是不准確的,但多棵決策樹組合在一起,就可以達到很好的預測效果。
當ET構建好了以后,我們也可以應用全部的訓練樣本來得到該ET的預測誤差。這是因為盡管構建決策樹和預測應用的是同一個訓練樣本集,但由於最佳分叉屬性是隨機選擇的,所以我們仍然會得到完全不同的預測結果,用該預測結果就可以與樣本的真實響應值比較,從而得到預測誤差。如果與隨機森林相類比的話,在ET中,全部訓練樣本都是OOB樣本,所以計算ET的預測誤差,也就是計算這個OOB誤差。
參考文獻: