隨機森林演算法

2023-01-14 13:33:02 字數 1908 閱讀 6084

1. 演算法簡介

隨機森林由leobreiman(2001)提出,它通過自助法(bootstrap)重取樣技術,從原始訓練樣本集n中有放回地重複隨機抽取k個樣本生成新的訓練樣本集合,然後根據自助樣本集生成k個分類樹組成隨機森林,新資料的分類結果按分類樹投票多少形成的分數而定。其實質是對決策樹演算法的一種改進,將多個決策樹合併在一起,每棵樹的建立依賴於乙個獨立抽取的樣品,森林中的每棵樹具有相同的分布,分類誤差取決於每一棵樹的分類能力和它們之間的相關性。特徵選擇採用隨機的方法去**每乙個節點,然後比較不同情況下產生的誤差。

能夠檢測到的內在估計誤差、分類能力和相關性決定選擇特徵的數目。單棵樹的分類能力可能很小,但在隨機產生大量的決策樹後,乙個測試樣品可以通過每一棵樹的分類結果經統計後選擇最可能的分類。

2. 演算法原理

決策樹(decision tree)是乙個樹結構(可以是二叉樹或非二叉樹)。其每個非葉節點表示乙個特徵屬性上的測試,每個分支代表這個特徵屬性在某個值域上的輸出,而每個葉節點存放乙個類別。使用決策樹進行決策的過程就是從根節點開始,測試待分類項中相應的特徵屬性,並按照其值選擇輸出分支,直到到達葉子節點,將葉子節點存放的類別作為決策結果。

隨機森林模型的基本思想是:首先,利用bootstrap抽樣從原始訓練集抽取k個樣本,且每個樣本的樣本容量都與原始訓練集一樣;其次,對k個樣本分別建立k個決策樹模型,得到k種分類結果;最後,根據k種分類結果對每個記錄進行投票表決決定其最終分類,如下圖所示。

在建立每一棵決策樹的過程中,有兩點需要注意取樣與完全**。首先是兩個隨機取樣的過程,random forest對輸入的資料要進行行、列的取樣。對於行取樣,採用有放回的方式,也就是在取樣得到的樣本集合中,可能有重複的樣本。

假設輸入樣本為n個,那麼取樣的樣本也為n個。這樣使得在訓練的時候,每一棵樹的輸入樣本都不是全部的樣本,使得相對不容易出現over-fitting。然後進行列取樣,從m個feature中,選擇m個(m << m)。

之後就是對取樣之後的資料使用完全**的方式建立出決策樹,這樣決策樹的某乙個葉子節點要麼是無法繼續**的,要麼裡面的所有樣本的都是指向的同乙個分類。一般很多的決策樹演算法都乙個重要的步驟——剪枝,但是這裡不這樣幹,由於之前的兩個隨機取樣的過程保證了隨機性,所以就算不剪枝,也不會出現over-fitting。

**特徵點的選擇:

1) 資訊增益

2) 資訊增益比

3) 基尼指數

3. 演算法流程

隨機森林的具體實現過程如下:

(1) 給定訓練集s,測試集t,特徵維數f。確定引數:決策樹的數量t,每棵樹的深度d,每個節點使用到的特徵數量f,終止條件:節點上最少樣本數s,節點上最少的資訊增益m

對於第i棵樹,i=1: t:

(2) 從s中有放回的抽取大小和s一樣的訓練集s(i),作為根節點的樣本,從根節點開始訓練

(3) 如果當前節點上達到終止條件,則設定當前節點為葉子節點,如果是分類問題,該葉子節點的**輸出為當前節點樣本集合中數量最多的那一類c(j),概率p為c(j)佔當前樣本集的比例;如果是回歸問題,**輸出為當前節點樣本集各個樣本值的平均值。然後繼續訓練其他節點。如果當前節點沒有達到終止條件,則從f維特徵中隨機選取f維特徵(f << f)。

利用這f維特徵,尋找分類效果最好的一維特徵k及其閾值th,當前節點上樣本第k維特徵小於th的樣本被劃分到左節點,其餘的被劃分到右節點。繼續訓練其他節點。

(4) 重複(2)(3)直到所有節點都訓練過了或者被標記為葉子節點。

(5) 重複(2),(3),(4)直到所有決策樹都被訓練過。

利用隨機森林的**過程如下:

對於第i棵樹,i=1: t

(1)從當前樹的根節點開始,根據當前節點的閾值th,判斷是進入左節點(=th),直到到達,某個葉子節點,並輸出**值。

(2)重複執行(1)直到所有t棵樹都輸出了**值。如果是分類問題,則輸出為所有樹中**概率總和最大的那乙個類,即對每個c(j)的p進行累計;如果是回歸問題,則輸出為所有樹的輸出的平均值。

隨機過程習題

一 回答 1 什麼是寬平穩隨機過程?2 平穩隨機過程自相關函式與功率譜的關係?3 窄帶隨機過程的相位服從什麼分布?包絡服從什麼分布?4 什麼是白雜訊?性質?二 計算 1 隨機過程 其中是常數,a b是相互獨立統計的高斯變數,並且e a e b 0,e e 求 的數學期望和自相關函式?2 判斷隨機過程...

隨機過程答案

第一章習題解答 1 設隨機變數x服從幾何分布,即 求x的特徵函式,ex及dx。其中是已知引數。解 又其中 令 則同理 令則 2 1 求引數為的分布的特徵函式,其概率密度函式為 2 其期望和方差 3 證明對具有相同的引數的b的分布,關於引數p具有可加性。解 1 設x服從分布,則 2 4 若則 同理可得...

KDJ隨機指標

隨機指標 隨機指標是由喬治.萊恩首創的,它在通過當日或最近幾日最 最低價及 價竺 波動的波幅,反映 趨勢的強弱.一 kdj的計算 今日 價 n日內最低價 今 n 日rsv100 n日內最 n日內最低價 今 n 日k值 2 3昨日k值 1 3今 n 日rsv 今 n 日d值 2 3昨日d值 1 3今 ...