Random Forest随机森林概述
引言
在機(jī)器學(xué)習(xí)中,隨機(jī)森林由許多的決策樹組成,因為這些決策樹的形成采用了隨機(jī)的方法,因此也叫做隨機(jī)決策樹。隨機(jī)森林中的樹之間是沒有關(guān)聯(lián)的。當(dāng)測試數(shù)據(jù)進(jìn)入隨機(jī)森林時,其實就是讓每一顆決策樹進(jìn)行分類,最后取所有決策樹中分類結(jié)果最多的那類為最終的結(jié)果。因此隨機(jī)森林是一個包含多個決策樹的分類器,并且其輸出的類別是由個別樹輸出的類別的眾數(shù)而定。隨機(jī)森林可以既可以處理屬性為離散值的量,如ID3算法,也可以處理屬性為連續(xù)值的量,比如C4.5算法。另外,隨機(jī)森林還可以用來進(jìn)行無監(jiān)督學(xué)習(xí)聚類和異常點(diǎn)檢測。
理論描述
隨機(jī)森林由決策樹組成,決策樹實際上是將空間用超平面進(jìn)行劃分的一種方法,每次分割的時候,都將當(dāng)前的空間一分為二,如說下面的決策樹,其屬性的值都是連續(xù)的實數(shù),如圖1所示。將空間劃分為成的樣子如圖2所示(注:所使用圖片來自于網(wǎng)絡(luò))。
?
圖1??????????????????? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ?????????????? 圖2
隨機(jī)森林比較適合做多分類問題,訓(xùn)練和預(yù)測速度快;同時,對訓(xùn)練數(shù)據(jù)的容錯能力,是一種有效地估計缺失數(shù)據(jù)的一種方法,當(dāng)數(shù)據(jù)集中有大比例的數(shù)據(jù)缺失時仍然可以保持精度不變和能夠有效地處理大的數(shù)據(jù)集;可以處理沒有刪減的成千上萬的變量;能夠在分類的過程中可以生成一個泛化誤差的內(nèi)部無偏估計;能夠檢測到特征之間的相互影響以及重要性程度;不過出現(xiàn)過度擬合;實現(xiàn)簡單容易并行化。
RF生成過程
具體決策樹的生成過程如下所示:
其中關(guān)于信息增益這里就不作具體的介紹,反正信息增益越大,就說明那個屬性相對來說越重要。流程圖中的identical values?可以理解為是分類值,離散值,就是它本身不具備數(shù)值的意義,比如說顏色分為紅,綠,藍(lán)等,是人為給它標(biāo)定的一個離散值而已。流程圖中的real values可以理解為連續(xù)的實數(shù),也就是說屬性本身是具有數(shù)值的,比如說物體的長度,這就是一個real value,在進(jìn)行這種連續(xù)值屬性構(gòu)造決策數(shù)時,需要按照屬性值的范圍進(jìn)行生成子節(jié)點(diǎn)。
RF構(gòu)造過程
當(dāng)可以生成好決策樹后,就比較容易生成隨機(jī)森林了。接下來是隨機(jī)森林的構(gòu)造過程,如下所示:
第一、假如有N個樣本,則有放回的隨機(jī)選擇N個樣本(每次隨機(jī)選擇一個樣本,然后返回繼續(xù)選擇)。這選擇好了的N個樣本用來訓(xùn)練一個決策樹,作為決策樹根節(jié)點(diǎn)處的樣本。
第二、當(dāng)每個樣本有M個屬性時,在決策樹的每個節(jié)點(diǎn)需要分裂時,隨機(jī)從這M個屬性中選取出m個屬性,滿足條件m << M。然后從這m個屬性中采用某種策略(比如說信息增益)來選擇1個屬性作為該節(jié)點(diǎn)的分裂屬性。
第三、決策樹形成過程中每個節(jié)點(diǎn)都要按照步驟2來分裂(很容易理解,如果下一次該節(jié)點(diǎn)選出來的那一個屬性是剛剛其父節(jié)點(diǎn)分裂時用過的屬性,則該節(jié)點(diǎn)已經(jīng)達(dá)到了葉子節(jié)點(diǎn),無須繼續(xù)分裂了)。一直到不能夠再分裂為止。注意整個決策樹形成過程中沒有進(jìn)行剪枝。
最后、按照步驟1~3建立大量的決策樹,這樣就構(gòu)成了隨機(jī)森林了。
從上面的步驟可以看出,隨機(jī)森林的隨機(jī)性體現(xiàn)在每顆數(shù)的訓(xùn)練樣本是隨機(jī)的,樹中每個節(jié)點(diǎn)的分類屬性也是隨機(jī)選擇的。有了這2個隨機(jī)的保證,隨機(jī)森林就不會產(chǎn)生過擬合的現(xiàn)象了。隨機(jī)森林有2個參數(shù)需要人為控制,一個是森林中樹的數(shù)量,一般建議取很大。另一個是m的大小,推薦m的值為M的均方根。
總結(jié)
以上是生活随笔為你收集整理的Random Forest随机森林概述的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小米8SE 开箱及体验
- 下一篇: 检测点是否在两条平行线段之间_两点距离、