集成學(xué)習(xí)(ensemble learning)本身不是一個(gè)單獨(dú)的機(jī)器學(xué)習(xí)算法,而是通過(guò)構(gòu)建并結(jié)合多個(gè)機(jī)器學(xué)習(xí)器來(lái)完成學(xué)習(xí)任務(wù)。也就是我們常說(shuō)的“博采眾長(zhǎng)”。集成學(xué)習(xí)可以用于分類(lèi)問(wèn)題集成,回歸問(wèn)題集成,特征選取集成,異常點(diǎn)檢測(cè)集成等等,可以說(shuō)所有的機(jī)器學(xué)習(xí)領(lǐng)域都可以看到集成學(xué)習(xí)的身影
集成學(xué)習(xí)有兩個(gè)主要的問(wèn)題需要解決,第一是如何得到若干個(gè)個(gè)體學(xué)習(xí)器,第二是如何選擇一種結(jié)合策略,將這些個(gè)體學(xué)習(xí)器集合成一個(gè)強(qiáng)學(xué)習(xí)器
個(gè)體學(xué)習(xí)器
上面說(shuō)到, 集成學(xué)習(xí)第一是要得到若干個(gè) 個(gè)體學(xué)習(xí)器, 那么通常的做法, 有2種選擇:
- 所有的個(gè)體學(xué)習(xí)器都是同類(lèi)的,或者說(shuō)是同質(zhì)的, 比如都是某種決策樹(shù)
- 異質(zhì)的個(gè)體學(xué)習(xí)器. 比如采用多種不同的學(xué)習(xí)器, 對(duì)他們進(jìn)行組合
目前, 同質(zhì)學(xué)習(xí)器是最廣泛的, 這里面同質(zhì)學(xué)習(xí)器使用最多的就是CART, 比如: Random Forest,GBDT, LightGBM等
對(duì)于第二個(gè)問(wèn)題: 如何結(jié)合這些個(gè)體學(xué)習(xí)器
- 串行生成. 這類(lèi)集成方法適應(yīng)于個(gè)體學(xué)習(xí)器之間存在較強(qiáng)的關(guān)聯(lián), 代表的就是boosting系列的算法, 如:GBDT
- 并行生成, 這類(lèi)集成方法適應(yīng)于個(gè)體學(xué)習(xí)器之間存在較弱的依賴(lài), 代表的就是bagging系列算法, 如: Random Forest
Boosting系列

Boosting算法的工作機(jī)制是從訓(xùn)練集用初始權(quán)重學(xué)習(xí)出一個(gè)弱分類(lèi)器1, 根據(jù)弱分類(lèi)器的學(xué)習(xí)誤差, 更新對(duì)應(yīng)樣本的權(quán)重, 學(xué)習(xí)得到第二個(gè)弱分類(lèi)器2,樣本權(quán)重隨著上一個(gè)弱分類(lèi)器的情況而定, 分類(lèi)錯(cuò)誤的, 對(duì)應(yīng)樣本權(quán)重就高. 最終, 通過(guò)最后的集成策略, 對(duì)樣本進(jìn)行整合
Bagging系列
bagging方式可以并行計(jì)算, 他的弱學(xué)習(xí)器之間沒(méi)有依賴(lài)關(guān)系, 下一個(gè)學(xué)習(xí)器不需要通過(guò)上一個(gè)學(xué)習(xí)器的表現(xiàn)來(lái)制定相應(yīng)的策略

從上圖可以看出,bagging的個(gè)體弱學(xué)習(xí)器的訓(xùn)練集是通過(guò)隨機(jī)采樣得到的。通過(guò)T次的隨機(jī)采樣,我們就可以得到T個(gè)采樣集,對(duì)于這T個(gè)采樣集,我們可以分別獨(dú)立的訓(xùn)練出T個(gè)弱學(xué)習(xí)器,再對(duì)這T個(gè)弱學(xué)習(xí)器通過(guò)集合策略來(lái)得到最終的強(qiáng)學(xué)習(xí)器,對(duì)于這里的隨機(jī)采樣有必要做進(jìn)一步的介紹,這里一般采用的是自助采樣法(Bootstap sampling),即對(duì)于m個(gè)樣本的原始訓(xùn)練集,我們每次先隨機(jī)采集一個(gè)樣本放入采樣集,接著把該樣本放回,也就是說(shuō)下次采樣時(shí)該樣本仍有可能被采集到,這樣采集m次,最終可以得到m個(gè)樣本的采樣集,由于是隨機(jī)采樣,這樣每次的采樣集是和原始訓(xùn)練集不同的,和其他采樣集也是不同的,這樣得到多個(gè)不同的弱學(xué)習(xí)器
學(xué)習(xí)器的結(jié)合策略
回歸問(wèn)題
對(duì)于回歸問(wèn)題, 結(jié)合的策略通常有以下幾種
- 平均法: 每個(gè)弱學(xué)習(xí)器得到的結(jié)果求平均
- 加權(quán)平均
分類(lèi)問(wèn)題
- 投票法
- 加權(quán)投票法
Stacking
最后一種是 學(xué)習(xí)法: 代表的類(lèi)型是stacking, 當(dāng)使用stacking的結(jié)合策略時(shí), 我們不是對(duì)弱學(xué)習(xí)器的結(jié)果做簡(jiǎn)單的邏輯處理,而是再加上一層學(xué)習(xí)器,也就是說(shuō),我們將訓(xùn)練集弱學(xué)習(xí)器的學(xué)習(xí)結(jié)果作為輸入,將訓(xùn)練集的輸出作為輸出,重新訓(xùn)練一個(gè)學(xué)習(xí)器來(lái)得到最終結(jié)果。在這種情況下,我們將弱學(xué)習(xí)器稱(chēng)為初級(jí)學(xué)習(xí)器,將用于結(jié)合的學(xué)習(xí)器稱(chēng)為次級(jí)學(xué)習(xí)器。對(duì)于測(cè)試集,我們首先用初級(jí)學(xué)習(xí)器預(yù)測(cè)一次,得到次級(jí)學(xué)習(xí)器的輸入樣本,再用次級(jí)學(xué)習(xí)器預(yù)測(cè)一次,得到最終的預(yù)測(cè)結(jié)果