隨機(jī)森林

先上重點(diǎn)


GBDT和隨機(jī)森林雖然都是決策樹的組合算法村砂,但是兩者的訓(xùn)練過(guò)程還是很不相同的肥哎。?

  GBDT訓(xùn)練是每次一棵,一棵接著一棵(串行)坐榆,因此與隨機(jī)森林并行計(jì)算多棵樹相比起來(lái)拴魄,會(huì)需要更長(zhǎng)的訓(xùn)練時(shí)間。?

  在GBDT中席镀,相對(duì)于隨機(jī)森林而言(隨機(jī)森林中的樹可以不做很多的剪枝)匹中,一般會(huì)選擇更淺(depth更小)的樹豪诲,這樣運(yùn)算時(shí)間會(huì)減少顶捷。?

  隨機(jī)森林更不容易過(guò)擬合,而且森林中包含越多的樹似乎越不會(huì)出現(xiàn)過(guò)擬合屎篱。用統(tǒng)計(jì)學(xué)的語(yǔ)言來(lái)講服赎,就是說(shuō)越多的樹包含進(jìn)來(lái),會(huì)降低預(yù)測(cè)結(jié)果的方差(多次預(yù)測(cè)結(jié)果會(huì)更加穩(wěn)定)交播。但是GBDT則恰好相反重虑,包含預(yù)測(cè)的樹(即迭代的次數(shù)越多),反而會(huì)更傾向于過(guò)擬合秦士,用統(tǒng)計(jì)學(xué)的語(yǔ)言來(lái)將缺厉,就是GBDT迭代次數(shù)的增加減少的是偏差(預(yù)測(cè)結(jié)果和訓(xùn)練數(shù)據(jù)label之間的差異)。(偏差和方差這兩個(gè)概念是不同的概念,見后面的圖)?

  隨機(jī)森林參數(shù)相對(duì)更容易調(diào)試一些提针,這是由于隨著所包含的決策樹的個(gè)數(shù)增加命爬,其預(yù)測(cè)效果一般是單調(diào)的向好的方向變。而GBDT則不同辐脖,一開始預(yù)測(cè)表現(xiàn)會(huì)隨著樹的數(shù)目增大而變好遇骑,但是到一定程度之后,反而會(huì)隨著樹的數(shù)目增加而變差揖曾。?


隨機(jī)森林算法


隨機(jī)森林是一種有監(jiān)督學(xué)習(xí)算法落萎。 就像你所看到的它的名字一樣,它創(chuàng)建了一個(gè)森林炭剪,并使它擁有某種方式隨機(jī)性练链。 所構(gòu)建的“森林”是決策樹的集成,大部分時(shí)候都是用“bagging”方法訓(xùn)練的奴拦。 bagging方法媒鼓,即bootstrap aggregating,采用的是隨機(jī)有放回的選擇訓(xùn)練數(shù)據(jù)然后構(gòu)造分類器错妖,最后組合學(xué)習(xí)到的模型來(lái)增加整體的效果绿鸣。

簡(jiǎn)而言之:隨機(jī)森林建立了多個(gè)決策樹,并將它們合并在一起以獲得更準(zhǔn)確和穩(wěn)定的預(yù)測(cè)暂氯。隨機(jī)森林的一大優(yōu)勢(shì)在于它既可用于分類潮模,也可用于回歸問題,這兩類問題恰好構(gòu)成了當(dāng)前的大多數(shù)機(jī)器學(xué)習(xí)系統(tǒng)所需要面對(duì)的痴施。

除了少數(shù)例外擎厢,隨機(jī)森林分類器使用所有的決策樹分類器以及bagging 分類器的超參數(shù)來(lái)控制整體結(jié)構(gòu)。 與其先構(gòu)建bagging分類器辣吃,并將其傳遞給決策樹分類器动遭,您可以直接使用隨機(jī)森林分類器類,這樣對(duì)于決策樹而言神得,更加方便和優(yōu)化厘惦。要注意的是,回歸問題同樣有一個(gè)隨機(jī)森林回歸器與之相對(duì)應(yīng)哩簿。

隨機(jī)森林算法中樹的增長(zhǎng)會(huì)給模型帶來(lái)額外的隨機(jī)性宵蕉。與決策樹不同的是,每個(gè)節(jié)點(diǎn)被分割成最小化誤差的最佳特征卡骂,在隨機(jī)森林中我們選擇隨機(jī)選擇的特征來(lái)構(gòu)建最佳分割国裳。因此形入,當(dāng)您在隨機(jī)森林中全跨,僅考慮用于分割節(jié)點(diǎn)的隨機(jī)子集,甚至可以通過(guò)在每個(gè)特征上使用隨機(jī)閾值來(lái)使樹更加隨機(jī)亿遂,而不是如正常的決策樹一樣搜索最佳閾值浓若。這個(gè)過(guò)程產(chǎn)生了廣泛的多樣性渺杉,通常可以得到更好的模型挪钓。

機(jī)器學(xué)習(xí)算法之隨機(jī)森林算法的特征的重要性


隨機(jī)森林算法的另一個(gè)優(yōu)點(diǎn)是可以很容易地測(cè)量每個(gè)特征對(duì)預(yù)測(cè)的相對(duì)重要性是越。 Sklearn為此提供了一個(gè)很好的工具,它通過(guò)查看使用該特征減少了森林中所有樹多少的不純度碌上,來(lái)衡量特征的重要性倚评。它在訓(xùn)練后自動(dòng)計(jì)算每個(gè)特征的得分,并對(duì)結(jié)果進(jìn)行標(biāo)準(zhǔn)化馏予,以使所有特征的重要性總和等于1天梧。

決策樹與隨機(jī)森林的區(qū)別


隨機(jī)森林是決策樹的集合,但仍有一些區(qū)別霞丧。

如果您將帶有特征和標(biāo)簽的訓(xùn)練數(shù)據(jù)集輸入到?jīng)Q策樹中呢岗,它將制定一些規(guī)則集,用于預(yù)測(cè)蛹尝。

例如后豫,如果您想預(yù)測(cè)某人是否會(huì)點(diǎn)擊在線廣告,可以收集該廣告的過(guò)去點(diǎn)擊人員以及能夠描述其做決定的特征突那。一旦你將這些特征和標(biāo)簽放入決策樹中挫酿,它會(huì)生成節(jié)點(diǎn)和一些規(guī)則,然后你就可以預(yù)測(cè)廣告是否會(huì)被點(diǎn)擊愕难。但決策樹通常通過(guò)計(jì)算信息增益和基尼指數(shù)來(lái)生成節(jié)點(diǎn)和規(guī)則時(shí)饭豹,相比之下,隨機(jī)森林則是隨機(jī)的务漩。

另一個(gè)區(qū)別是“深度”決策樹往往會(huì)遭遇過(guò)擬合問題拄衰。而隨機(jī)森林則可以通過(guò)創(chuàng)建隨機(jī)的特征子集并使用這些子集構(gòu)建較小的樹,隨后組成子樹饵骨,這種方法可以防止大部分情況的過(guò)擬合翘悉。要注意的是,這同時(shí)會(huì)使得計(jì)算速度變慢居触,并取決于隨機(jī)森林構(gòu)建的樹數(shù)妖混。

機(jī)器學(xué)習(xí)算法之隨機(jī)森林算法重要的超參數(shù)


隨機(jī)森林中的參數(shù)要么用來(lái)增強(qiáng)模型的預(yù)測(cè)能力,要么使模型更快轮洋。 以下將討論sklearns內(nèi)置的隨機(jī)森林函數(shù)中的超參數(shù)制市。

提高模型預(yù)測(cè)準(zhǔn)確性

首先,“n_estimators”超參數(shù)表示算法在進(jìn)行最大投票或采取預(yù)測(cè)平均值之前建立的樹數(shù)弊予。 一般來(lái)說(shuō)祥楣,樹的數(shù)量越多,性能越好,預(yù)測(cè)也越穩(wěn)定误褪,但這也會(huì)減慢計(jì)算速度责鳍。

另一個(gè)重要的超參數(shù)是“max_features”,它表示隨機(jī)森林在單個(gè)樹中可擁有的特征最大數(shù)量兽间。 Sklearn提供了幾個(gè)選項(xiàng)历葛,在他們的文檔中有描述:

http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html

最后一個(gè)重要的超參數(shù)是“min_sample_leaf”,正如其名稱所述嘀略,這決定了葉子的數(shù)量恤溶。

加快模型計(jì)算速度

“n_jobs”超參數(shù)表示引擎允許使用處理器的數(shù)量。 若值為1帜羊,則只能使用一個(gè)處理器宏娄。 值為-1則表示沒有限制。

“random_state”逮壁,表示隨機(jī)數(shù)種子孵坚,保證模型的輸出具有可復(fù)制性。 當(dāng)它被賦于一個(gè)指定值窥淆,且模型訓(xùn)練具有相同的參數(shù)和相同的訓(xùn)練數(shù)據(jù)時(shí)卖宠,該模型將始終產(chǎn)生相同的結(jié)果。

最后忧饭,還有一個(gè)“oob_score”(也稱為oob采樣)扛伍,它是一種隨機(jī)森林交叉驗(yàn)證方法。 在這個(gè)抽樣中词裤,大約三分之一的數(shù)據(jù)不用于模型訓(xùn)練刺洒,而用來(lái)評(píng)估模型的性能。這些樣本被稱為袋外樣本吼砂。它與留一法交叉驗(yàn)證方法非常相似逆航,但幾乎沒有附加的計(jì)算負(fù)擔(dān)。

優(yōu)缺點(diǎn)分析

就像我之前提到的那樣渔肩,隨機(jī)森林的一個(gè)優(yōu)點(diǎn)是它可以用于回歸和分類任務(wù)因俐,并且很容易查看模型的輸入特征的相對(duì)重要性

隨機(jī)森林同時(shí)也被認(rèn)為是一種非常方便且易于使用的算法周偎,因?yàn)樗悄J(rèn)的超參數(shù)通常會(huì)產(chǎn)生一個(gè)很好的預(yù)測(cè)結(jié)果抹剩。超參數(shù)的數(shù)量也不是那么多,而且它們所代表的含義直觀易懂蓉坎。

機(jī)器學(xué)習(xí)中的一個(gè)重大問題是過(guò)擬合澳眷,但大多數(shù)情況下這對(duì)于隨機(jī)森林分類器而言不會(huì)那么容易出現(xiàn)。因?yàn)橹灰种杏凶銐蚨嗟臉潋劝诸惼骶筒粫?huì)過(guò)度擬合模型钳踊。

隨機(jī)森林的主要限制在于使用大量的樹會(huì)使算法變得很慢衷敌,并且無(wú)法做到實(shí)時(shí)預(yù)測(cè)。一般而言箍土,這些算法訓(xùn)練速度很快逢享,預(yù)測(cè)十分緩慢罐监。越準(zhǔn)確的預(yù)測(cè)需要越多的樹吴藻,這將導(dǎo)致模型越慢。在大多數(shù)現(xiàn)實(shí)世界的應(yīng)用中弓柱,隨機(jī)森林算法已經(jīng)足夠快沟堡,但肯定會(huì)遇到實(shí)時(shí)性要求很高的情況,那就只能首選其他方法矢空。

當(dāng)然航罗,隨機(jī)森林是一種預(yù)測(cè)性建模工具,而不是一種描述性工具屁药。也就是說(shuō)粥血,如果您正在尋找關(guān)于數(shù)據(jù)中關(guān)系的描述,那建議首選其他方法酿箭。

適用范圍


隨機(jī)森林算法可被用于很多不同的領(lǐng)域复亏,如銀行,股票市場(chǎng)缭嫡,醫(yī)藥和電子商務(wù)缔御。 在銀行領(lǐng)域,它通常被用來(lái)檢測(cè)那些比普通人更高頻率使用銀行服務(wù)的客戶妇蛀,并及時(shí)償還他們的債務(wù)耕突。 同時(shí),它也會(huì)被用來(lái)檢測(cè)那些想詐騙銀行的客戶评架。 在金融領(lǐng)域眷茁,它可用于預(yù)測(cè)未來(lái)股票的趨勢(shì)。 在醫(yī)療保健領(lǐng)域纵诞,它可用于識(shí)別藥品成分的正確組合蔼卡,分析患者的病史以識(shí)別疾病。 除此之外挣磨,在電子商務(wù)領(lǐng)域中雇逞,隨機(jī)森林可以被用來(lái)確定客戶是否真的喜歡某個(gè)產(chǎn)品。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末茁裙,一起剝皮案震驚了整個(gè)濱河市塘砸,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌晤锥,老刑警劉巖掉蔬,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件廊宪,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡女轿,警方通過(guò)查閱死者的電腦和手機(jī)箭启,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)蛉迹,“玉大人傅寡,你說(shuō)我怎么就攤上這事”本龋” “怎么了荐操?”我有些...
    開封第一講書人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)珍策。 經(jīng)常有香客問我托启,道長(zhǎng),這世上最難降的妖魔是什么攘宙? 我笑而不...
    開封第一講書人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任屯耸,我火速辦了婚禮,結(jié)果婚禮上蹭劈,老公的妹妹穿的比我還像新娘疗绣。我一直安慰自己,他們只是感情好链方,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開白布持痰。 她就那樣靜靜地躺著,像睡著了一般祟蚀。 火紅的嫁衣襯著肌膚如雪工窍。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,166評(píng)論 1 284
  • 那天前酿,我揣著相機(jī)與錄音患雏,去河邊找鬼。 笑死罢维,一個(gè)胖子當(dāng)著我的面吹牛淹仑,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播肺孵,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼匀借,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了平窘?” 一聲冷哼從身側(cè)響起吓肋,我...
    開封第一講書人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎瑰艘,沒想到半個(gè)月后是鬼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體肤舞,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年均蜜,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了李剖。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡囤耳,死狀恐怖篙顺,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情紫皇,我是刑警寧澤慰安,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布腋寨,位于F島的核電站聪铺,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏萄窜。R本人自食惡果不足惜铃剔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望查刻。 院中可真熱鬧键兜,春花似錦、人聲如沸穗泵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)佃延。三九已至现诀,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間履肃,已是汗流浹背仔沿。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留尺棋,地道東北人封锉。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像膘螟,于是被迫代替她去往敵國(guó)和親成福。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

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