集成學(xué)習(xí)常見(jiàn)的兩種集成方案為bagging和boosting瑰妄,其中bagging是一種基于投票的并行方案,boosting是一種基于改變?cè)紨?shù)據(jù)集分布的迭代串行方案(某些環(huán)節(jié)也可并行)映砖。bagging的代表算法為隨機(jī)森林间坐,boosting的代表算法有adaboost、gbdt邑退、xgb等竹宋。
AdaBoost算法有AdaBoost.M1和AdaBoost.M2兩種算法乓土,AdaBoost.M1是我們通常所說(shuō)的Discrete AdaBoost宪潮,而AdaBoost.M2是M1的泛化形式溯警。adaboost是由Yoav Freund和Robert E. Schapire 首先提出來(lái)的一種用于二分類問(wèn)題的集成方法趣苏;緊接著出現(xiàn)的Adaboost.M1將二分類擴(kuò)展到多分類問(wèn)題;而AdaBoost.M2不僅可以處理多分類問(wèn)題梯轻,還引入了置信度的概念食磕,進(jìn)一步擴(kuò)展了AdaBoost算法;AdaBoostMH算法則是基于AdaBoost.M1算法的一種標(biāo)簽轉(zhuǎn)化方案的多標(biāo)簽算法喳挑。關(guān)于AdaBoost算法的一個(gè)結(jié)論是:當(dāng)弱分類器算法使用簡(jiǎn)單的分類方法時(shí),boosting的效果明顯地統(tǒng)一地比bagging要好.當(dāng)弱分類器算法使用C4.5時(shí),boosting比bagging較好,但是沒(méi)有前者明顯彬伦。后來(lái)又有學(xué)者提出了解決多標(biāo)簽問(wèn)題的AdaBoost.MH和AdaBoost.MR算法,其中AdaBoost.MH算法的一種形式又被稱為Real Boost算法---弱分類器輸出一個(gè)可能度,該值的范圍是整個(gè)R, 和與之相應(yīng)的權(quán)值調(diào)整伊诵,強(qiáng)分類器生成的AdaBoost算法单绑。事實(shí)上:Discrete AdaBoost是指,弱分類器的輸出值限定在{-1,+1},每個(gè)弱分類器有相應(yīng)的權(quán)值曹宴,從而構(gòu)成一個(gè)強(qiáng)分類器搂橙。adaboost采用的集成方式是對(duì)基分類器的結(jié)果進(jìn)行加權(quán)求和,如果結(jié)果大于0則樣本被分為正類笛坦,如果結(jié)果小于0則樣本被分為負(fù)類区转。adaboost算法要做的就是每次迭代過(guò)程中,賦予被錯(cuò)誤分類的樣本更大的權(quán)重版扩。
1). adaboost算法
最終一個(gè)樣本的預(yù)測(cè)值為:
從算法步驟中我們可以看出蜻韭,權(quán)重的更新方式為:
2).adaboost.m1算法
adaboost.m1算法和adaboost算法的不同點(diǎn)在于:
a.H(x)的形式發(fā)生了變化舷胜,沒(méi)用使用sign()映射轉(zhuǎn)化,但是其本質(zhì)任然沒(méi)有發(fā)生改變活翩,任然可以看做是對(duì)基分類器的分類結(jié)果進(jìn)行頭片產(chǎn)生最終結(jié)果烹骨,而且基分類器的權(quán)重本質(zhì)上也為ln(1-et)/et。
b.兩者的本質(zhì)區(qū)別在于第10步材泄,對(duì)比我們可以發(fā)現(xiàn)為了適應(yīng)多分類問(wèn)題沮焕,adaboost的權(quán)值更新函數(shù)做了一定的調(diào)整。權(quán)值更新方案為:
如果一個(gè)樣本被上一個(gè)分類器錯(cuò)誤分類拉宗,那么它的權(quán)重不變峦树,如果這個(gè)樣本被上一個(gè)分類器正確分類,那么它的權(quán)重將乘以et/(1-et)旦事,也就是說(shuō)錯(cuò)誤分類的樣本權(quán)值相對(duì)于正確分類的樣本權(quán)值擴(kuò)大了(1-et)/et倍(因?yàn)槿绻姆诸愬e(cuò)誤樣本我們不知道其具體偏向哪個(gè)類別錯(cuò)誤)魁巩。
3).adaboost.m2算法
adaboost.M2的思路還是提高難以被正確分類的樣本的權(quán)重卖鲤,例如樣本可以被分為A,B,C三類肾扰,某個(gè)樣本xi真實(shí)類別標(biāo)簽為A,第k輪分類器對(duì)xi的分類結(jié)果為:
? ? ? ? ? ? ? ? ? ? ?類別 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? A ? ? ? ? ? ? ? ? ? ? ? ? ? ? B ? ? ? ? ? ? ? ? ? ? ? ? ? ? C
? ? ? ? ? ? ? ? ? ? ?概率 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?0.1 ? ? ? ? ? ? ? ? ? ? ? ? ?0.5 ? ? ? ? ? ? ? ? ? ? ? ? ? 0.6
顯然當(dāng)前基分類器對(duì)這個(gè)樣本的分類不理想蛋逾,那么adaboost.M2算法會(huì)根據(jù)步驟8來(lái)計(jì)算計(jì)算當(dāng)前基分類器的誤差集晚,接著步驟10會(huì)修改錯(cuò)誤類B,C的權(quán)重,進(jìn)而在下一次迭代的步驟6中更新這個(gè)樣本的權(quán)重区匣。