隨機(jī)森林原理介紹與適用情況(綜述篇)

一句話介紹

隨機(jī)森林是一種集成算法(Ensemble Learning)炉菲,它屬于Bagging類型疲陕,通過(guò)組合多個(gè)弱分類器鞠值,最終結(jié)果通過(guò)投票或取均值墓赴,使得整體模型的結(jié)果具有較高的精確度和泛化性能竞膳。其可以取得不錯(cuò)成績(jī),主要?dú)w功于“隨機(jī)”和“森林”诫硕,一個(gè)使它具有抗過(guò)擬合能力坦辟,一個(gè)使它更加精準(zhǔn)。

Bagging結(jié)構(gòu)

Bagging

Bagging也叫自舉匯聚法(bootstrap aggregating)章办,是一種在原始數(shù)據(jù)集上通過(guò)有放回抽樣重新選出k個(gè)新數(shù)據(jù)集來(lái)訓(xùn)練分類器的集成技術(shù)锉走。它使用訓(xùn)練出來(lái)的分類器的集合來(lái)對(duì)新樣本進(jìn)行分類滨彻,然后用多數(shù)投票或者對(duì)輸出求均值的方法統(tǒng)計(jì)所有分類器的分類結(jié)果,結(jié)果最高的類別即為最終標(biāo)簽挪蹭。此類算法可以有效降低bias亭饵,并能夠降低variance。

自助法】它通過(guò)自助法(bootstrap)重采樣技術(shù)梁厉,從訓(xùn)練集里面采集固定個(gè)數(shù)的樣本冬骚,但是每采集一個(gè)樣本后,都將樣本放回懂算。也就是說(shuō)只冻,之前采集到的樣本在放回后有可能繼續(xù)被采集到。

OOB】在Bagging的每輪隨機(jī)采樣中计技,訓(xùn)練集中大約有36.8%的數(shù)據(jù)沒(méi)有被采樣集采集中喜德。對(duì)于這部分沒(méi)采集到的數(shù)據(jù),我們常常稱之為袋外數(shù)據(jù)(Out Of Bag垮媒,簡(jiǎn)稱OOB)舍悯。這些數(shù)據(jù)沒(méi)有參與訓(xùn)練集模型的擬合,因此可以用來(lái)檢測(cè)模型的泛化能力睡雇。

隨機(jī)性】對(duì)于我們的Bagging算法萌衬,一般會(huì)對(duì)樣本使用boostrap進(jìn)行隨機(jī)采集,每棵樹(shù)采集相同的樣本數(shù)量它抱,一般小于原始樣本量秕豫。這樣得到的采樣集每次的內(nèi)容都不同,通過(guò)這樣的自助法生成k個(gè)分類樹(shù)組成隨機(jī)森林观蓄,做到樣本隨機(jī)性混移。

輸出】Bagging的集合策略也比較簡(jiǎn)單,對(duì)于分類問(wèn)題侮穿,通常使用簡(jiǎn)單投票法歌径,得到最多票數(shù)的類別或者類別之一為最終的模型輸出。對(duì)于回歸問(wèn)題亲茅,通常使用簡(jiǎn)單平均法回铛,對(duì)T個(gè)弱學(xué)習(xí)器得到的回歸結(jié)果進(jìn)行算術(shù)平均得到最終的模型輸出。

隨機(jī)森林

隨機(jī)森林(Random Forest克锣,RF)是Bagging算法的一種茵肃,其實(shí)在介紹完Bagging算法之后,隨機(jī)森林幾乎是呼之欲出的娶耍,RF相對(duì)于Bagging只是對(duì)其中一些細(xì)節(jié)做了自己的規(guī)定和設(shè)計(jì)免姿。

弱分類器】首先,RF使用了CART決策樹(shù)作為弱學(xué)習(xí)器榕酒。換句話說(shuō)胚膊,其實(shí)我們只是將使用CART決策樹(shù)作為弱學(xué)習(xí)器的Bagging方法稱為隨機(jī)森林故俐。

隨機(jī)性】同時(shí),在生成每棵樹(shù)的時(shí)候紊婉,每個(gè)樹(shù)選取的特征都僅僅是隨機(jī)選出的少數(shù)特征药版,一般默認(rèn)取特征總數(shù)m的開(kāi)方。而一般的CART樹(shù)則是會(huì)選取全部的特征進(jìn)行建模喻犁。因此槽片,不但特征是隨機(jī)的,也保證了特征隨機(jī)性肢础。

樣本量】相對(duì)于一般的Bagging算法还栓,RF會(huì)選擇采集和訓(xùn)練集樣本數(shù)N一樣個(gè)數(shù)的樣本。

特點(diǎn)】由于隨機(jī)性传轰,對(duì)于降低模型的方差很有作用剩盒,故隨機(jī)森林一般不需要額外做剪枝,即可以取得較好的泛化能力和抗過(guò)擬合能力(Low Variance)慨蛙。當(dāng)然對(duì)于訓(xùn)練集的擬合程度就會(huì)差一些辽聊,也就是模型的偏倚會(huì)大一些(High Bias),僅僅是相對(duì)的期贫。

CART樹(shù)

隨機(jī)森林的弱分類器使用的是CART數(shù)跟匆,CART決策樹(shù)又稱分類回歸樹(shù)。當(dāng)數(shù)據(jù)集的因變量為連續(xù)性數(shù)值時(shí)通砍,該樹(shù)算法就是一個(gè)回歸樹(shù)玛臂,可以用葉節(jié)點(diǎn)觀察的均值作為預(yù)測(cè)值;當(dāng)數(shù)據(jù)集的因變量為離散型數(shù)值時(shí)埠帕,該樹(shù)算法就是一個(gè)分類樹(shù)垢揩,可以很好的解決分類問(wèn)題。
但需要注意的是敛瓷,該算法是一個(gè)二叉樹(shù),即每一個(gè)非葉節(jié)點(diǎn)只能引伸出兩個(gè)分支斑匪,所以當(dāng)某個(gè)非葉節(jié)點(diǎn)是多水平(2個(gè)以上)的離散變量時(shí)呐籽,該變量就有可能被多次使用。同時(shí)蚀瘸,若某個(gè)非葉節(jié)點(diǎn)是連續(xù)變量時(shí)狡蝶,決策樹(shù)也將把他當(dāng)做離散變量來(lái)處理(即在有限的可能值中做劃分)

特征選擇

特征選擇目前比較流行的方法是信息增益、增益率贮勃、基尼系數(shù)和卡方檢驗(yàn)贪惹。這里主要介紹基于基尼系數(shù)(GINI)的特征選擇,因?yàn)殡S機(jī)森林采用的CART決策樹(shù)就是基于基尼系數(shù)選擇特征的寂嘉。
基尼系數(shù)的選擇的標(biāo)準(zhǔn)就是每個(gè)子節(jié)點(diǎn)達(dá)到最高的純度奏瞬,即落在子節(jié)點(diǎn)中的所有觀察都屬于同一個(gè)分類枫绅,此時(shí)基尼系數(shù)最小,純度最高硼端,不確定度最小并淋。
對(duì)于一般的決策樹(shù),假如總共有K類珍昨,樣本屬于第k類的概率為:pk县耽,則該概率分布的基尼指數(shù)為:


GINI系數(shù)

基尼指數(shù)越大,說(shuō)明不確定性就越大镣典;基尼系數(shù)越小兔毙,不確定性越小,數(shù)據(jù)分割越徹底兄春,越干凈瞒御。
對(duì)于CART樹(shù)而言,由于是二叉樹(shù)神郊,可以通過(guò)下面的表示:


CART樹(shù)GINI系數(shù)

在我們遍歷每個(gè)特征的每個(gè)分割點(diǎn)時(shí)肴裙,當(dāng)使用特征A=a,將D劃分為兩部分涌乳,即D1(滿足A=a的樣本集合)蜻懦,D2(不滿足A=a的樣本集合)。則在特征A=a的條件下D的基尼指數(shù)為:


節(jié)點(diǎn)GINI系數(shù)

Gini(D):表示集合D的不確定性夕晓。
Gini(A,D):表示經(jīng)過(guò)A=a分割后的集合D的不確定性宛乃。
隨機(jī)森林中的每棵CART決策樹(shù)都是通過(guò)不斷遍歷這棵樹(shù)的特征子集的所有可能的分割點(diǎn),尋找Gini系數(shù)最小的特征的分割點(diǎn)蒸辆,將數(shù)據(jù)集分成兩個(gè)子集征炼,直至滿足停止條件為止。

抗過(guò)擬合

首先躬贡,正如Bagging介紹中提到的谆奥,每個(gè)樹(shù)選取使用的特征時(shí),都是從全部m個(gè)特征中隨機(jī)產(chǎn)生的拂玻,本身已經(jīng)降低了過(guò)擬合的風(fēng)險(xiǎn)和趨勢(shì)酸些。模型不會(huì)被特定的特征值或者特征組合所決定,隨機(jī)性的增加檐蚜,將控制模型的擬合能力不會(huì)無(wú)限提高魄懂。
第二,與決策樹(shù)不同闯第,RF對(duì)決策樹(shù)的建立做了改進(jìn)市栗。對(duì)于普通的決策樹(shù),我們會(huì)在節(jié)點(diǎn)上所有的m個(gè)樣本特征中選擇一個(gè)最優(yōu)的特征來(lái)做決策樹(shù)的左右子樹(shù)劃分。但是RF的每個(gè)樹(shù)填帽,其實(shí)選用的特征是一部分蛛淋,在這些少量特征中,選擇一個(gè)最優(yōu)的特征來(lái)做決策樹(shù)的左右子樹(shù)劃分盲赊,將隨機(jī)性的效果擴(kuò)大铣鹏,進(jìn)一步增強(qiáng)了模型的泛化能力。
假設(shè)每棵樹(shù)選取msub個(gè)特征哀蘑,msub越小诚卸,此時(shí)模型對(duì)于訓(xùn)練集的擬合程度會(huì)變差,偏倚增加绘迁,但是會(huì)泛化能力更強(qiáng)合溺,模型方差減小。msub越大則相反缀台。在實(shí)際使用中棠赛,一般會(huì)將msub的取值作為一個(gè)參數(shù),通過(guò)開(kāi)啟oob驗(yàn)證或使用交叉驗(yàn)證膛腐,不斷調(diào)整參數(shù)以獲取一個(gè)合適的msub的值验靡。

優(yōu)點(diǎn)總結(jié)

  1. 由于采用了集成算法霹陡,本身精度比大多數(shù)單個(gè)算法要好
  2. 在測(cè)試集上表現(xiàn)良好,由于兩個(gè)隨機(jī)性的引入,使得隨機(jī)森林不容易陷入過(guò)擬合(樣本隨機(jī)埃元,特征隨機(jī))
  3. 在工業(yè)上勾给,由于兩個(gè)隨機(jī)性的引入饰及,使得隨機(jī)森林具有一定的抗噪聲能力右蕊,對(duì)比其他算法具有一定優(yōu)勢(shì)
  4. 由于樹(shù)的組合,使得隨機(jī)森林可以處理非線性數(shù)據(jù)脯丝,本身屬于非線性分類(擬合)模型
  5. 它能夠處理很高維度(feature很多)的數(shù)據(jù)商膊,并且不用做特征選擇,對(duì)數(shù)據(jù)集的適應(yīng)能力強(qiáng):既能處理離散型數(shù)據(jù)宠进,也能處理連續(xù)型數(shù)據(jù)晕拆,數(shù)據(jù)集無(wú)需規(guī)范化
  6. 訓(xùn)練速度快,可以運(yùn)用在大規(guī)模數(shù)據(jù)集上
  7. 可以處理缺省值(單獨(dú)作為一類)砰苍,不用額外處理
  8. 由于有袋外數(shù)據(jù)(OOB)潦匈,可以在模型生成過(guò)程中取得真實(shí)誤差的無(wú)偏估計(jì),且不損失訓(xùn)練數(shù)據(jù)量
  9. 在訓(xùn)練過(guò)程中赚导,能夠檢測(cè)到feature間的互相影響,且可以得出feature的重要性赤惊,具有一定參考意義
  10. 由于每棵樹(shù)可以獨(dú)立吼旧、同時(shí)生成,容易做成并行化方法
  11. 由于實(shí)現(xiàn)簡(jiǎn)單未舟、精度高圈暗、抗過(guò)擬合能力強(qiáng)掂为,當(dāng)面對(duì)非線性數(shù)據(jù)時(shí),適于作為基準(zhǔn)模型

參考目錄

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末员串,一起剝皮案震驚了整個(gè)濱河市勇哗,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌寸齐,老刑警劉巖欲诺,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異渺鹦,居然都是意外死亡扰法,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門毅厚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)塞颁,“玉大人,你說(shuō)我怎么就攤上這事吸耿§袈啵” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵咽安,是天一觀的道長(zhǎng)伴网。 經(jīng)常有香客問(wèn)我,道長(zhǎng)板乙,這世上最難降的妖魔是什么是偷? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮募逞,結(jié)果婚禮上蛋铆,老公的妹妹穿的比我還像新娘。我一直安慰自己放接,他們只是感情好刺啦,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著纠脾,像睡著了一般玛瘸。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上苟蹈,一...
    開(kāi)封第一講書(shū)人閱讀 51,688評(píng)論 1 305
  • 那天糊渊,我揣著相機(jī)與錄音,去河邊找鬼慧脱。 笑死渺绒,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播宗兼,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼躏鱼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了殷绍?” 一聲冷哼從身側(cè)響起染苛,我...
    開(kāi)封第一講書(shū)人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎主到,沒(méi)想到半個(gè)月后茶行,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡镰烧,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年拢军,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片怔鳖。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡茉唉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出结执,到底是詐尸還是另有隱情度陆,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布献幔,位于F島的核電站懂傀,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏蜡感。R本人自食惡果不足惜蹬蚁,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望郑兴。 院中可真熱鬧犀斋,春花似錦、人聲如沸情连。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)却舀。三九已至虫几,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間挽拔,已是汗流浹背辆脸。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留螃诅,地道東北人每强。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓始腾,卻偏偏與公主長(zhǎng)得像州刽,于是被迫代替她去往敵國(guó)和親空执。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容