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