隨機森林
出自 MBA智库百科(https://wiki.mbalib.com/)
目錄 |
在機器學習中,隨機森林是一個包含多個決策樹的分類器,並且其輸出的類別是由個別樹輸出的類別的眾數而定。 Leo Breiman和Adele Cutler發展出推論出隨機森林的演算法。而"Random Forests"是他們的商標。這個術語是1995年由貝爾實驗室的Tin Kam Ho所提出的隨機決策森林(random decision forests)而來的。這個方法則是結合Breimans的"Bootstrap aggregating"想法和Ho的"random subspace method" 以建造決策樹的集合。
根據下列演算法而建造每棵樹:
1、用N來表示訓練用例(樣本)的個數,M表示特征數目。
2、輸入特征數目m,用於確定決策樹上一個節點的決策結果;其中m應遠小於M。
3、從N個訓練用例(樣本)中以有放回抽樣的方式,取樣N次,形成一個訓練集(即bootstrap取樣),並用未抽到的用例(樣本)作預測,評估其誤差。
4、對於每一個節點,隨機選擇m個特征,決策樹上每個節點的決定都是基於這些特征確定的。根據這m個特征,計算其最佳的分裂方式。
5、每棵樹都會完整成長而不會剪枝(Pruning,這有可能在建完一棵正常樹狀分類器後會被採用)。
隨機森林的優點有:
- 對於很多種資料,它可以產生高準確度的分類器。
- 它可以處理大量的輸入變數。
- 它可以在決定類別時,評估變數的重要性。
- 在建造森林時,它可以在內部對於一般化後的誤差產生不偏差的估計。
- 它包含一個好方法可以估計遺失的資料,並且,如果有很大一部分的資料遺失,仍可以維持準確度。
- 它提供一個實驗方法,可以去偵測variable interactions。
- 對於不平衡的分類資料集來說,它可以平衡誤差。
- 它計算各例中的親近度,對於數據挖掘、偵測偏離者(outlier)和將資料視覺化非常有用。
- 使用上述。它可被延伸應用在未標記的資料上,這類資料通常是使用非監督式聚類。也可偵測偏離者和觀看資料。
- 學習過程是很快速的。