隨機森林概述

2021-07-04 21:51:29 字數 1737 閱讀 6584



本文**:

在機器學習中,隨機森林由許多的決策樹組成,因為這些決策樹的形成採用了隨機的方法,因此也叫做隨機決策樹。隨機森林中的樹之間是沒有關聯的。當測試資料進入隨機森林時,其實就是讓每一顆決策樹進行分類,最後取所有決策樹中分類結果最多的那類為最終的結果。因此隨機森林是乙個包含多個決策樹的分類器,並且其輸出的類別是由個別樹輸出的類別的眾數而定。隨機森林可以既可以處理屬性為離散值的量,比如id3演算法,也可以處理屬性為連續值的量,比如c4.5演算法。另外,隨機森林還可以用來進行無監督學習聚類和異常點檢測。

隨機森林由決策樹組成,決策樹實際上是將空間用超平面進行劃分的一種方法,每次分割的時候,都將當前的空間一分為二,比如說下面的決策樹(其屬性的值都是連續的實數):

將空間劃分為成的樣子為:

隨機深林的優點:比較適合做多分類問題;訓練和**速度快;對訓練資料的容錯能力,是一種有效地估計缺失資料的一種方法,當資料集中有大比例的資料缺失時仍然可以保持精度不變;能夠有效地處理大的資料集;可以處理沒有刪減的成千上萬的變數;能夠在分類的過程中可以生成乙個泛化誤差的內部無偏估計;能夠檢測到特徵之間的相互影響以及重要性程度;不過出現過度擬合;實現簡單容易並行化。

下面是具體決策樹的生成過程:

其中關於資訊增益這裡就不作具體的介紹,反正資訊增益越大,就說明那個屬性相對來說越重要。流程圖中的identical values 可以理解為是分類值,離散值,就是它本身不具備數值的意義,比如說顏色分為紅,綠,藍等,是人為給它標定的乙個離散值而已。流程圖中的real values可以理解為連續的實數,也就是說屬性本身是具有數值的,比如說物體的長度,這就是乙個real value,在進行這種連續值屬性構造決策數時,需要按照屬性值的範圍進行生成子節點。

當可以生成好決策樹後,就比較容易生成隨機森林了。下面是隨機森林的構造過程:

1. 假如有n個樣本,則有放回的隨機選擇n個樣本(每次隨機選擇乙個樣本,然後返回繼續選擇)。這選擇好了的n個樣本用來訓練乙個決策樹,作為決策樹根節點處的樣本。

2. 當每個樣本有m個屬性時,在決策樹的每個節點需要**時,隨機從這m個屬性中選取出m個屬性,滿足條件m << m。然後從這m個屬性中採用某種策略(比如說資訊增益)來選擇1個屬性作為該節點的**屬性。

3. 決策樹形成過程中每個節點都要按照步驟2來**(很容易理解,如果下一次該節點擊出來的那乙個屬性是剛剛其父節點**時用過的屬性,則該節點已經達到了葉子節點,無須繼續**了)。一直到不能夠再**為止。注意整個決策樹形成過程中沒有進行剪枝。

4. 按照步驟1~3建立大量的決策樹,這樣就構成了隨機森林了。

從上面的步驟可以看出,隨機森林的隨機性體現在每顆數的訓練樣本是隨機的,樹中每個節點的分類屬性也是隨機選擇的。有了這2個隨機的保證,隨機森林就不會產生過擬合的現象了。

隨機森林有2個引數需要人為控制,乙個是森林中樹的數量,一般建議取很大。另乙個是m的大小,推薦m的值為m的均方根。

參考資料:

決策樹模型組合之隨機森林與gbdt

random forest

隨機森林隨機 三

2018年7月22日 陣雨 感冒發燒喉嚨疼,只因為一杯正常冰的奶蓋!以後得少喝加冰的東西了.前面說的是整合學習的兩種形式,這跟隨機森林有啥關係呢?隨機森林是bagging的乙個擴充套件變體.簡單的來說,當bagging演算法中的base learner為決策樹並在訓練決策樹的過程中加入隨機屬性選擇,...

隨機森林演算法

random forest是加州大學伯克利分校的breiman leo和adele cutler於2001年發表的 中提到的新的機器學習演算法,可以用來做分類,聚類,回歸,和生存分析,這裡只簡單介紹該演算法在分類上的應用。random forest 隨機森林 演算法是通過訓練多個決策樹,生成模型,然...

理解隨機森林

理解隨機森林 隨機森林利用隨機的方式將許多決策樹組合成乙個森林,每個決策樹在分類的時候投票決定測試樣本的最終類別。下面我們再詳細說一下隨機森林是如何構建的。隨機森林主要包括4個部分 隨機選擇樣本 隨機選擇特徵 構建決策樹 隨機森林投票分類。給定乙個訓練樣本集,數量為n,我們使用有放回取樣到n個樣本,...