隨機森林演算法原理小結

2022-07-12 14:21:29 字數 2978 閱讀 5758

整合學習原理

adaboost 演算法原理

整合學習有兩個流派,乙個是boosting,特點是各個弱學習器之間有依賴關係;乙個是bagging,特點是各個弱學習器之間沒依賴關係,可以並行擬合。

在整合學習原理總結中,給出bagging的原理圖。

(1)、bagging的特點「隨機取樣」。

隨機採集跟訓練集個數m相同的樣本,採集t次。得到取樣集。

(注意:gbdt(gradient boosted decision tree)的子取樣是無放回取樣,而bagging的子取樣是放回取樣。)

(2)、對於乙個樣本,在m個樣本的隨機取樣中,每次被採集到的概率是1/m。

在m次取樣中沒有採集到的概率是:

p(一次都未被採集) = (1-1/m)m

對m取極限得到:

也就是說bagging的每輪隨機取樣中,訓練集大約有36.8%的資料沒被採集。

對於大約36.8%沒被取樣的資料,稱為「袋外資料」。這些資料沒參與訓練集模型的擬合,但可以作為測試集用於測試模型的泛化能力,這樣的測試結果稱為「外包估計」。

(3)、bagging對於弱學習器沒有限制,這和adaboost一樣。但是最常用的一般也是決策樹和神經網路。

(4)、bagging的結

合策略也比較簡單,對於分類問題,通常使用簡單投票法,得到最多票數的類別或者類別之一為最終的模型輸出。對於回歸問題,通常使用簡單平均法,對t個弱學習器得到的回歸結果進行算術平均得到最終的模型輸出。

由於bagging演算法每次都進行取樣來訓練模型,因此泛化能力很強,對於降低模型的方差很有作用。當然對於訓練集的擬合程度就會差一些,也就是模型的偏倚會大一些。

2.bagging演算法流程

相對於boosting系列的adaboost和gbdt,bagging演算法簡單的多。

輸入樣本集

,弱學習器演算法,迭代次數t。

輸出為最終的強分類器 f(x)

(1)對於 t = 1,2,...,t:

(2)如果是分類演算法**,則t個弱學習器投出最多票數的類別或者類別之一為最終類別。如果是回歸演算法,t個弱學習器得到的回歸結果進行算術平均得到的值為最終的模型輸出。

rf(random forest)演算法是對bagging演算法進行了改進。

首先,rf使用了cart決策樹作為弱學習器,這讓我們想到梯度提公升樹gbdt。

第二,在使用決策樹的基礎上,rf對決策樹的建立做了改進,對於普通的決策樹,我們會在節點上所有的(n個)樣本特徵中選擇乙個最優的特徵來做決策樹的左右子樹劃分,但是rf會在節點上隨機選擇一部分樣本特徵,這個數字小於n,假設為nsub,然後在這些隨機選擇的【nsub(小於n)】樣本特徵中,選擇乙個最優的特徵來做決策樹的左右子樹劃分。這樣進一步增強了模型的泛化能力。

除了上面兩點,rf和普通的bagging演算法沒什麼不同,下面簡單總結下rf的演算法。

輸入為樣本集

,弱分類器迭代次數t。

輸出為最終的強分類器f(x)

(1)對於t = 1,2,3,...,t;

(2)如果是分類演算法**,則t個弱學習器投出最多票數的類別或者類別之一為最終類別。如果是回歸演算法,t個弱學習器得到的回歸結果進行算術平均得到的值為最終的模型輸出。

rf不僅用於分類問題,還可以用於特徵轉換,異常點檢測等。

extra trees是rf的變種,原理幾乎與rf一模一樣,僅有的區別:

(1)對於每個決策樹的訓練,rf採用的是隨機取樣bootstrap來選擇取樣集作為每個決策樹的訓練集,而extra trees一般不採用隨機取樣,即每個決策樹採用的原始訓練集。

(2)在選定了劃分特徵後,rf的決策樹會基於基尼係數,均方差之類的原則,選擇乙個最優的特徵劃分點,這和傳統的決策樹相同。但是extra trees比較的激進,他會隨機的選擇乙個特徵值來劃分決策樹。

totally random trees embedding(以下簡稱 trte)是一種非監督學習的資料轉化方法。它將低維的資料集對映到高維,從而讓對映到高維的資料更好的運用於分類回歸模型。我們知道,在支援向量機中運用核方法來將低維的資料集對映到高維,此處trte提供了另外一種方法。

trte在資料轉化的過程也使用了類似於rf的方法,建立t個決策樹來擬合資料。當決策樹建立完畢後,資料集裡的每個資料在t個決策樹中葉子節點的位置也定下來了。比如我們有3個決策樹,每個決策樹有5個葉子節點,某個資料特徵x劃分到第乙個決策樹的第2個葉子節點,第二個決策樹的第3個葉子節點,第三個決策樹的第5個葉子節點。則x對映後的特徵編碼為(0,1,0,0,0,     0,0,1,0,0,     0,0,0,0,1),有15維的高維特徵。這裡特徵維度之間加上空格是為了強調三個決策樹各自的子編碼。

對映到高維特徵後,可以繼續使用監督學習的各種分類回歸演算法。

rf的演算法原理也終於講完了,作為乙個可以高度並行化的演算法,rf在大資料時候大有可為。

rf的主要優點有:

1) 訓練可以高度並行化,對於大資料時代的大樣本訓練速度有優勢。個人覺得這是的最主要的優點。

2) 由於可以隨機選擇決策樹節點劃分特徵,這樣在樣本特徵維度很高的時候,仍然能高效的訓練模型。

3) 在訓練後,可以給出各個特徵對於輸出的重要性

4) 由於採用了隨機取樣,訓練出的模型的方差小,泛化能力強。

5) 相對於boosting系列的adaboost和gbdt, rf實現比較簡單。

6) 對部分特徵缺失不敏感。

rf的主要缺點有:

1)在某些噪音比較大的樣本集上,rf模型容易陷入過擬合。

2) 取值劃分比較多的特徵容易對rf的決策產生更大的影響,從而影響擬合的模型的效果。

來自:

Bagging與隨機森林演算法原理小結

bagging與隨機森林演算法原理小結 在整合學習 原理小結中,我們講到了整合學習有兩個流派,乙個是boosting派系,它的特點是各個弱學習器之間有依賴關係。另一種是bagging流派,它的特點是各個弱學習器之間沒有依賴關係,可以並行擬合。本文就對整合學習中bagging與隨機森林 演算法做乙個總...

Bagging與隨機森林演算法原理小結

在整合學習原理小結中,我們給bagging畫了下面一張原理圖。從上圖可以看出,bagging的弱學習器之間的確沒有boosting那樣的聯絡。它的特點在 隨機取樣 那麼什麼是隨機取樣?隨機取樣 bootsrap 就是從我們的訓練集裡面採集固定個數的樣本,但是每採集乙個樣本後,都將樣本放回。也就是說,...

隨機森林演算法原理 機器學習演算法 隨機森林

隨機森林是一種通用的機器學習方法,能夠處理回歸和分類問題。它還負責資料降維 缺失值處理 離群值處理以及資料分析的其他步驟。它是一種整合學習方法,將一組一般的模型組合成乙個強大的模型 我們通過適用隨機的方式從資料中抽取樣本和特徵值,訓練多個不同的決策樹,形成森林。為了根據屬性對新物件進行分類,每個數都...