隨機(jī)森林原理

1、什么是隨機(jī)森林?
隨機(jī)森林就是用隨機(jī)的方式建立一個(gè)森林,在森林里有很多決策樹組成,并且每一棵決策樹之間是沒有關(guān)聯(lián)的。當(dāng)有一個(gè)新樣本的時(shí)候,我們讓森林的每一棵決策樹分別進(jìn)行判斷,看看這個(gè)樣本屬于哪一類,然后用投票的方式,哪一類被選擇的多,作為最終的分類結(jié)果。在回歸問題中,隨機(jī)森林輸出所有決策樹輸出的平均值。

(1)隨機(jī)森林既可以用于分類,也可以用于回歸。
(2)它是一種降維手段,用于處理缺失值和異常值。
(3)它是集成學(xué)習(xí)的重要方法。

2、兩個(gè)隨機(jī)抽取
(1)樣本有放回隨機(jī)抽取固定數(shù)目
(2)構(gòu)建決策樹時(shí),特征隨機(jī)抽取
解釋:兩個(gè)隨機(jī)性的引入對(duì)隨機(jī)森林的分類性能至關(guān)重要。由于它們的引入,使得隨機(jī)森林不容易陷入過擬合,并且具有很好得抗噪能力(比如:對(duì)缺省值不敏感)

3、隨機(jī)森林算法是如何工作的?

在隨機(jī)森林中,每一個(gè)決策樹“種植”和“生長(zhǎng)”的四個(gè)步驟:

(1)假設(shè)我們?cè)O(shè)定訓(xùn)練集中的樣本個(gè)數(shù)為N,然后通過有重置的重復(fù)多次抽樣獲得這N個(gè)樣本,這樣的抽樣結(jié)果將作為我們生成決策樹的訓(xùn)練集;

(2)如果有M個(gè)輸入變量,每個(gè)節(jié)點(diǎn)都將隨機(jī)選擇m(m<M)個(gè)特定的變量,然后運(yùn)用這m個(gè)變量來確定最佳的分裂點(diǎn)。在決策樹的生成過程中,m的值是保持不變的;

(3)每棵決策樹都最大可能地進(jìn)行生長(zhǎng)而不進(jìn)行剪枝;

(4)通過對(duì)所有的決策樹進(jìn)行加總來預(yù)測(cè)新的數(shù)據(jù)(在分類時(shí)采用多數(shù)投票,在回歸時(shí)采用平均)。

4、隨機(jī)森林的優(yōu)缺點(diǎn)
優(yōu)點(diǎn):
(1)在分類和回歸都表現(xiàn)良好
(2)對(duì)高維數(shù)據(jù)的處理能力強(qiáng),可以處理成千上萬的輸入變量,是一個(gè)非常不錯(cuò)的降維方法
(3)能夠輸出特征的重要程度
(4)有效的處理缺省值

5、重要參數(shù)
隨機(jī)森林分類效果(錯(cuò)誤率)與兩個(gè)因素有關(guān):
(1)森林中任意兩棵樹的相關(guān)性:相關(guān)性越大,錯(cuò)誤率越大;
(2)森林中每棵樹的分類能力:每棵樹的分類能力越強(qiáng),整個(gè)森林的錯(cuò)誤率越低。
  減小特征選擇個(gè)數(shù)m,樹的相關(guān)性和分類能力也會(huì)相應(yīng)的降低;增大m,兩者也會(huì)隨之增大。所以關(guān)鍵問題是如何選擇最優(yōu)的m(或者是范圍),這也是隨機(jī)森林唯一的一個(gè)參數(shù)。在學(xué)習(xí)如何選擇參數(shù)前首先介紹oob的概念。

6、oob:袋外錯(cuò)誤率
為了選擇最優(yōu)的m,這里需要利用的是袋外錯(cuò)誤率oob(out-of-bag error)。我們知道,在構(gòu)建每個(gè)決策樹的時(shí)候,采用的是隨機(jī)又放回的抽取,所以對(duì)于每棵樹來說,都有一些樣本實(shí)力沒有參與樹的生成,所以這些樣本成為袋外樣本,即oob。所以我們需要做一下oob估計(jì):
(1)對(duì)每個(gè)樣本,計(jì)算它作為oob樣本的樹對(duì)它的分類情況
(2)多數(shù)投票作為該樣本的分類結(jié)果
(3)用誤分個(gè)數(shù)占樣本總數(shù)的比率作為隨機(jī)森林的oob誤分率

oob誤分率是隨機(jī)森林泛化誤差的一個(gè)無偏估計(jì),它的結(jié)果近似于需要大量計(jì)算的k折交叉驗(yàn)證。所以沒有必要對(duì)它進(jìn)行交叉驗(yàn)證或者用一個(gè)獨(dú)立的測(cè)試集來獲得誤差的一個(gè)無偏估計(jì)。它可以在內(nèi)部進(jìn)行評(píng)估,也就是說在生成的過程中就可以對(duì)誤差建立一個(gè)無偏估計(jì)。

當(dāng)我們知道了oob的計(jì)算方法,我們可以通過選取不同的m,計(jì)算oob error,找出oob error最小時(shí)對(duì)應(yīng)的m的值。這和交叉驗(yàn)證的思想非常的相似。

7、RF特征重要性的度量方法
(1)對(duì)于每一棵決策樹,計(jì)算其oob error_0
(2)選取一個(gè)特征,隨機(jī)對(duì)特征加入噪聲干擾,再次計(jì)算oob error_1
(3)特征的重要性=∑(oob error_1-oob error_0)/隨機(jī)森林中決策樹的個(gè)數(shù)

(4)對(duì)隨機(jī)森林中的特征變量按照特征重要性降序排序。
(5)然后重復(fù)以上步驟,直到選出m個(gè)特征。

解釋:用這個(gè)公式來度量特征重要性,原因是:給某個(gè)特征隨機(jī)的加入噪聲后,如果oob error增大,說明這個(gè)特征對(duì)樣本分類的結(jié)果影響比較大,說明重要程度比較高。

8、RF特征選擇
首先特征選擇的目標(biāo)有兩個(gè):
1:找到與分類結(jié)果高度相關(guān)的特征變量。
2:選擇出數(shù)目較少的特征變量并且能夠充分的預(yù)測(cè)應(yīng)變量的結(jié)果。

特征選擇的步驟:
(1)對(duì)于每一棵決策樹,計(jì)算其oob error
(2)隨機(jī)的修改OOB中的每個(gè)特征xi的值,計(jì)算oob error_2,再次計(jì)算重要性
(3)按照特征的重要性排序,然后剔除后面不重要的特征
(4)然后重復(fù)以上步驟,直到選出m個(gè)特征。

9、幾個(gè)問題
(1)為什么要隨機(jī)抽取樣本?
答:如果不進(jìn)行隨機(jī)抽樣,對(duì)于每個(gè)樹的訓(xùn)練集都是相同的,訓(xùn)練出來的結(jié)果也是一樣的,所以此時(shí)進(jìn)行投票決策沒有意義。

(2)為什么要有放回的去抽樣呢?
答:如果不是有放回的抽樣,那么每一棵樹的訓(xùn)練樣本是不同的,都是沒有交集的,那么每棵樹都是有偏的,都是片面的,樹與樹之間并不是完全公平的。我們需要的是,沒顆決策樹是公平的,然后讓它們投票決策得出結(jié)果,并且這樣可以防止過度擬合。

(3)這里指的有放回的抽樣,是每次抽一個(gè)放回,還是一次抽n個(gè)再放回?


注意:
構(gòu)造子數(shù)據(jù)集,子數(shù)據(jù)集的數(shù)據(jù)量是和原始數(shù)據(jù)集相同的。不同子數(shù)據(jù)集的元素可以重復(fù),同一個(gè)子數(shù)據(jù)集中的元素也可以重復(fù)。

參考資源:
http://www.cnblogs.com/emanlee/p/4851555.html
http://www.cnblogs.com/maybe2030/p/4585705.html
http://scientistcafe.com/2016/11/18/Tree4.html
http://www.cnblogs.com/justcxtoworld/p/3447231.html
https://zhuanlan.zhihu.com/p/21358126

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容