課程地址:https://class.coursera.org/ntumltwo-002/lecture
重要!重要!重要~
一、隨機森林(RF)
1.RF介紹
- RF通過Bagging的方式將許多個CART組合在一起,不考慮計算代價,通常樹越多越好。
- RF中使用CART沒有經過剪枝操作,一般會有比較大的偏差(variance),結合Bagging的平均效果可以降低CART的偏差。
- 在訓練CART的時候,使用有放回的隨機抽取樣本(bootstraping)、隨機的抽取樣本的特征、甚至將樣本特征通過映射矩陣P投影到隨機的子空間等技術來增大g(t)的隨機性、多樣性。
2.RF算法結構和優勢
二、OOB(Out-Of-Bag)和自驗證(Automatic Validation)
1.RF中使用的有放回的抽樣方式(Bootstrapping)會導致能有些樣本在某次訓練中沒有被使用,沒有被用到的樣本稱為OOB(Out-Of-Bag)。
當樣本集合很大的時候,如果訓練數據的大小和樣本集合的大小相同,那么某個樣本沒有被使用的概率大約為1/3,OOB的大小也約為樣本集合的1/3,下面是具體的數學描述。
2.RF Validation
RF 並不注重每棵樹的分類效果,實際中也不會用OOB數據來驗證g(t),而是使用OOB數據來驗證G。
但同時為了保證驗證數據絕對沒有在訓練時“偷窺”,使用的G是去掉與測試的OOB相關的g(t)組成的G-。
最后將所有的OOB測試結果取平均。林說:實際中Eoob通常都會非常精確。
三、特征選擇(Feature Selection)和排列檢驗(Permutation Test)
- 在實際中,當樣本的特征非常多的時候,有時會希望去掉冗余或者與結果無關的特征項,選取相對重要的特征項。
- 線性模型中,特征項的重要性使用|Wi|來衡量,非線性模型中特征項重要性的衡量一般會比較困難。
- RF中使用統計中的工具排列檢驗(Permutation Test)來衡量特征項的重要性。
- N個樣本,每個樣本d個維度,要想衡量其中某個特征di的重要,根據Permutation Test把這N個樣本的di特征項都洗牌打亂,洗牌前后的誤差相減就是該特征項重要性。
- RF中通常不在訓練時使用Permutation Test,而是在Validation 時打亂OOB的特征項,再評估驗證,獲得特征項的重要性。
四、RF的應用
- 在簡單數據集上,相比單棵的CART樹,RF模型邊界更加平滑,置信區間(Margin)也比較大
- 在復雜且有含有噪聲的數據集上,決策樹通常表現不好;RF具有很好的降噪性,相比而言RF模型也會表現得很好
- RF中選多少棵樹好呢?總的來說是越多越好!!!實踐中,要用足夠多的樹去確保G的穩定性,所以可以使用G的穩定性來判斷使用多少棵樹好。