集成學(xué)習(xí)
原理
8.1 個體與集成
- 集成學(xué)習(xí)(ensemble learning) 通過構(gòu)建并結(jié)合多個學(xué)習(xí)器來完成學(xué)習(xí)任務(wù)骗卜,有時也被稱為多分類器系統(tǒng)(multi-classifier system)托慨、基于委員會的學(xué)習(xí)(committee-based learning)等。
- 先產(chǎn)生一組“個體學(xué)習(xí)器” (individual learner)卵慰,再用某種策略將它們結(jié)合起來沙郭。個體學(xué)習(xí)器通常由一個現(xiàn)有的學(xué)習(xí)算法從訓(xùn)練數(shù)據(jù)產(chǎn)生,例如決策樹算法裳朋、BP神經(jīng)網(wǎng)絡(luò)算法等病线,此時集成中只包含同種類型的個體學(xué)習(xí)器,例如“決策樹集成”中全是決策樹鲤嫡,“神經(jīng)網(wǎng)絡(luò)集成”中全是神經(jīng)網(wǎng)絡(luò)送挑,這樣的集成是“同質(zhì)”的(homogeneous)。同質(zhì)集成中的個體學(xué)習(xí)器亦稱“基學(xué)習(xí)器”(base learner)暖眼,相應(yīng)的學(xué)習(xí)算法稱為“基學(xué)習(xí)算法”(base learning algorithm)惕耕。集成也可包含不同類型的個體學(xué)習(xí)器,例如同時包含決策樹和神經(jīng)網(wǎng)絡(luò)诫肠,這樣的集成是“異質(zhì)”的(heterogenous)司澎。異質(zhì)集成中的個體學(xué)習(xí)器由不同的學(xué)習(xí)算法生成,這時就不再有基學(xué)習(xí)算法栋豫;相應(yīng)的挤安,個體學(xué)習(xí)器一般不稱為基學(xué)習(xí)器,常稱為“組件學(xué)習(xí)器”(component learner)或直接稱為個體學(xué)習(xí)器丧鸯。
- 集成學(xué)習(xí)通過將多個學(xué)習(xí)器進行結(jié)合蛤铜,常可獲得比單一學(xué)習(xí)器顯著優(yōu)越的泛化性能丛肢。這對“弱學(xué)習(xí)器”(weak learner)尤為明顯围肥,因此集成學(xué)習(xí)的很多理論研究都是針對弱學(xué)習(xí)器進行的,而基學(xué)習(xí)器有時也被直接稱為弱學(xué)習(xí)器蜂怎。弱學(xué)習(xí)器常指泛化性能略優(yōu)于隨機猜想的學(xué)習(xí)器穆刻。但需注意的是,雖然從理論上來說使用弱學(xué)習(xí)器集成足以獲得很好的性能杠步,但在實踐中出于種種考慮蛹批,例如希望使用較少的個體學(xué)習(xí)器,或是重用關(guān)于常見學(xué)習(xí)器的一些經(jīng)驗等篮愉,人們往往會使用比較強的學(xué)習(xí)器腐芍。
- 考慮一個簡單的例子:在二分類任務(wù)中,假定三個分類器在三個測試樣本上的表現(xiàn)试躏,用√表示分類正確猪勇,X表示分類錯誤,集成學(xué)習(xí)的結(jié)果通過投票法(voting)產(chǎn)生颠蕴,即“少數(shù)服從多數(shù)”泣刹。要獲得好的集成助析,個體學(xué)習(xí)器應(yīng)“好而不同”,即個體學(xué)習(xí)器要有一定的“準(zhǔn)確性”椅您,并且要有“多樣性”(diversity)外冀,即學(xué)習(xí)器間具有差異。
- 在現(xiàn)實任務(wù)中掀泳,個體學(xué)習(xí)器是為解決同一個問題訓(xùn)練出來的雪隧,它們顯然不可能相互獨立!事實上员舵,個體學(xué)習(xí)器的“準(zhǔn)確性”和“多樣性”本身就存在沖突脑沿。一般的,準(zhǔn)確性很高之后马僻,要增加多樣性就需犧牲準(zhǔn)確性庄拇。事實上,如何產(chǎn)生并結(jié)合“好而不同”的個體學(xué)習(xí)器韭邓,恰是集成學(xué)習(xí)研究的核心措近。
- 根據(jù)個體學(xué)習(xí)器的生成方式,目前的集成學(xué)習(xí)方法大致可分為兩大類女淑,即個體學(xué)習(xí)器間存在強依賴關(guān)系熄诡、必須串行生成的序列方法,以及個體學(xué)習(xí)器間不存在強依賴關(guān)系诗力、可同時生成的并行化方法;前者的代表是Boosting我抠,后者的代表是 Bagging 和“隨機森林” (Random Forest)苇本。
8.2 Boosting
- Boosting 是一族可將弱學(xué)習(xí)器提升為強學(xué)習(xí)器的算法。這族算法的工作機制類似:先從初始訓(xùn)練集訓(xùn)練出一個基學(xué)習(xí)器菜拓,再根據(jù)基學(xué)習(xí)器的表現(xiàn)對訓(xùn)練樣本分布進行調(diào)整瓣窄,使得先前基學(xué)習(xí)器做錯的訓(xùn)練樣本在后續(xù)受到更多關(guān)注,然后基于調(diào)整后的樣本分布來訓(xùn)練下一個基學(xué)習(xí)器纳鼎;如此重復(fù)進行俺夕,直至基學(xué)習(xí)器數(shù)目達到事先指定的值T,最終將這 T 個基學(xué)習(xí)器進行加權(quán)結(jié)合贱鄙。
- Boosting 族算法最著名的代表是 AdaBoost劝贸。
- Boosting 算法要求基學(xué)習(xí)器能對特定的數(shù)據(jù)分布進行學(xué)習(xí),這可通過“重賦權(quán)法”(re-weighting)實施逗宁,即在訓(xùn)練過程的每一輪中映九,根據(jù)樣本分布為每個訓(xùn)練樣本重新賦予一個權(quán)重。對無法接受帶權(quán)樣本的基學(xué)習(xí)算法瞎颗,則可通過“重采樣法”(re-sampling)來處理件甥,即在每一輪學(xué)習(xí)中捌议,根據(jù)樣本分布對訓(xùn)練集重新進行采用,再用重采樣而得的樣本集對基學(xué)習(xí)器進行訓(xùn)練引有。一般而言瓣颅,這兩種做法沒有顯著的優(yōu)劣差別。
- 需要注意的是譬正,Boosting算法在訓(xùn)練的每一輪都要檢查當(dāng)前生成的基學(xué)習(xí)器是否滿足條件(例如檢查當(dāng)前基分類器是否比隨機猜測好)宫补,一旦條件不滿足,則當(dāng)前基學(xué)習(xí)器即被拋棄导帝,且學(xué)習(xí)過程停止守谓。在此種情形下,初始設(shè)置的學(xué)習(xí)輪數(shù) T 也許還遠未達到您单,可能導(dǎo)致最終集成中只包含很少的基學(xué)習(xí)器而性能不佳斋荞。若采用“重采樣法”,則可獲得“重啟動”機會以避免訓(xùn)練過程過早停止虐秦,即在拋棄不滿足條件的當(dāng)前基學(xué)習(xí)器之后平酿,可根據(jù)當(dāng)前分布重新對訓(xùn)練樣本進行采用,再基于新的采樣結(jié)果重新訓(xùn)練出基學(xué)習(xí)器悦陋,從而使得學(xué)習(xí)過程可以持續(xù)到預(yù)設(shè)的T輪完成蜈彼。
- 從偏差-方差分解的角度看,Boosting主要關(guān)注降低偏差俺驶,因此Boosting能基于泛化性能相當(dāng)弱的學(xué)習(xí)器構(gòu)造出很強的集成幸逆。
8.3 Bagging與隨機森林
- 欲得到泛化性能強的集成,集成中的個體學(xué)習(xí)器應(yīng)盡可能相互獨立暮现;雖然“獨立”在現(xiàn)實任務(wù)中無法做到还绘,但可以設(shè)法使基學(xué)習(xí)器盡可能有較大的差異。給定一個訓(xùn)練數(shù)據(jù)集栖袋,一種可能的做法是對訓(xùn)練樣本進行采用拍顷,產(chǎn)生出若干個不同的子集,再從每個數(shù)據(jù)子集中訓(xùn)練出一個基學(xué)習(xí)器塘幅。這樣昔案,由于訓(xùn)練數(shù)據(jù)不同,我們獲得的基學(xué)習(xí)器可望具有比較大的差異电媳。然而踏揣,為獲得好的集成,我們同事還希望個體學(xué)習(xí)器不能太差匾乓。如果采樣出的每個子集都完全不同呼伸,則每個基學(xué)習(xí)器只用到了一小部分訓(xùn)練數(shù)據(jù),甚至不足以進行有效學(xué)習(xí),這顯然無法確保產(chǎn)生出比較好的基學(xué)習(xí)器括享。為解決這個問題搂根,我們可考慮使用相互有交疊的采樣子集。
8.3.1 Bagging
- Bagging 是并行式集成學(xué)習(xí)方法最著名的代表铃辖,從名字可以看出剩愧,它直接基于我們的自助采樣法(bootstrap sampling)。給定包含 m 個樣本的數(shù)據(jù)集娇斩,我們先隨機取出一個樣本放入采樣集中仁卷,再把該樣本放回初始數(shù)據(jù)集,使得下次采樣時該樣本仍有可能被選中犬第,這樣锦积,經(jīng)過 m 次隨機采樣操作,我們得到含 m 個樣本的采樣集歉嗓,初始訓(xùn)練集中有的樣本在采樣集里多次出現(xiàn)丰介,有的則從未出現(xiàn)。初始訓(xùn)練集中約有63.2%的樣本在采樣集中鉴分。
- 照這樣哮幢,我們可采樣出 T 個含 m 個訓(xùn)練樣本的采樣集,然后基于每個采樣集訓(xùn)練出一個基學(xué)習(xí)器志珍,再將這些基學(xué)習(xí)器進行結(jié)合橙垢。這就是 Bagging 的基本流程。在對預(yù)測輸入進行結(jié)合時伦糯,Bagging 通常對分類任務(wù)使用簡單投票法柜某,對回歸任務(wù)使用簡單平均法。若分類預(yù)測時出現(xiàn)兩個類收到同樣票數(shù)的情形敛纲,則最簡單的做法是隨機選擇一個喂击,也可進一步考察學(xué)習(xí)器投票的置信度來確定最終勝者。
- 假定基學(xué)習(xí)器的計算復(fù)雜度為 O(m)载慈,則 Bagging 的復(fù)雜度大致為 T(O (m) + O(s)),考慮到采樣與投票/平均過程的復(fù)雜度 O(s) 很小珍手,而 T 通常是一個不太大的常數(shù)办铡,因此,訓(xùn)練一個 Bagging 集成與直接使用基學(xué)習(xí)算法訓(xùn)練一個學(xué)習(xí)器的復(fù)雜度同階琳要,這說明 Bagging 是一個很高效的集成學(xué)習(xí)算法寡具。另外,與標(biāo)準(zhǔn) AdaBoost 只適用于二分類任務(wù)不同稚补,Bagging 能不經(jīng)修改地用于多分類童叠、回歸等任務(wù)。
- 值得一提的是,自助采樣過程還給Bagging帶來了另一個優(yōu)點:由于每個基學(xué)習(xí)器只使用了初始訓(xùn)練集中約63.2%的樣本厦坛,剩下約36.8%的樣本可用作驗證集來對泛化性能進行“包外估計”(out-of-bag estimate)五垮。為此需記錄每個基學(xué)習(xí)器所使用的訓(xùn)練樣本。
- 事實上杜秸,包外樣本還有許多其他用途放仗。例如當(dāng)基學(xué)習(xí)器是決策樹時,可使用包外樣本來輔助剪枝撬碟,或用于估計決策樹中各節(jié)點的后驗概率以輔助對零訓(xùn)練樣本節(jié)點的處理诞挨;當(dāng)基學(xué)習(xí)器是神經(jīng)網(wǎng)絡(luò)時,可使用包外樣本來輔助早期停止以減小過擬合風(fēng)險呢蛤。
- 從偏差-方差分解的角度看惶傻,Bagging主要關(guān)注降低方差,因此它在不剪枝決策樹其障、神經(jīng)網(wǎng)絡(luò)等易受樣本擾動的學(xué)習(xí)器上效用更為明顯银室。
8.3.2 隨機森林
- 隨機森林(Random Forest, RF) 是Bagging的一個擴展變體。RF在以決策樹為基學(xué)習(xí)器構(gòu)建 Bagging 集成的基礎(chǔ)上静秆,進一步在決策樹的訓(xùn)練過程中引入了隨機屬性選擇粮揉。具體來說,傳統(tǒng)決策樹在選擇劃分屬性時是在當(dāng)前結(jié)點的屬性集合(假定有d個屬性)中選擇一個最優(yōu)屬性抚笔;而在RF中扶认,對基決策樹的每個結(jié)點,先從該結(jié)點的屬性集合中隨機選擇一個包含k個屬性的子集殊橙,然后再從這個子集中選擇一個最優(yōu)屬性用于劃分辐宾。這里的參數(shù)k控制了隨機性的引入程度:若令 k = d,則基決策樹的構(gòu)建與傳統(tǒng)決策樹相同膨蛮;若令 k = 1叠纹,則是隨機選擇一個屬性用于劃分;一般情況下敞葛,推薦值 k = log2 d誉察。
- 隨機森林簡單、容易實現(xiàn)惹谐、計算開銷小持偏,令人驚奇的是,它在很多現(xiàn)實任務(wù)中展現(xiàn)出強大的性能氨肌,被譽為“代表集成學(xué)習(xí)技術(shù)水平的方法”鸿秆。可以看出怎囚,隨機森林對 Bagging 只做了小改動卿叽,但是與 Bagging 中基學(xué)習(xí)器的“多樣性”僅通過樣本擾動(通過對初始訓(xùn)練集采樣)而來不同,隨機森林中基學(xué)習(xí)器的多樣性不僅來自樣本擾動,還來自屬性擾動考婴,這就使得最終集成的泛化性能可通過個體學(xué)習(xí)器之間差異度的增加而進一步提升贩虾。
- 隨機森林的收斂性與 Bagging 相似。隨機森林的起始性能往往相對較差蕉扮,特別是在集成中只包含一個基學(xué)習(xí)器時整胃。這很容易理解,因為通過引入屬性擾動喳钟,隨機森林中個體學(xué)習(xí)器的性能往往有所降低屁使。然而,隨著個體學(xué)習(xí)器數(shù)據(jù)的增加奔则,隨機森林通常會收斂到更低的泛化誤差蛮寂。值得一提的是,隨機森林的訓(xùn)練效率常優(yōu)于 Bagging易茬,因為在個體決策樹的構(gòu)建過程中酬蹋,Bagging使用的是“確定型”決策樹,在選擇劃分屬性時要對結(jié)點的所有屬性進行考察抽莱,而隨機森林使用的“隨機型”決策樹則只考察一個屬性子集范抓。
8.4 結(jié)合策略
- 學(xué)習(xí)器結(jié)合可能會從三個方面帶來好處:首先,從統(tǒng)計的方面來看食铐,由于學(xué)習(xí)任務(wù)的假設(shè)空間往往很大匕垫,可能有多個假設(shè)在訓(xùn)練集上達到同等性能,此時若使用單學(xué)習(xí)器可能因誤選而導(dǎo)致泛化性能不佳虐呻,結(jié)合多個學(xué)習(xí)器則會減小這一風(fēng)險象泵;第二,從計算的方面來看斟叼,學(xué)習(xí)算法往往會陷入局部極小偶惠,有的局部極小點所對應(yīng)的泛化性能可能很糟糕,而通過多次運行之后進行結(jié)合朗涩,可降低陷入糟糕局部極小點的風(fēng)險忽孽;第三,從表示的方面來看谢床,某些學(xué)習(xí)任務(wù)的真實假設(shè)可能不在當(dāng)前學(xué)習(xí)算法所考慮的假設(shè)空間中兄一,此時若使用單學(xué)習(xí)器則肯定無效,而通過結(jié)合多個學(xué)習(xí)器萤悴,由于相應(yīng)的假設(shè)空間有所擴大瘾腰,有可能學(xué)得更好的近似皆的。
8.4.1 平均法
對數(shù)值型輸出覆履,最常見的結(jié)合策略是使用平均法(averaging)
- 簡單平均法(simple averaging)
- 加權(quán)平均法(weighted averaging)
加權(quán)平均法的權(quán)重一般是從訓(xùn)練數(shù)據(jù)中學(xué)習(xí)而得,現(xiàn)實任務(wù)中的訓(xùn)練樣本通常不充分或存在噪聲,這將使得學(xué)出的權(quán)重不完全可靠硝全,尤其是對規(guī)模比較大的集成來說栖雾,要學(xué)習(xí)的權(quán)重比較多,較容易導(dǎo)致過擬合伟众。因此析藕,實現(xiàn)和應(yīng)用均顯示出,加權(quán)平均法未必一定優(yōu)于簡單平均法凳厢。一般而言账胧,在個體學(xué)習(xí)器性能相差較大時宜使用加權(quán)平均法,而個體學(xué)習(xí)器性能相近時宜使用簡單平均法先紫。
8.4.2 投票法
對分類任務(wù)來說治泥, 學(xué)習(xí)器將從標(biāo)記集合中預(yù)測出一個標(biāo)記,最常見的結(jié)合策略是使用投票法(voting)遮精。
- 絕對多數(shù)投票法(majority voting)居夹。若某標(biāo)記得票過半數(shù),則預(yù)測為該標(biāo)記本冲;否則拒絕預(yù)測准脂。
- 相對多數(shù)投票法(plurality voting)。預(yù)測為得票最多的標(biāo)記檬洞,若同時有多個標(biāo)記獲最高票狸膏,則從中隨機選取一個。
- 加權(quán)投票法(weighted voting)疮胖。與加權(quán)平均法類似环戈。
標(biāo)準(zhǔn)的絕對多數(shù)投票法提供了“拒絕預(yù)測”選項,這在可靠性要求較高的學(xué)習(xí)任務(wù)中是一個很好的機制澎灸。但若學(xué)習(xí)任務(wù)要求必須提供預(yù)測結(jié)果院塞,則絕對多數(shù)投票法將退化為相對多數(shù)投票法。因此性昭,在不允許拒絕預(yù)測的任務(wù)中拦止,絕對多數(shù)、相對多數(shù)投票法統(tǒng)稱為“多數(shù)投票法”糜颠。
- 類標(biāo)記:使用類標(biāo)記的投票亦稱為“硬投票”(hard voting)汹族。
- 類概率:使用類概率的投票亦稱為“軟投票”(soft voting)。
8.4.3 學(xué)習(xí)法
- 當(dāng)訓(xùn)練數(shù)據(jù)很多時其兴,一種更為強大的結(jié)合策略是使用“學(xué)習(xí)法”顶瞒,即通過另一個學(xué)習(xí)器來進行結(jié)合。Stacking 是學(xué)習(xí)法的典型代表元旬,這里我們把個體學(xué)習(xí)器稱為初級學(xué)習(xí)器榴徐,用于結(jié)合的學(xué)習(xí)器稱為次級學(xué)習(xí)器或元學(xué)習(xí)器(meta-learner)守问。
- Stacking 先從初始數(shù)據(jù)集訓(xùn)練出初始學(xué)習(xí)器,然后“生成”一個新數(shù)據(jù)集用于訓(xùn)練次級學(xué)習(xí)器坑资。在這個新數(shù)據(jù)集中耗帕,初級學(xué)習(xí)器的輸出被當(dāng)作樣例輸入特征,而初始樣本的標(biāo)記仍被當(dāng)作樣例標(biāo)記袱贮。
- 在訓(xùn)練階段仿便,次級訓(xùn)練集是利用初級學(xué)習(xí)器產(chǎn)生的,若直接用初級學(xué)習(xí)器的訓(xùn)練集來產(chǎn)生次級訓(xùn)練集攒巍,則過擬合風(fēng)險會比較大嗽仪;因此,一般是通過使用交叉驗證或留一法這樣的方式柒莉,用訓(xùn)練初級學(xué)習(xí)器未使用的樣本來產(chǎn)生次級學(xué)習(xí)器的訓(xùn)練樣本钦幔。
- 次級學(xué)習(xí)器的輸入屬性表示和次級學(xué)習(xí)算法對 Stacking 集成的泛化性能有很大影響。有研究表明常柄,將初級學(xué)習(xí)器的輸出類概率作為次級學(xué)習(xí)器的輸入屬性鲤氢,用多響應(yīng)線性回歸(Multi-response Linear Regression, MLR) 作為次級學(xué)習(xí)算法效果最好,在MLR中使用不同的屬性集更佳西潘。
- 貝葉斯模型平均(Bayes Model Averagign, BMA)基于后驗概率來為不同模型賦予權(quán)重卷玉,可視為加權(quán)平均法的一種特殊實現(xiàn)。Stacking 和 BMA 進行比較喷市,理論上來說相种,若數(shù)據(jù)生成模型恰在當(dāng)前考慮的模型中,且數(shù)據(jù)噪聲很少品姓,則BMA不差于Stacking寝并;然而,在現(xiàn)實應(yīng)用中無法確保數(shù)據(jù)生成模型一定在當(dāng)前考慮的模型中腹备,甚至可能難以用當(dāng)前考慮的模型來進行近似衬潦,因此,Stacking通常優(yōu)于BMA植酥,因為其魯棒性比BMA更好镀岛,而且BMA對模型近似誤差非常敏感。
8.5 多樣性
8.5.1 誤差-分歧分解
- 欲構(gòu)建泛化能力強的集成友驮,個體學(xué)習(xí)器應(yīng)“好而不同”∑颍現(xiàn)在我們來做一個簡單的理論分析。
- 個體學(xué)習(xí)器準(zhǔn)確性越高卸留、多樣性越大走越,則集成越好〕苌“誤差-分歧分解”(error-ambiguity decomposition)
8.5.2 多樣性度量
- 多樣性度量(diversity measure)是用于度量集成個體分類器的多樣性旨指,即估算個體學(xué)習(xí)器的多樣化程度捻悯,典型做法是考慮個體分類器的兩兩相似/不相似性。
- 不合度量(disagreement measure)
- 相關(guān)系數(shù)(correlation coefficient)
- Q-統(tǒng)計量(Q-statistic)
- k-統(tǒng)計量(k-statistic)
8.5.3 多樣性增強
- 數(shù)據(jù)樣本擾動:給定初始數(shù)據(jù)集淤毛,可從中產(chǎn)生出不同的數(shù)據(jù)子集,再利用不同的數(shù)據(jù)子集訓(xùn)練出不同的個體學(xué)習(xí)器算柳。數(shù)據(jù)樣本擾動通常是基于采樣法低淡,例如在 Bagging 中使用自助采樣,在 AdaBoost 中使用序列采樣瞬项。此類做法簡單高效蔗蹋,使用最廣。對很多常見的基學(xué)習(xí)器囱淋,例如決策樹猪杭、神經(jīng)網(wǎng)絡(luò)等,訓(xùn)練樣本稍加變化就會導(dǎo)致學(xué)習(xí)器由顯著變動妥衣,數(shù)據(jù)樣本擾動法對這樣的“不穩(wěn)定基學(xué)習(xí)器”很有效皂吮;然而,有一些基學(xué)習(xí)器對數(shù)據(jù)樣本的擾動不敏感税手,例如線性學(xué)習(xí)器蜂筹、支持向量機、樸素貝葉斯芦倒、k近鄰學(xué)習(xí)器等艺挪,這樣的基學(xué)習(xí)器稱為穩(wěn)定基學(xué)習(xí)器(stable base learner),對此類基學(xué)習(xí)器進行集成往往需使用輸入屬性擾動等其他機制兵扬。
- 輸入屬性擾動:訓(xùn)練樣本通常由一組屬性描述麻裳,不同的“子空間”(subsapce,即屬性子集)提供了觀察數(shù)據(jù)的不同視角器钟。顯然津坑,從不同子空間訓(xùn)練出的個體學(xué)習(xí)器必然有所不同。著名的隨機子空間(random subspace)算法就依賴于輸入屬性擾動傲霸,該算法從初始屬性集中抽取出若干個屬性子集国瓮,再基于每個屬性子集訓(xùn)練一個基學(xué)習(xí)器。對包含大量冗余屬性的數(shù)據(jù)狞谱,在子空間中訓(xùn)練個體學(xué)習(xí)器不僅能產(chǎn)生多樣性大的個體乃摹,還會因?qū)傩詳?shù)的減少而大幅節(jié)省時間開銷,同時跟衅,由于榮譽屬性多孵睬,減少一些屬性后訓(xùn)練出的個體學(xué)習(xí)器也不至于太差。若數(shù)據(jù)只包含少量屬性伶跷,或者冗余屬性很少掰读,則不宜使用輸入屬性擾動法秘狞。
- 輸出表示擾動:此類做法的基本思路是對輸出表示進行操縱以增強多樣性〉讣可對訓(xùn)練樣本的類標(biāo)記稍作變動烁试,如“翻轉(zhuǎn)法”(Filpping Output)隨機改變一些訓(xùn)練樣本的標(biāo)記;也可對輸出表示進行轉(zhuǎn)化拢肆,如“輸出調(diào)制法”(Output Smearing)將分類輸出轉(zhuǎn)化為回歸輸出后構(gòu)建個體學(xué)習(xí)器减响;還可將原任務(wù)拆解為多個可同時求解的子任務(wù),如 ECOC法利用糾錯輸出碼將多分類任務(wù)拆解為一系列二分類任務(wù)來訓(xùn)練基學(xué)習(xí)器郭怪。
- 算法參數(shù)擾動:基學(xué)習(xí)算法一般都有參數(shù)需進行設(shè)置支示,例如神經(jīng)網(wǎng)絡(luò)的隱層神經(jīng)元數(shù)、初始連接權(quán)值等鄙才,通過隨機設(shè)置不同的參數(shù)颂鸿,往往可產(chǎn)生差別較大的個體學(xué)習(xí)器,例如“負(fù)相關(guān)法”(Negative Correlation)顯式地通過正則化項來強制個體神經(jīng)網(wǎng)絡(luò)使用不同的參數(shù)攒庵。對參數(shù)算法較少的算法嘴纺,可通過將其學(xué)習(xí)過程中某些環(huán)節(jié)用跟其他類似方式代替,從而達到擾動的目的浓冒,例如可將決策樹使用的屬性選擇機制替換成其他的屬性選擇機制颖医。值得指出的是,使用單一學(xué)習(xí)器時通常需使用交叉驗證等方法來確定參數(shù)值裆蒸,這事實上已使用了不同參數(shù)訓(xùn)練出多個學(xué)習(xí)器熔萧,只不過最終僅選擇其中一個學(xué)習(xí)器進行使用,而集成學(xué)習(xí)則相當(dāng)于把這些學(xué)習(xí)器都利用起來僚祷;由此也可以看出佛致,集成學(xué)習(xí)技術(shù)的實際計算開銷并不比使用單一學(xué)習(xí)器大得多。