|
隨機森林算法,個人的簡單看法,相互討論
隨機森林(Random Forest)是屬于集成學習的一種組合分類算法(確切說是屬于bagging),集成學習的核心思想就是將若干個弱(基)分類器組合起來,得到一個分類性能顯著優越的強分類器。如果各弱分類器之前沒有強依賴關系、可并行生成,就可以使用隨機森林算法。
隨機森林利用自主抽樣法(bootstrap)從原數據集中有放回地抽取多個樣本,對抽取的樣本先用弱分類器—決策樹進行訓練,然后把這些決策樹組合在一起,通過投票得出最終的分類或預測結果。
隨機森林的生成方法
從樣本集中通過重采樣的方式產生n個樣本。
建設樣本特征數目為a,對n個樣本選擇a中的k個特征,用建立決策樹的方式獲得最佳分割點。
重復m次,產生m棵決策樹。
多數投票機制進行預測。
隨機森林中的隨機是什么意思?
隨機森林中的隨機性主要體現在兩個方面:
隨機采樣:隨機森林在計算每棵樹時,從全部訓練樣本(樣本數為n)中選取一個可能有重復的、大小同樣為n的數據集進行訓練(即booststrap采樣)。
特征選取的隨機性:在每個節點隨機選取所有特征的一個子集,用來計算最佳分割方式。
隨機森林的優點:
表現性能好,與其他算法相比有著很大優勢。
隨機森林能處理很高維度的數據(也就是很多特征的數據),并且不用做特征選擇。
在訓練完之后,隨機森林能給出哪些特征比較重要。
訓練速度快,容易做成并行化方法(訓練時,樹與樹之間是相互獨立的)。
在訓練過程中,能夠檢測到feature之間的影響。
對于不平衡數據集來說,隨機森林可以平衡誤差。當存在分類不平衡的情況時,隨機森林能提供平衡數據集誤差的有效方法。
如果有很大一部分的特征遺失,用RF算法仍然可以維持準確度。
隨機森林算法有很強的抗干擾能力(具體體現在6,7點)。所以當數據存在大量的數據缺失,用RF也是不錯的。
隨機森林抗過擬合能力比較強(雖然理論上說隨機森林不會產生過擬合現象,但是在現實中噪聲是不能忽略的,增加樹雖然能夠減小過擬合,但沒有辦法完全消除過擬合,無論怎么增加樹都不行,再說樹的數目也不可能無限增加的。)
隨機森林能夠解決分類與回歸兩種類型的問題,并在這兩方面都有相當好的估計表現。(雖然RF能做回歸問題,但通常都用RF來解決分類問題)。
在創建隨機森林時候,對generlization error(泛化誤差)使用的是無偏估計模型,泛化能力強。
隨機森林的缺點:
隨機森林在解決回歸問題時,并沒有像它在分類中表現的那么好,這是因為它并不能給出一個連續的輸出。當進行回歸時,隨機森林不能夠做出超越訓練集數據范圍的預測,這可能導致在某些特定噪聲的數據進行建模時出現過度擬合。(PS:隨機森林已經被證明在某些噪音較大的分類或者回歸問題上回過擬合)。
對于許多統計建模者來說,隨機森林給人的感覺就像一個黑盒子,你無法控制模型內部的運行。只能在不同的參數和隨機種子之間進行嘗試。
可能有很多相似的決策樹,掩蓋了真實的結果。
對于小數據或者低維數據(特征較少的數據),可能不能產生很好的分類。(處理高維數據,處理特征遺失數據,處理不平衡數據是隨機森林的長處)。
執行數據雖然比boosting等快(隨機森林屬于bagging),但比單只決策樹慢多了。
|
-
-
算法分析.docx
2019-11-13 17:31 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
13.23 KB, 下載次數: 2, 下載積分: 黑幣 -5
評分
-
查看全部評分
|