整合學習(2) bagging與隨機森林

2021-10-08 06:30:49 字數 2991 閱讀 1150

給定乙個訓練集,對訓練樣本進行取樣,產生出若干個不同的子集,再從每個子集中訓練乙個基學習器。由於訓練資料不同,基學習器可望有比較大的差異。但如果取樣出的每個子集都完全不同,則每個基學習器只用到一小部分訓練資料,甚至不足以有效學習,也就無法產生好的學習器。可以使用相互有交疊的取樣子集解決。

bagging是並行整合學習方法的代表,從名字可以看出它是基於自助取樣法。即有放回的取樣。

給定包含 m

mm 個樣本的資料集,可取樣出 t

tt 個含 m

mm 個訓練樣本的取樣集,用每個取樣集訓練乙個基學習器,再進行結合。對**輸出,bagging通常對分類任務使用簡單投票法,對回歸任務使用簡單平均法

因為每個基學習器都是並行訓練的,而組合的時間開銷可以忽略不計,因此bagging與基學習器的複雜度同階。與標準adaboost只適用於二分類不同,bagging能不修改地用於多分類、回歸任務

從偏差-方差分解角度看,bagging主要關注降低方差,因此它在不剪枝決策樹、神經網路等易受樣本擾動的學習器上效用更為明顯

隨機森林在以決策樹為基學習器構建bagging整合的基礎上,進一步在決策樹的訓練過程中引入了隨機屬性選擇。在rf中,對基決策樹的每個結點,先從該結點的屬性集合中隨機選擇乙個包含 k

kk 個屬性的子集,然後再從這個子集中選擇乙個最優屬性用於劃分。這裡的 k

kk 控制了隨機性的引入程度,一般的推薦值 k=l

og2d

k=log_2 d

k=log2

​d.隨機森林簡單,容易實現,計算開銷小,但效能十分強大,被譽為「代表整合學習技術水平的方法」。相比於bagging中僅通過樣本擾動,隨機森林又加入了屬性擾動,這使得效能進一步提公升。

隨機森林的效率常優於bagging,因為在個體決策樹的構建過程中,bagging使用的是「確定型」決策樹,在劃分屬性時要對結點的所有屬性進行考察,而隨機森林使用「隨機型」決策樹只需考察乙個屬性子集

結合策略可從三個方面帶來好處:

統計方面: 假設空間很多,達到同樣效能的假設可能有多個,選擇單學習器存在誤選的風險,從而導致泛化效能不佳

計算方面:演算法容易陷入區域性極小點,多個學習器結合降低風險

表示方面:某個任務的假設可能不在當前的假設空間,多個學習器結合,假設空間有所擴大

這個不多說

一般對單個學習器進行加權時,權重應該非負在個體學習器效能相差較大時使用加權平均法,效能相近時使用簡單平均法

即超過半數,**為該標記,否則拒絕**。

即最大的那個標記,同時有多個的話,隨機選擇

絕大多數投票法因此存在拒絕**,在可靠性要求較高的任務中比較適用。

考慮學習器的輸入型別有:類標記和類概率兩種,投票也分硬投票和軟投票不同的輸出型別不能混用。對能在**出類別時同時產生分類置信度的學習器,分類置信度可轉化為類概率使用。

雖然分類器估計出的類概率值一般都不太準確,但基於類概率進行結合卻往往比直接基於類標記進行結合效能更好。但是,若基學習器的型別不同,則其類概率值不能直接進行比較。這種情況先轉成類標記,再處理。

是一種更為強大的策略,即通過另乙個學習器來進行結合。stacking是其典型代表。這裡把個體學習器稱為初級學習器,用於結合的學習器稱為次級學習器或元學習器

stacking先從初始資料集訓練出初級學習器,然後用初級學習器的輸出當做樣例輸入特徵,初始樣本的標記仍然作為樣例標記。在這個新資料集上訓練次級學習器。

注意次級訓練集的生成不再使用原來的屬性,若初級學習器的個數是 t

tt, 樣本個數是 m

mm ,那麼次級訓練集的屬性矩陣大小是 m×t

m \times t

m×t,再加上原標記,資料集大小是 m×(

t+1)

m \times (t+1)

m×(t+1

)。如果直接使用原來初級學習器的訓練集,過擬合的風險會比較大。因此一般用驗證集生成次級訓練集。

次級學習器的輸入屬性表示和次級學習演算法對stacking整合的泛化效能有很大影響。有研究表明,將初級學習器的輸出類概率作為次級學習器的輸入屬性,用多響應線性回歸作為次級學習演算法效果較好。

資料樣本擾動

輸入屬性擾動:對屬性冗餘的資料,將屬性集劃分,各自訓練學習器

輸出表示擾動

演算法引數擾動

rf的演算法原理也終於講完了,作為乙個可以高度並行化的演算法,rf在大資料時候大有可為。 這裡也對常規的隨機森林演算法的優缺點做乙個總結。

rf的主要優點有:

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

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

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

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

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

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

rf的主要缺點有:

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

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

周志華《機器學習》

整合學習2 bagging

參考 清華大學 資料探勘課程 1.bagging bootstrap aggregation bagging是有放回的取出樣本中的部分樣本,進行多次這種操作得到多組樣本,用這些樣本訓練多個分類器,然後在 的時候,用這些分類器進行 用這些 值進行投票。比如7個 為1,3個 為0,則總的 值就為1。2....

整合學習 Bagging與隨機森林演算法原理小結

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

整合學習3 隨機森林(RF)與 bagging

隨機森林大家都不會陌生,相對於xgb來講,方法很簡單,沒有那麼多複雜的公式,其主要是一種思想 bagging,關於抽樣 統計的。隨機森林也是決策樹家族的一員,了解隨機森林也得從決策樹開始,感興趣的可以參考這篇文章 決策樹 id3 c4.5 cart演算法 以及 整合學習1 xgboost 為什麼要出...