https://www.hrwhisper.me/machine-learning-model-ensemble-and-bagging/
如果硬要把集成學(xué)習(xí)進(jìn)一步分類笨觅,可以分為兩類枚钓,一種是把強(qiáng)分類器進(jìn)行強(qiáng)強(qiáng)聯(lián)合,使得融合后的模型效果更強(qiáng)们何,稱為模型融合
。另一種是將弱分類器通過(guò)學(xué)習(xí)算法集成起來(lái)變?yōu)楹軓?qiáng)的分類器馁龟,稱為機(jī)器學(xué)習(xí)元算法
蹋盆。
這里我們把用來(lái)進(jìn)行融合的學(xué)習(xí)器稱為個(gè)體學(xué)習(xí)器。
模型融合的代表有:投票法(Voting)后德、線性混合(Linear Blending)部宿、Stacking。
而機(jī)器學(xué)習(xí)元算法又可以根據(jù)個(gè)體學(xué)習(xí)器之間是否存在依賴關(guān)系分為兩類瓢湃,稱為Bagging和Boosting:
- Bagging: 個(gè)體學(xué)習(xí)器
不存在依賴關(guān)系
理张,可同時(shí)對(duì)樣本隨機(jī)采樣
并行化
生成個(gè)體學(xué)習(xí)器。代表作為隨機(jī)森林(Random Forest) - Boosting: 個(gè)體學(xué)習(xí)器
存在依賴關(guān)系
,基于前面模型的訓(xùn)練結(jié)果誤差生成新的模型绵患,必須串行化
生成雾叭。代表的算法有:Adaboost、GBDT落蝙、XGBoost
不過(guò)也有說(shuō)法是:
(1)用于減少方差的bagging(樣本存在重疊導(dǎo)致分布的差異即方差縮兄)
(2)用于減少偏差的boosting(每一次迭代都根據(jù)上一次迭代的預(yù)測(cè)結(jié)果對(duì)樣本進(jìn)行加權(quán)作煌,所以隨著迭代不斷進(jìn)行,誤差會(huì)越來(lái)越小赚瘦,所以模型的 bias 會(huì)不斷降低粟誓。)
(3)用于提升預(yù)測(cè)結(jié)果的stacking
模型融合:
上面提到,模型融合是把強(qiáng)分類器進(jìn)行強(qiáng)強(qiáng)聯(lián)合起意,變得更強(qiáng)鹰服。
在進(jìn)行模型融合的時(shí)候,也不是說(shuō)隨意的融合就能達(dá)到好的效果揽咕。進(jìn)行融合時(shí)悲酷,所需的集成個(gè)體(就是用來(lái)集成的模型)應(yīng)該好而不同。好指的是個(gè)體學(xué)習(xí)器的性能要好亲善,不同指的是個(gè)體模型的類別不同设易。
這里舉個(gè)西瓜書(shū)的例子,在介紹例子之前蛹头,首先提前介紹簡(jiǎn)單投票法顿肺,以分類問(wèn)題為例,就是每個(gè)分類器對(duì)樣例進(jìn)行投票渣蜗,哪個(gè)類別得到的票數(shù)最多的就是融合后模型的結(jié)果屠尊。
在上面的例子中,采用的就是簡(jiǎn)單的投票法耕拷。中間的圖b各個(gè)模型輸出都一樣讼昆,因此沒(méi)有什么效果。第三個(gè)圖c每個(gè)分類器的精度只有33%骚烧,融合后反而更糟浸赫。也就是說(shuō),想要模型融合有效果赃绊,個(gè)體學(xué)習(xí)器要有一定的準(zhǔn)確率既峡,并且要有多樣性,學(xué)習(xí)器之間具有差異凭戴,即”好而不同“涧狮。
如何做到好而不同呢?
可以由下面幾個(gè)方面:
針對(duì)輸入數(shù)據(jù):使用采樣的方法得到不同的樣本(比如bagging方法采用自助法進(jìn)行抽樣)
針對(duì)特征:對(duì)特征進(jìn)行抽樣
針對(duì)算法本身:
- 個(gè)體學(xué)習(xí)器ht來(lái)自不同的模型集合(LR/SVM)
- 個(gè)體學(xué)習(xí)器ht來(lái)自于同一個(gè)模型集合的不同超參數(shù)么夫,例如學(xué)習(xí)率η不同
- 算法本身具有隨機(jī)性者冤,例如用不同的隨機(jī)種子來(lái)得到不同的模型
- 針對(duì)輸出:對(duì)輸出表示進(jìn)行操縱以增強(qiáng)多樣性
- 如將多分類轉(zhuǎn)化為多個(gè)二分類任務(wù)來(lái)訓(xùn)練單模型
- 將分類輸出轉(zhuǎn)化為回歸輸出等
進(jìn)行模型融合為什么比較好呢?
學(xué)習(xí)器的結(jié)合可能會(huì)從三個(gè)方面帶來(lái)好處:
首先,從統(tǒng)計(jì)的方面來(lái)看档痪,由于學(xué)習(xí)任務(wù)的假設(shè)空間往往很大涉枫,可能有多個(gè)假設(shè)在訓(xùn)練集上達(dá)到相同的性能,此時(shí)若使用單學(xué)習(xí)器腐螟,可能因誤選而導(dǎo)致泛化性能不佳愿汰,結(jié)合多個(gè)學(xué)習(xí)器則會(huì)減少這一風(fēng)險(xiǎn)惋鹅;
第二啤咽,從計(jì)算的方面來(lái)看赤套,學(xué)習(xí)算法往往會(huì)陷入局部極小搀擂,有的局部極小點(diǎn)所對(duì)應(yīng)的泛化性能可能很糟糕,而通過(guò)多次運(yùn)行之后進(jìn)行結(jié)合吗跋,可降低陷入糟糕局部極小點(diǎn)的風(fēng)險(xiǎn)侧戴;
第三,從表示的方面來(lái)看跌宛,某些學(xué)習(xí)任務(wù)的真實(shí)假設(shè)可能不在當(dāng)前學(xué)習(xí)算法所考慮的假設(shè)空間中酗宋,此時(shí)若使用單學(xué)習(xí)器則肯定無(wú)效,而通過(guò)結(jié)合多個(gè)學(xué)習(xí)器疆拘,由于相應(yīng)的假設(shè)空間有所擴(kuò)大蜕猫,有可能學(xué)得更好的近似。
投票和平均 Voting and Average
分類
對(duì)于分類任務(wù)來(lái)說(shuō)哎迄,可以使用投票的方法:
簡(jiǎn)單投票法(一人一票):
- 即各個(gè)分類器輸出其預(yù)測(cè)的類別
回右,取對(duì)應(yīng)類別最高票作為結(jié)果。若有多個(gè)類別都是最高票芬失,那么隨機(jī)選取一個(gè)楣黍。
匾灶,
或者
加權(quán)投票法(投一票相當(dāng)于人家兩票):
和上面的簡(jiǎn)單投票法類似棱烂,不過(guò)多了個(gè)權(quán)重
使用類概率進(jìn)行結(jié)合往往比直接基于類標(biāo)記的效果好,即使分類器估計(jì)出的概率值一般都不太準(zhǔn)確阶女。
回歸
簡(jiǎn)單平均(所有估計(jì)值求平均):
加權(quán)平均:
對(duì)于回歸任務(wù)來(lái)說(shuō)颊糜,采用的為平均法。