? Random Forest是加州大學(xué)伯克利分校的Breiman Leo和Adele Cutler于2001年發(fā)表的 論文 中提到的新的機(jī)器學(xué)習(xí)算法,可以用來做分類,聚類,回歸,和生存分析,這里只簡單介紹該算法在分類上的應(yīng)用。
? Random Forest(隨機(jī)森林)算法是通過訓(xùn)練多個(gè)決策樹,生成模型,然后綜合利用多個(gè)決策樹進(jìn)行分類。
? 隨機(jī)森林算法只需要兩個(gè)參數(shù):構(gòu)建的決策樹的個(gè)數(shù) t ,在決策樹的每個(gè)節(jié)點(diǎn)進(jìn)行分裂時(shí)需要考慮的輸入特征的個(gè)數(shù) m 。
? 1. 單棵決策樹的構(gòu)建:
? (1)令N為訓(xùn)練樣例的個(gè)數(shù),則單棵決策樹的輸入樣例的個(gè)數(shù)為N個(gè)從訓(xùn)練集中有放回的隨機(jī)抽取N個(gè)訓(xùn)練樣例。
? (2)令訓(xùn)練樣例的輸入特征的個(gè)數(shù)為M,切m遠(yuǎn)遠(yuǎn)小于M,則我們?cè)诿款w決策樹的每個(gè)節(jié)點(diǎn)上進(jìn)行分裂時(shí),從M個(gè)輸入特征里隨機(jī)選擇m個(gè)輸入特征,然后從這m個(gè)輸入特征里選擇一個(gè)最好的進(jìn)行分裂。m在構(gòu)建決策樹的過程中不會(huì)改變。
? (3)每棵樹都一直這樣分裂下去,直到該節(jié)點(diǎn)的所有訓(xùn)練樣例都屬于同一類。不需要剪枝。
? 2. 隨機(jī)森林的分類結(jié)果
? 按照1生成t個(gè)決策樹之后,對(duì)于每個(gè)新的測(cè)試樣例,綜合多個(gè)決策樹的分類結(jié)果來作為隨機(jī)森林的分類結(jié)果。
? (1)目標(biāo)特征為數(shù)字類型:取t個(gè)決策樹的平均值作為分類結(jié)果。
? (2)目標(biāo)特征為類別類型:少數(shù)服從多數(shù),取單棵樹分類結(jié)果最多的那個(gè)類別作為整個(gè)隨機(jī)森林的分類結(jié)果。
? 3. 分類效果的評(píng)價(jià)
? 在隨機(jī)森林中,無需交叉驗(yàn)證來評(píng)價(jià)其分類的準(zhǔn)確性,隨機(jī)森林自帶OOB(out-of-bag)錯(cuò)誤估計(jì):
? OOB:在構(gòu)造單棵決策樹時(shí)我們只是隨機(jī)有放回的抽取了N個(gè)樣例,所以可以用沒有抽取到的樣例來測(cè)試這棵決策樹的分類準(zhǔn)確性,這些樣例大概占總樣例數(shù)目的三分之一(作者這么說的,我還不知道理論上是如何出來的,但是可以自己做試驗(yàn)驗(yàn)證)。所以對(duì)于每個(gè)樣例j,都有大約三分之一的決策樹(記為SetT(j))在構(gòu)造時(shí)沒用到該樣例,我們就用這些決策樹來對(duì)這個(gè)樣例進(jìn)行分類。我們對(duì)于所有的訓(xùn)練樣例j,用SetT(j)中的樹組成的森林對(duì)其分類,然后看其分類結(jié)果和實(shí)際的類別是否相等,不相等的樣例所占的比例就是OOB錯(cuò)誤估計(jì)。OOB錯(cuò)誤估計(jì)被證明是無偏的。
?
參考文獻(xiàn):
? [1] Mahout Wiki-Random Forest
? [2] Leo Breiman 2001年的paper
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
