集成學(xué)習(xí)(ensemble learning)本身不是一個單獨的機器學(xué)習(xí)算法静檬,而是通過構(gòu)建并結(jié)合多個機器學(xué)習(xí)器來完成學(xué)習(xí)任務(wù)。也就是我們常說的“博采眾長”尉姨。集成學(xué)習(xí)可以用于分類問題集成庵朝,回歸問題集成,特征選取集成又厉,異常點檢測集成等等九府,可以說所有的機器學(xué)習(xí)領(lǐng)域都可以看到集成學(xué)習(xí)的身影
集成學(xué)習(xí)有兩個主要的問題需要解決,第一是如何得到若干個個體學(xué)習(xí)器覆致,第二是如何選擇一種結(jié)合策略侄旬,將這些個體學(xué)習(xí)器集合成一個強學(xué)習(xí)器
個體學(xué)習(xí)器
上面說到, 集成學(xué)習(xí)第一是要得到若干個 個體學(xué)習(xí)器, 那么通常的做法, 有2種選擇:
- 所有的個體學(xué)習(xí)器都是同類的,或者說是同質(zhì)的, 比如都是某種決策樹
- 異質(zhì)的個體學(xué)習(xí)器. 比如采用多種不同的學(xué)習(xí)器, 對他們進行組合
目前, 同質(zhì)學(xué)習(xí)器是最廣泛的, 這里面同質(zhì)學(xué)習(xí)器使用最多的就是CART, 比如: Random Forest,GBDT, LightGBM等
對于第二個問題: 如何結(jié)合這些個體學(xué)習(xí)器
- 串行生成. 這類集成方法適應(yīng)于個體學(xué)習(xí)器之間存在較強的關(guān)聯(lián), 代表的就是boosting系列的算法, 如:GBDT
- 并行生成, 這類集成方法適應(yīng)于個體學(xué)習(xí)器之間存在較弱的依賴, 代表的就是bagging系列算法, 如: Random Forest
Boosting系列
Boosting算法的工作機制是從訓(xùn)練集用初始權(quán)重學(xué)習(xí)出一個弱分類器1, 根據(jù)弱分類器的學(xué)習(xí)誤差, 更新對應(yīng)樣本的權(quán)重, 學(xué)習(xí)得到第二個弱分類器2,樣本權(quán)重隨著上一個弱分類器的情況而定, 分類錯誤的, 對應(yīng)樣本權(quán)重就高. 最終, 通過最后的集成策略, 對樣本進行整合
Bagging系列
bagging方式可以并行計算, 他的弱學(xué)習(xí)器之間沒有依賴關(guān)系, 下一個學(xué)習(xí)器不需要通過上一個學(xué)習(xí)器的表現(xiàn)來制定相應(yīng)的策略
從上圖可以看出,bagging的個體弱學(xué)習(xí)器的訓(xùn)練集是通過隨機采樣得到的煌妈。通過T次的隨機采樣儡羔,我們就可以得到T個采樣集,對于這T個采樣集璧诵,我們可以分別獨立的訓(xùn)練出T個弱學(xué)習(xí)器笔链,再對這T個弱學(xué)習(xí)器通過集合策略來得到最終的強學(xué)習(xí)器,對于這里的隨機采樣有必要做進一步的介紹,這里一般采用的是自助采樣法(Bootstap sampling),即對于m個樣本的原始訓(xùn)練集腮猖,我們每次先隨機采集一個樣本放入采樣集鉴扫,接著把該樣本放回,也就是說下次采樣時該樣本仍有可能被采集到澈缺,這樣采集m次坪创,最終可以得到m個樣本的采樣集,由于是隨機采樣姐赡,這樣每次的采樣集是和原始訓(xùn)練集不同的莱预,和其他采樣集也是不同的,這樣得到多個不同的弱學(xué)習(xí)器
學(xué)習(xí)器的結(jié)合策略
回歸問題
對于回歸問題, 結(jié)合的策略通常有以下幾種
- 平均法: 每個弱學(xué)習(xí)器得到的結(jié)果求平均
- 加權(quán)平均
分類問題
- 投票法
- 加權(quán)投票法
Stacking
最后一種是 學(xué)習(xí)法: 代表的類型是stacking, 當使用stacking的結(jié)合策略時项滑, 我們不是對弱學(xué)習(xí)器的結(jié)果做簡單的邏輯處理依沮,而是再加上一層學(xué)習(xí)器,也就是說,我們將訓(xùn)練集弱學(xué)習(xí)器的學(xué)習(xí)結(jié)果作為輸入危喉,將訓(xùn)練集的輸出作為輸出宋渔,重新訓(xùn)練一個學(xué)習(xí)器來得到最終結(jié)果。在這種情況下辜限,我們將弱學(xué)習(xí)器稱為初級學(xué)習(xí)器皇拣,將用于結(jié)合的學(xué)習(xí)器稱為次級學(xué)習(xí)器。對于測試集薄嫡,我們首先用初級學(xué)習(xí)器預(yù)測一次氧急,得到次級學(xué)習(xí)器的輸入樣本,再用次級學(xué)習(xí)器預(yù)測一次毫深,得到最終的預(yù)測結(jié)果