機器學習演算法之bagging與隨機森林演算法

2021-10-23 13:33:31 字數 3369 閱讀 8428

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

隨機森林是整合學習中可以和梯度提公升樹gbdt分庭抗禮的演算法,尤其是它可以很方便的並行訓練,在如今大資料大樣本的的時代很有**力。

bagging:基於資料隨機重抽樣的分類器構建方法。從訓練集從進行子抽樣組成每個基模型所需要的子訓練集,對所有基模型**的結果進行綜合產生最終的**結果。

它的特點在**「隨機取樣」**。那麼什麼是隨機取樣?

**隨機取樣(bootsrap)**就是從我們的訓練集裡面採集固定個數的樣本,但是每採集乙個樣本後,都將樣本放回。也就是說,之前採集到的樣本在放回後有可能繼續被採集到。對於我們的bagging演算法,一般會隨機採集和訓練集樣本數m一樣個數的樣本。這樣得到的取樣集和訓練集樣本的個數相同,但是樣本內容不同。如果我們對有m個樣本訓練集做t次的隨機取樣,,則由於隨機性,t個取樣集各不相同。

注意到這和gbdt的子取樣是不同的。gbdt的子取樣是無放回取樣,而bagging的子取樣是放回取樣。

rfr演算法是由leo breiman和adele cutler[1]於2023年共同提出的一種基於決策樹的整合學習演算法。rfr演算法是機器學習演算法中精確度較高的演算法,能克服單個**或分類模型的缺點,被廣泛應用於經濟、醫學、生物等領域。

2.1基本原理

理解了bagging演算法,隨機森林(random forest,以下簡稱rf)就好理解了。它是bagging演算法的進化版,也就是說,它的思想仍然是bagging,但是進行了獨有的改進。

rf引入了bagging和隨機子空間的思想。隨機森林是乙個用演算法構建的沒有剪枝的分類決策樹的集合,森林的輸出釆用簡單多數投票法,或者是單棵樹輸出結果的簡單平均得到。

具體的訓練過程如下:

步驟1 利用bagging思想,隨機產生樣本子集。

步驟2 利用隨機子空間思想,隨機抽取f個特徵,進行節點**,構建單棵回歸決策子樹。

步驟3 重複步驟1、步驟2,構建t棵回歸決策子樹,每棵樹自由生長,不進行剪枝,形成森林。

步驟4 t棵決策子樹的**值取平均,作為最終結果

隨機:資料取樣隨機,特徵選擇隨機

森林:很多個決策樹並行放在一起(決策樹的詳細講解)

首先,rf使用了cart決策樹作為弱學習器,這讓我們想到了梯度提公升樹gbdt。第二,在使用決策樹的基礎上,rf對決策樹的建立做了改進,對於普通的決策樹,我們會在節點上所有的n個樣本特徵中選擇乙個最優的特徵來做決策樹的左右子樹劃分,但是rf通過隨機選擇節點上的一部分樣本特徵,這個數字小於n,假設為n_,然後在這些隨機選擇的n_個樣本特徵中,選擇乙個最優的特徵來做決策樹的左右子樹劃分。這樣進一步增強了模型的泛化能力。

如果n_=n,則此時rf的cart決策樹和普通的cart決策樹沒有區別。n_越小,則模型越健壯,當然此時對於訓練集的擬合程度會變差。也就是說n_越小,模型的方差會減小,但是偏差會增大。在實際案例中,一般會通過交叉驗證調參獲取乙個合適的n_的值。

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

2.2、隨機森林的加深理解

袋外錯誤率(oob error,out-of-bag error):

對整合演算法而言,有整合模型的框架引數,也有基模型的框架引數,我們要分清其中的意義。

首先我們關注於rf的bagging框架的引數

1、n_estimators: 也就是弱學習器的最大迭代次數,或者說最大的弱學習器的個數。一般來說n_estimators太小,容易欠擬合,n_estimators太大,計算量會太大,並且n_estimators到一定的數量後,再增大n_estimators獲得的模型提公升會很小,所以一般選擇乙個適中的數值。預設是100。

2、oob_score:即是否採用袋外樣本來評估模型的好壞。預設是false。推薦設定為true,因為袋外分數反應了乙個模型擬合後的泛化能力。

3、criterion: 即cart樹做劃分時對特徵的評價標準。分類模型和回歸模型的損失函式是不一樣的。分類rf對應的cart分類樹預設是基尼係數gini,另乙個可選擇的標準是資訊增益。回歸rf對應的cart回歸樹預設是均方差mse,另乙個可以選擇的標準是絕對值差mae。一般來說選擇預設的標準就已經很好的。

rf的決策樹引數

決策樹的框架引數這裡就不做闡述。決策樹的講解部分有講。

最後也提一下,隨機森林有很多的變種,感興趣的可以自己研究。

優點:

1、**效果比較好

2、訓練可以高度並行化,對於大資料時代的大樣本訓練速度有優勢。

3、能處理高維特徵,不需要提前做特徵過濾

4、不容易過擬合

5、模型訓練速度快(相比boosting),容易做並行化處理

6、能對特徵的重要性排序

缺點:

1、對少量資料集和低維資料集的分類不一定可以得到很好的效果

2、執行速度雖然比boosting等快,但還是比單個的決策樹慢很多

機器學習(五) Bagging與Boosting

bagging bagging breiman,1996 通過訓練許多基本分類器進行投票分類,每種基本分類器 如決策樹,神經網路 通過投票的方式降低偏差增加方差。假設我們的任務是使用訓練資料學習乙個模型 q 這些公式的含義?boosting boosting freund shapire,1996 ...

機器學習篇 bagging

bagging 隨機森林是ensemble整合演算法之一 1 模型 整合演算法,弱分類器或基模型一般為cart樹,可分類可回歸,判別模型 2 策略 bagging演算法對樣本重取樣,分別構造決策樹,並由各決策樹的分類結果進行投票或取平均 隨機森林 rf 與bagging的區別是除了樣本重取樣外還要特...

機器學習筆記之六 Bagging 簡述

本文結構 bagging bootstrap aggregating 的縮寫。是一種並行式整合學習方法,可用於二分類,多分類,回歸等任務。基本流程 對乙個包含 m 個樣本的資料集,有放回地進行 m 次隨機取樣,這樣得到具有 m 個樣本的取樣集。取 t 個這樣的取樣集。每個取樣集訓練乙個基學習器。結合...