【機器學習】整合學習——Bagging與隨機森林

w39發表於2021-09-09

【資料集劃分Strategy】

  • 留出法
  • 交叉驗證法
  • 自助法

留出法

在保證樣本類別均衡(正類和負類)的情況下,將資料集劃分為:訓練集測試集,一般常見的做法是將大約23frac{2}{3}~45frac{4}{5}的樣本用於訓練,剩餘樣本用於測試。舉例:有1000個樣本,其中500個正類,500個負類,使用“分層取樣”方法,保證訓練集和測試集中正類、負類樣本數量1:1,若採用45frac{4}{5}的比例,則訓練集有800個樣本,其中正類、負類各400個,測試集,正類、負類各100個。

交叉驗證法

先將資料集DD劃分為kk個大小相似的互斥子集,即
D=D1D2Dk,DiDj=D=D_1 cup D_2 cup cdots cup D_k, D_i cap D_j=emptyset
每個子集DiD_i都儘可能保持資料分佈的一致性,即從DD中透過分層取樣得到。然後,每次用k1k-1個子集的並集作為訓練集,餘下的那個子集作為測試集;這樣就可獲得kk組訓練/測試集,從而可進行kk次訓練和測試,最紅返回的是這kk個測試結果的均值。

自助法

給定包含mm個樣本的資料集DD,我們對它進行取樣產生資料集D´acute{D}:每次隨即從DD中挑選一個樣本,將其複製放入D´acute{D},然後再將該樣本放回初始資料集DD中,使得該樣本在下次取樣時仍有可能被採到;這個過程重複執行mm次後,我們就得到了包含mm個樣本的資料集D´acute{D},這就是自助取樣的結果。顯然,DD
有一部分樣本會在D´acute{D}中多次出現,而領一部分樣本不出現。樣本在mm次取樣中始終不被採到的機率是(11m)m(1-frac{1}{m})^m,取極限得到:
limm(11m)m1e0.368lim_{mto infty}left(1- frac{1}{m}right)^m rightarrowtail frac{1}{e} thickapprox 0.368
之所以在這裡介紹這些內容,是因為bagging整合演算法中用到了自助取樣法(自助法),所以才會有了這部分內容。

【Bagging】

Bagging是並行式整合學習演算法最著名的代表。對資料集的劃分,採用自助取樣法,透過TT次取樣得到TT個訓練集和測試集,基於每個取樣集(訓練集)訓練出一個基學習器,再將這些基學習器進行結合。這就是Bagging的基本流程,在對TT個基學習器進行組合的時候,通常對分類任務使用簡單投票法,對迴歸任務使用簡單平均法。
演算法流程圖如下:
圖片描述

包外估計

自助取樣法為Bagging演算法提供了估計模型泛化效能的方法,即包外估計。由於每個基學習器只是用了初始訓練集中約63.2%的樣本,剩下約36.8%的樣本可用作驗證集來對泛化效能進行“包外估計”。為此需記錄每個基學習器所使用的訓練樣本,不妨設DtD_t表示hth_t實際使用的訓練樣本集,令Hoob(x)H^{oob}(x)表示對樣本xx的包外預測,則僅考慮那些未使用xx訓練的基學習器在xx上的預測,有
Hoob(x)=arg maxyγt=1TI(ht(x)=y)I(xDt)H^{oob}(x)=underset{yin gamma}{arg max}sum_{t=1}^{T}I(h_t(x)=y) cdot I(x notin D_t)
則Bagging泛化誤差的包外估計為:
ϵoob=1D(x,y)DI(Hoob(x)y)epsilon^{oob}=frac{1}{|D|}sum_{(x,y)in D}I(H^{oob}(x)neq y)
從偏差-方差的角度看,Bagging主要關注降低方差,Boosting主要關注減低偏差。

【隨機森林】

隨機森林是Bagging的一個擴充套件變體,簡稱RF。是在Bagging的基礎之上,進一步引入了隨機屬性選擇,即在決策樹的訓練過程中,引入了隨機屬性選擇,增加了基學習器的多樣性。
具體做法如下:傳統決策樹在選擇劃分屬性時是在當前節點的屬性集合(假定有dd個屬性)中選擇一個最優屬性;而RF,對基決策樹的每個結點,先從該結點的屬性集合中隨機選擇一個包含kk個屬性的子集,然後再從這個子集中選擇一個最優屬性用於劃分。這裡的引數kk控制了隨機性的引入程度:若k=dk=d,則基決策樹的構建與傳統決策樹相同;若令k=1k=1,則是隨機選擇一個屬性用於劃分;一般情況下,推薦值k=log2dk=log_2d
具體的程式碼實現,可以使用scikit-learn工具進行實現,程式碼可以參考【機器學習】決策樹——決策樹的兩種實現方式(Python版)

【整合學習——結合策略】

在整合學習中,對於訓練出來的基學習器我們一般採用以下三種方式進行組合:平均法,投票法,學習法(Stacking典型代表)
這部分內容,請參考:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/854/viewspace-2816557/,如需轉載,請註明出處,否則將追究法律責任。

相關文章