隨機森林 算法過程及分析


簡單來說,隨機森林就是Bagging+決策樹的組合(此處一般使用CART樹)。即由很多獨立的決策樹組成的一個森林,因為每棵樹之間相互獨立,故而在最終模型組合時,每棵樹的權重相等,即通過投票的方式決定最終的分類結果。

隨機森林算法主要過程:

1、樣本集的選擇。

  假設原始樣本集總共有N個樣例,則每輪從原始樣本集中通過Bootstraping(有放回抽樣)的方式抽取N個樣例,得到一個大小為N的訓練集。在原始樣本集的抽取過程中,可能有被重復抽取的樣例,也可能有一次都沒有被抽到的樣例。

  共進行k輪的抽取,則每輪抽取的訓練集分別為T1,T2,…,Tk。

2、決策樹的生成

  假如特征空間共有D個特征,則在每一輪生成決策樹的過程中,從D個特征中隨機選擇其中的d個特征(d<D)組成一個新的特征集,通過使用新的特征集來生成決策樹。

  在k輪中共生成k個決策樹,由於這k個決策樹在訓練集的選擇和特征的選擇上都是隨機的,因為這k個決策樹之間是相互獨立的。

3、模型的組合

  由於生成的k個決策樹之間是相互獨立的,每個決策樹的重要性是相等的,因而在將它們進行組合時,無需考慮他們的權值,或者可以認為他們具有相同的權值。對於分類問題,最終的分類結果使用所有的決策樹投票來確定最終分類結果;對於回歸問題,使用所有決策時輸出的均值來作為最終的輸出結果。

4、模型的驗證

  模型的驗證需要驗證集,而在此我們無需專門額外的獲取驗證集,只需要從原始樣本集中選擇沒有被使用過的樣例即可。

  在從原始樣本中選擇訓練集時,存在部分樣例一次都沒有被選中過,在進行特征選擇時,也可能存在部分特征未被使用的情況,我們只需將這些未被使用的數據拿來驗證最終的模型即可。

5、總結

主要有幾個方面的特性:

  1)有兩個隨機抽取過程:分別為從原始樣本集中隨機抽取訓練集,和決策樹的特征選擇上隨機抽取部分特征生成決策樹。

  2)各決策樹之間的相互獨立性。因為相互獨立,故而在決策樹的生成過程可以並行進行,大大提高了算法的時間效率。

 

6、在線隨機森林(online Random Forests)

  與普通的隨機森林的區別就是樹的不同,在線隨機森林的每棵樹都是在線隨機決策樹。

  由於研究的不夠清楚就先不寫了!

 

參考文獻: 

[1] 李航,統計學習方法。

[2] BIGBIGBOAT, http://www.cnblogs.com/liqizhou/archive/2012/05/10/2494558.html

[3] Saffari etc. On-line Random Forests, iccv.

http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5457447

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM