機器學習技法-隨機森林(Random Forest)


課程地址:https://class.coursera.org/ntumltwo-002/lecture

重要!重要!重要~

image

一、隨機森林(RF)

1.RF介紹

  • RF通過Bagging的方式將許多個CART組合在一起,不考慮計算代價,通常樹越多越好。
  • RF中使用CART沒有經過剪枝操作,一般會有比較大的偏差(variance),結合Bagging的平均效果可以降低CART的偏差。
  • 在訓練CART的時候,使用有放回的隨機抽取樣本(bootstraping)、隨機的抽取樣本的特征、甚至將樣本特征通過映射矩陣P投影到隨機的子空間等技術來增大g(t)的隨機性、多樣性。

image

2.RF算法結構和優勢

image

二、OOB(Out-Of-Bag)和自驗證(Automatic Validation)

1.RF中使用的有放回的抽樣方式(Bootstrapping)會導致能有些樣本在某次訓練中沒有被使用,沒有被用到的樣本稱為OOB(Out-Of-Bag)。

當樣本集合很大的時候,如果訓練數據的大小和樣本集合的大小相同,那么某個樣本沒有被使用的概率大約為1/3,OOB的大小也約為樣本集合的1/3,下面是具體的數學描述。

image

2.RF Validation

RF 並不注重每棵樹的分類效果,實際中也不會用OOB數據來驗證g(t),而是使用OOB數據來驗證G。

但同時為了保證驗證數據絕對沒有在訓練時“偷窺”,使用的G是去掉與測試的OOB相關的g(t)組成的G-。

最后將所有的OOB測試結果取平均。林說:實際中Eoob通常都會非常精確。

image

三、特征選擇(Feature Selection)和排列檢驗(Permutation Test)

  • 在實際中,當樣本的特征非常多的時候,有時會希望去掉冗余或者與結果無關的特征項,選取相對重要的特征項。
  • 線性模型中,特征項的重要性使用|Wi|來衡量,非線性模型中特征項重要性的衡量一般會比較困難。
  • RF中使用統計中的工具排列檢驗(Permutation Test)來衡量特征項的重要性。
  • N個樣本,每個樣本d個維度,要想衡量其中某個特征di的重要,根據Permutation Test把這N個樣本的di特征項都洗牌打亂,洗牌前后的誤差相減就是該特征項重要性。
  • RF中通常不在訓練時使用Permutation Test,而是在Validation 時打亂OOB的特征項,再評估驗證,獲得特征項的重要性。

image

image

image

四、RF的應用

  • 在簡單數據集上,相比單棵的CART樹,RF模型邊界更加平滑,置信區間(Margin)也比較大
  • 在復雜且有含有噪聲的數據集上,決策樹通常表現不好;RF具有很好的降噪性,相比而言RF模型也會表現得很好
  • RF中選多少棵樹好呢?總的來說是越多越好!!!實踐中,要用足夠多的樹去確保G的穩定性,所以可以使用G的穩定性來判斷使用多少棵樹好。

imageimage


免責聲明!

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



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