一些知識點的初步理解 7 隨機森林,ing

2021-09-09 03:00:03 字數 1706 閱讀 8251

在機器學習中,隨機森林由許多的決策樹組成,因為這些決策樹的形成採用了隨機的方法,因此也叫做隨機決策樹。隨機森林中的樹之間是沒有關聯的。當測試資料進入隨機森林時,其實就是讓每一顆決策樹進行分類,最後取所有決策樹中分類結果最多的那類為最終的結果。因此隨機森林是乙個包含多個決策樹的分類器,並且其輸出的類別是由個別樹輸出的類別的眾數而定。隨機森林可以既可以處理屬性為離散值的量,比如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

一些知識點的初步理解 7 隨機森林,ing

一些知識點的初步理解 7 隨機森林,ing.在機器學習中,隨機森林由許多的決策樹組成,因為這些決策樹的形成採用了隨機的方法,因此也叫做隨機決策樹。隨機森林中的樹之間是沒有關聯的。當測試資料進入隨機森林時,其實就是讓每一顆決策樹進行分類,最後取所有決策樹中分類結果最多的那類為最終的結果。因此隨機森林是...

一些知識點的初步理解 6 核函式,ing

在svm中經常聽說核函式,關於各種核函式的推導公式寫得天花亂墜。svm大概意思是說將低維不可分的樣本對映到高維空間中後就線性可分了,由於最後用訓練出來的模型進行分類 時需要求高維空間中對映特徵間的內積,而核函式的功能就是我們計算時不需要考慮高維空間的具體形式,降低了其計算複雜度。下面就簡單講講核函式...

Controller一些知識點1 初步見解

寫一下關於controller層的寫法解釋 首先關於當中的一些註解字的解釋進行分析闡明 responsebody 表示該方法的返回結果直接寫入httpresponsebody中 restcontroller 此註解主要是用來標註控制層的元件主要是包括 controller和 responsebody...