什么是集成學(xué)習(xí)囱修,一句話捞烟,三個(gè)臭皮匠頂個(gè)諸葛亮薄声。在分類的表現(xiàn)上就是,多個(gè)弱分類器組合變成強(qiáng)分類器题画。
- 一句話默辨,假設(shè)各弱分類器間具有一定差異性(如不同的算法,或相同算法不同參數(shù)配置)苍息,這會導(dǎo)致生成的分類決策邊界不同缩幸,也就是說它們在決策時(shí)會犯不同的錯(cuò)誤。將它們結(jié)合后能得到更合理的邊界竞思,減少整體錯(cuò)誤表谊,實(shí)現(xiàn)更好的分類效果。
- 集成學(xué)習(xí)可以用于分類問題集成盖喷,回歸問題集成爆办,特征選取集成,異常點(diǎn)檢測集成等等传蹈,可以說所有的機(jī)器學(xué)習(xí)領(lǐng)域都可以看到集成學(xué)習(xí)的身影押逼。
- 集成學(xué)習(xí)有兩個(gè)主要的問題需要解決,第一是如何得到若干個(gè)個(gè)體學(xué)習(xí)器惦界,第二是如何選擇一種結(jié)合策略挑格,將這些個(gè)體學(xué)習(xí)器集合成一個(gè)強(qiáng)學(xué)習(xí)器。
集成學(xué)習(xí)— 個(gè)體學(xué)習(xí)器(問題1)
集成學(xué)習(xí)的第一個(gè)問題就是如何得到若干個(gè)個(gè)體學(xué)習(xí)器沾歪。這里我們有兩種選擇漂彤。
第一種:個(gè)體學(xué)習(xí)器都是一個(gè)種類的,比如都是決策樹個(gè)體學(xué)習(xí)器,或者都是神經(jīng)網(wǎng)絡(luò)個(gè)體學(xué)習(xí)器挫望。(應(yīng)用是最廣泛的)
同質(zhì)個(gè)體學(xué)習(xí)器使用最多的模型是CART決策樹和神經(jīng)網(wǎng)絡(luò)立润。
同質(zhì)個(gè)體學(xué)習(xí)器按照個(gè)體學(xué)習(xí)器之間是否存在依賴關(guān)系可以分為兩類:
- 個(gè)體學(xué)習(xí)器之間存在強(qiáng)依賴關(guān)系,一系列個(gè)體學(xué)習(xí)器基本都需要串行生成媳板,代表算法是boosting系列算法桑腮。 Boosting系列算法里最著名算法主要有AdaBoost算法和提升樹(boosting tree)系列算法。提升樹系列算法里面應(yīng)用最廣泛的是梯度提升樹(Gradient Boosting Tree)蛉幸。
- 個(gè)體學(xué)習(xí)器之間不存在強(qiáng)依賴關(guān)系破讨,一系列個(gè)體學(xué)習(xí)器可以并行生成,代表算法是bagging和隨機(jī)森林(Random Forest)系列算法奕纫。
第二種:個(gè)體學(xué)習(xí)器不全是一個(gè)種類的提陶,或者說是異質(zhì)的。比如我們有一個(gè)分類問題匹层,對訓(xùn)練集采用支持向量機(jī)個(gè)體學(xué)習(xí)器隙笆,邏輯回歸個(gè)體學(xué)習(xí)器和樸素貝葉斯個(gè)體學(xué)習(xí)器來學(xué)習(xí),再通過某種結(jié)合策略來確定最終的分類強(qiáng)學(xué)習(xí)器升筏。
集成學(xué)習(xí)--boosting
Boosting算法的工作機(jī)制是首先從訓(xùn)練集用初始權(quán)重訓(xùn)練出一個(gè)弱學(xué)習(xí)器1
根據(jù)弱學(xué)習(xí)的學(xué)習(xí)誤差率表現(xiàn)來更新訓(xùn)練樣本的權(quán)重撑柔,使得之前弱學(xué)習(xí)器1學(xué)習(xí)誤差率高的訓(xùn)練樣本點(diǎn)的權(quán)重變高,使得這些誤差率高的點(diǎn)在后面的弱學(xué)習(xí)器2中得到更多的重視仰冠。
然后基本調(diào)整權(quán)重后的訓(xùn)練集來訓(xùn)練弱學(xué)習(xí)器2.乏冀,如此重復(fù)進(jìn)行蝶糯,直到弱學(xué)習(xí)器數(shù)達(dá)到事先指定的數(shù)目T洋只,最終將這T個(gè)弱學(xué)習(xí)器通過集合策略進(jìn)行整合,得到最終的強(qiáng)學(xué)習(xí)器昼捍。
- 代表算法:有AdaBoost算法和提升樹(boosting tree)系列算法识虚。。提升樹系列算法里面應(yīng)用最廣泛的是梯度提升樹(Gradient Boosting Tree)妒茬。
集成學(xué)習(xí)---bagging
Bagging的算法原理和 boosting不同担锤,它的弱學(xué)習(xí)器之間沒有依賴關(guān)系,可以并行生成
從上圖可以看出乍钻,bagging的個(gè)體弱學(xué)習(xí)器的訓(xùn)練集是通過隨機(jī)采樣得到的肛循。通過T次的隨機(jī)采樣,我們就可以得到T個(gè)采樣集银择,對于這T個(gè)采樣集多糠,我們可以分別獨(dú)立的訓(xùn)練出T個(gè)弱學(xué)習(xí)器,再對這T個(gè)弱學(xué)習(xí)器通過集合策略來得到最終的強(qiáng)學(xué)習(xí)器浩考。
-
隨機(jī)采樣有必要做進(jìn)一步的介紹夹孔,這里一般采用的是自助采樣法(Bootstap sampling)
對于m個(gè)樣本的原始訓(xùn)練集,我們每次先隨機(jī)采集一個(gè)樣本放入采樣集,接著把該樣本放回搭伤,也就是說下次采樣時(shí)該樣本仍有可能被采集到只怎,這樣采集m次,最終可以得到m個(gè)樣本的采樣集怜俐,由于是隨機(jī)采樣身堡,這樣每次的采樣集是和原始訓(xùn)練集不同的,和其他采樣集也是不同的拍鲤,這樣得到多個(gè)不同的弱學(xué)習(xí)器盾沫。
-
隨機(jī)森林是bagging的一個(gè)特化進(jìn)階版
特化:隨機(jī)森林的弱學(xué)習(xí)器都是決策樹
進(jìn)階:隨機(jī)森林在bagging的樣本隨機(jī)采樣基礎(chǔ)上,又加上了特征的隨機(jī)選擇殿漠,其基本思想沒有脫離bagging的范疇
集成學(xué)習(xí)—結(jié)合策略(問題2)
我們假定我得到的T個(gè)弱學(xué)習(xí)器是{h_1,h_2,…h(huán)T}
平均法
? 對于數(shù)值類的回歸預(yù)測問題赴精,通常使用的結(jié)合策略是平均法,也就是說绞幌,對于若干和弱學(xué)習(xí)器的輸出進(jìn)行平均得到最終的預(yù)測輸出蕾哟。
投票法
對于分類問題的預(yù)測,我們通常使用的是投票法莲蜘。假設(shè)我們的預(yù)測類別是{c1,c2,...cK},對于任意一個(gè)預(yù)測樣本x谭确,我們的T個(gè)弱學(xué)習(xí)器的預(yù)測結(jié)果分別是(h1(x),h2(x)...hT(x))。
最簡單的投票法是相對多數(shù)投票法票渠,也就是我們常說的少數(shù)服從多數(shù)逐哈,也就是T個(gè)弱學(xué)習(xí)器的對樣本x的預(yù)測結(jié)果中,數(shù)量最多的類別cici為最終的分類類別问顷。如果不止一個(gè)類別獲得最高票昂秃,則隨機(jī)選擇一個(gè)做最終類別。
稍微復(fù)雜的投票法是絕對多數(shù)投票法杜窄,也就是我們常說的要票過半數(shù)肠骆。在相對多數(shù)投票法的基礎(chǔ)上,不光要求獲得最高票塞耕,還要求票過半數(shù)蚀腿。否則會拒絕預(yù)測。
更加復(fù)雜的是加權(quán)投票法扫外,和加權(quán)平均法一樣莉钙,每個(gè)弱學(xué)習(xí)器的分類票數(shù)要乘以一個(gè)權(quán)重,最終將各個(gè)類別的加權(quán)票數(shù)求和筛谚,最大的值對應(yīng)的類別為最終類別磁玉。
學(xué)習(xí)法
上兩節(jié)的方法都是對弱學(xué)習(xí)器的結(jié)果做平均或者投票,相對比較簡單刻获,但是可能學(xué)習(xí)誤差較大蜀涨,于是就有了學(xué)習(xí)法這種方法瞎嬉,對于學(xué)習(xí)法,代表方法是stacking厚柳,當(dāng)使用stacking的結(jié)合策略時(shí)氧枣, 我們不是對弱學(xué)習(xí)器的結(jié)果做簡單的邏輯處理,而是再加上一層學(xué)習(xí)器别垮,也就是說便监,我們將訓(xùn)練集弱學(xué)習(xí)器的學(xué)習(xí)結(jié)果作為輸入,將訓(xùn)練集的輸出作為輸出碳想,重新訓(xùn)練一個(gè)學(xué)習(xí)器來得到最終結(jié)果烧董。
在這種情況下,我們將弱學(xué)習(xí)器稱為初級學(xué)習(xí)器胧奔,將用于結(jié)合的學(xué)習(xí)器稱為次級學(xué)習(xí)器逊移。對于測試集,我們首先用初級學(xué)習(xí)器預(yù)測一次龙填,得到次級學(xué)習(xí)器的輸入樣本胳泉,再用次級學(xué)習(xí)器預(yù)測一次,得到最終的預(yù)測結(jié)果岩遗。