機器學習十大經典算法——隨機森林

前言:陸陸續續已經更新到集成學習了,再有三四期這個系列也就結束了,慢慢的發現博客就是爲自己寫的,爲的博客有點高產,主要是一些接的單子,主要是爲了方便下次接單,感覺最近學的有點迷茫了,走人工智能的話要高學歷,走大數據開發又要學hadoop這些java框架,我裂開了呀,機器學習學完也就要進階深度學習了,加油。

1.什麼是隨機森林

利用多棵樹對樣本進行訓練並預測的一種分類器

其實就是決策樹的升級版本,但是與決策樹不同的是進行集成學習,在Bagging策略的基礎上進行修改後的一種算法,過程爲

1:從樣本集中用Bootstrap採樣選出n個樣本;
2:從所有屬性中隨機選擇K個屬性,選擇出最佳分割屬性作爲節點創建決策樹;
3:重複以上兩步m次,即建立m棵決策樹;
4:這m個決策樹形成隨機森林,通過投票表決結果決定數據屬於那一類

在這之前就要說明什麼是集成學習

2.集成學習

集成學習的思想是將若干個學習器(分類器&迴歸器)組合之後產生一個新學習器。弱分類器(weak learner)指那些分類準確率只稍微好於隨機猜測的分類器(error rate < 0.5);常見的集成學習思想有:Bagging Boosting Stacking

2.1 Bagging方法

Bagging方法又叫做自舉匯聚法(Bootstrap Aggregating),思想是:在原始數據集上通過有放回的抽樣的方式,重新選擇出S個新數據集來分別訓練S個分類器的集成技術。也就是說這些模型的訓練數據中允許存在重複數據。
Bagging方法訓練出來的模型在預測新樣本分類的時候,會使用多數投票或者求均值的方式來統計最終的分類結果。
Bagging方法的弱學習器可以是基本的算法模型,eg: Linear、Ridge、Lasso、Logistic、Softmax、ID3、C4.5、CART、SVM、KNN等。
Bagging方式是有放回的抽樣,並且每個子集的樣本數量必須和原始樣本數量一致,但是子集中允許存在重複數據。

 

RF的推廣算法

RF算法在實際應用中具有比較好的特性,應用也比較廣泛,主要應用在:分類、迴歸、特徵轉換、異常點檢測等。常見的RF變種算法如下:
Extra Tree
Totally Random Trees Embedding(TRTE)
Isolation Forest

RF隨機森林總結

RF的主要優點:
1. 訓練可以並行化,對於大規模樣本的訓練具有速度的優勢;
2. 由於進行隨機選擇決策樹劃分特徵列表,這樣在樣本維度比較高的時候,仍然具有比較高
的訓練性能;
3. 給以給出各個特徵的重要性列表;
4. 由於存在隨機抽樣,訓練出來的模型方差小,泛化能力強;
5. RF實現簡單;
6. 對於部分特徵的缺失不敏感。
RF的主要缺點:
1. 在某些噪音比較大的特徵上,RF模型容易陷入過擬合;
2. 取值比較多的劃分特徵對RF的決策會產生更大的影響,從而有可能影響模型的效果。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章