【機器學習基礎】隨機森林算法

引入

我們回顧一下之前學習的兩個算法连霉,Bagging算法中榴芳,通過bootstrapping得到不一樣的數據,通過這些數據送到一個基本算法之后跺撼,得到不同的g窟感,最后對這些g取平均得到G;決策樹算法中歉井,通過遞歸方式建立子樹柿祈,最終得到一棵完整的樹。
這兩種算法都有其鮮明的特點哩至,決策樹對于不同的數據相對會敏感一些躏嚎,即其算法的variance很大,而Bagging的特點是通過投票和平均的方式來降低variance的效果菩貌。如果將這兩種方法結合起來卢佣,就是該文要介紹的隨機森林,random forest菜谣。

1. 隨機森林算法


隨機森立算法中的“隨機”一詞是指通過Bagging中的bootstrapping得到不同的數據珠漂,進而體現出來的隨機性,而得到這筆數據用來送進CART算法訓練得到一棵樹尾膊,最后將所得的樹做平均得到最終結果媳危。

并行計算的可能性:隨機森林算法從Bagging過程中可以分配到不同的計算機中進行計算,每臺計算機可以獨立學習一棵樹冈敛,不同的樹之間沒有任何依賴關系待笑。這使得Bagging過程很容易實現并行化。

2. 特征投影(Feature Projection)

在Bagging算法中抓谴,通過bootstrap在原來的數據中進行抽樣暮蹂,來得到不同的數據集,從而產生不同的g癌压。
在隨機森林的算法中仰泻,除了在數據集中做抽取之外,還可以在特征這一角度進行抽取滩届。舉個例子集侯,如果事先我們有100個特征,現在我們可以抽取10個特征來訓練一棵樹,這樣的方式我們也可以得到很不一樣的樹棠枉,其對于分類的標準顯然也很不一樣浓体。
這種特征抽取的方式相當于在原來特征的100個維度中,隨機選取10個維度辈讶,這等效于一個特征轉換命浴,這個過程中,從100維度到10個維度的轉換中贱除,相當于作了低維度的投影(Projection)生闲。
得到的特征實際上是原始特征的隨機子集,這使得生成模型過程中的效率也大大提高了勘伺。


3. 特征擴展(Feature Expansion)

上面介紹的特征投影等效于對原來的特征向量左乘一個投影矩陣Φ(x) = P·x跪腹,得到的特征抽樣是隨機選取的原始特征。現在我們可以嘗試更加復雜飞醉、有能力的投影方式冲茸。
更加有能力的特征投影就是不再單一選取單一維度的特征,而是將多個維度的特征進行組合缅帘,得到新的一維的特征轴术,這稱為特征擴展。

4. Out-Of-Bag Estimate

在bootstrapping的過程中钦无,有些數據可能沒有被選擇逗栽,這些數據稱為out-of-bag(OOB) examples,對于訓練每一個gt失暂,其中用“”標注的數據即是gt的OOB examples彼宠。


下面的公式是經過N'次選擇之后沒有被選擇的數據,大約有(1/e)
N多的數據沒有被選擇到弟塞,即大約有三分之一的數據沒有被選擇凭峡,這些數據由于沒有用來訓練模型,故可以用于模型的驗證决记。

在隨機森林的算法中摧冀,我們不太需要使用OOB數據來驗證每個g的性能,因為即使g的能力很差系宫,最終進行平均得到的G的性能也可能會很好索昂。但這些OOB數據可以用來驗證G的性能。


上圖中扩借,(xN,yN)這一個數據由于沒有用于g2椒惨,g3,gT的訓練數據潮罪,故可以用來作為它們的驗證數據框产。所以(xN,yN)可以作為G-的驗證數據凄杯,其中G-(x)=average(g2, g3, gT)
下面給出了OOB Error(Eoob)的公式秉宿,G的OOB Error的估算是通過不同的G-來平均得到的,所以屯碴,在bootstrap的過程就可以自己去驗證模型的性能好壞描睦,不需要單獨劃分一塊數據作為專門的驗證數據。

下面是隨機森林算法中使用OOB Error進行驗證的方法:


5. 特征選擇(Feature Selection)

接下來要介紹的特征選擇导而,其目的主要是使用程序來自動選擇需要的特征忱叭,而將冗余的、不相關的特征忽略掉今艺。
優(yōu)點:特征選擇由于舍去了不必要的特征韵丑,使得模型復雜度大大降低,可以簡化假設虚缎,縮短預測時間撵彻;同時,舍去了特征的噪聲实牡,可以提高模型的泛化能力陌僵,使得模型不容易對噪聲過擬合;最后创坞,由于選擇出來的特征具有很好的物理意義碗短,其結果可以作很好的解釋。
缺點:特征的選擇計算量大题涨;如果選出來的特征是噪聲的話偎谁,可能會導致過擬合;如果選擇了噪聲特征纲堵,得到的解釋可能只是數據之中的關聯性巡雨,而非因果性。

5.1 Permutation Test

上面說的特征選擇是如何選擇特征的組合方式的問題婉支,為了解決這個問題鸯隅,我們暫不考慮特征之間的相關關系,而是為每個特征打一個分數向挖,表示特征的重要性蝌以,然后按照重要性進行排序,選擇最重要的前K個特征作為選取出來的特征何之。
由于隨機森林算法是一個非線性的模型跟畅,我們不能單純以線性模型中的權重作為衡量特征重要性的標準,所以下面要介紹的稱為Permutation Test的方法來判別特征的權重溶推。

Permutation Test的方法是通過將第i個維度特征的所有數據重新的隨機調整位置徊件,然后比較一下原始數據和調整之后的數據表現的差距奸攻,來評價這個維度的特征是有多么重要。


5.2 在Out-Of-Bag Estimate過程中做Permutation Test

在隨機森林中可以用OOB代替驗證的過程虱痕,為了簡化Permutation Test帶來的重新進行訓練的代價睹耐,我們在使用OOB Example(bootstrap過程中沒有選取的數據)進行驗證的過程中做一些修改,即在驗證的時候去進行Permutation Test部翘,而非訓練時進行硝训。
在求Eoob(G)時,我們通過G-(xn)來計算新思,我們在這里將x(n)修改成x(n,i)窖梁,就可以不用對G進行修改了。


在實際應用中夹囚,面對非線性的問題時纵刘,可以通過隨機森林的方法來進行初步的特征選擇。

參考資料

機器學習技法課程荸哟,林軒田假哎,臺灣大學

轉載請注明作者Jason Ding及其出處
GitCafe博客主頁(http://jasonding1354.gitcafe.io/)
Github博客主頁(http://jasonding1354.github.io/)
CSDN博客(http://blog.csdn.net/jasonding1354)
簡書主頁(http://www.reibang.com/users/2bd9b48f6ea8/latest_articles)
Google搜索jasonding1354進入我的博客主頁

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市敲茄,隨后出現的幾起案子位谋,更是在濱河造成了極大的恐慌,老刑警劉巖堰燎,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件掏父,死亡現場離奇詭異,居然都是意外死亡秆剪,警方通過查閱死者的電腦和手機赊淑,發(fā)現死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來仅讽,“玉大人陶缺,你說我怎么就攤上這事〗嗔椋” “怎么了饱岸?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長徽千。 經常有香客問我苫费,道長,這世上最難降的妖魔是什么双抽? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任百框,我火速辦了婚禮,結果婚禮上牍汹,老公的妹妹穿的比我還像新娘铐维。我一直安慰自己柬泽,他們只是感情好,可當我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布嫁蛇。 她就那樣靜靜地躺著锨并,像睡著了一般。 火紅的嫁衣襯著肌膚如雪睬棚。 梳的紋絲不亂的頭發(fā)上琳疏,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天,我揣著相機與錄音闸拿,去河邊找鬼。 笑死书幕,一個胖子當著我的面吹牛新荤,可吹牛的內容都是我干的。 我是一名探鬼主播台汇,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼苛骨,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了苟呐?” 一聲冷哼從身側響起痒芝,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎牵素,沒想到半個月后严衬,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡笆呆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年请琳,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赠幕。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡俄精,死狀恐怖,靈堂內的尸體忽然破棺而出榕堰,到底是詐尸還是另有隱情竖慧,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布逆屡,位于F島的核電站圾旨,受9級特大地震影響,放射性物質發(fā)生泄漏康二。R本人自食惡果不足惜碳胳,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望沫勿。 院中可真熱鬧挨约,春花似錦味混、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至夕土,卻和暖如春馆衔,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背怨绣。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工角溃, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人篮撑。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓减细,卻偏偏與公主長得像,于是被迫代替她去往敵國和親赢笨。 傳聞我的和親對象是個殘疾皇子未蝌,可洞房花燭夜當晚...
    茶點故事閱讀 45,033評論 2 355

推薦閱讀更多精彩內容