AdaBoost算法還有一個(gè)解釋?zhuān)纯梢哉J(rèn)為AdaBoost模型為加法模型宣旱,損失函數(shù)為指數(shù)函數(shù)在张,學(xué)習(xí)算法為前向分步算法時(shí)的二類(lèi)分類(lèi)學(xué)習(xí)方法至会。
首先离咐,我們來(lái)看一下什么是前向分步算法。
1奉件、前向分步算法
考慮加法模型(additive model):
在給定訓(xùn)練數(shù)據(jù)及損失函數(shù)的L(y,f(x))的條件下宵蛀,學(xué)習(xí)加法模型f(x)成為經(jīng)驗(yàn)風(fēng)險(xiǎn)極小化即損失函數(shù)極小化問(wèn)題:
通常這時(shí)一個(gè)復(fù)雜的優(yōu)化問(wèn)題,用前向分步算法求解這一優(yōu)化問(wèn)題的想法是:因?yàn)閷W(xué)習(xí)的是加法模型县貌,如果能夠從前往后术陶,每一步只學(xué)習(xí)一個(gè)基函數(shù)及其系數(shù),逐步逼近優(yōu)化目標(biāo)煤痕,那么就可以簡(jiǎn)化優(yōu)化的復(fù)雜度梧宫,具體的接谨,每步只需要優(yōu)化如下?lián)p失函數(shù):
則前向分步算法的一般流程為:
這樣,前向分步算法將同時(shí)求解從m=1到M所有參數(shù)的優(yōu)化問(wèn)題簡(jiǎn)化為逐次求解每一步參數(shù)的優(yōu)化問(wèn)題塘匣。
2脓豪、前向分步算法與AdaBoost
由前向分步算法可以推導(dǎo)出我們之前定義的AdaBoost算法,用定理敘述這一關(guān)系馆铁。
定理:AdaBoost算法是前向分步加法算法的特例跑揉,這時(shí),模型是由基本分類(lèi)器組成的加法模型埠巨,損失函數(shù)是指數(shù)函數(shù)历谍。
接下來(lái)我們就來(lái)證明它。
前向分步算法學(xué)習(xí)的是加法模型辣垒,當(dāng)基函數(shù)為基本分類(lèi)器時(shí)望侈,該加法模型等價(jià)于AdaBoost的最終分類(lèi)器:
前向分步算法會(huì)逐一學(xué)習(xí)每個(gè)基函數(shù)G(x),這一過(guò)程與AdaBoost算法逐一學(xué)習(xí)基本分類(lèi)器的過(guò)程一致勋桶。然后證明前向分步算法的損失函數(shù)時(shí)指數(shù)損失函數(shù)函數(shù)時(shí)脱衙,其學(xué)習(xí)的具體操作等價(jià)于AdaBoost算法學(xué)習(xí)的具體操作:
假設(shè)我們已經(jīng)經(jīng)歷了m-1輪的迭代,則我們可以得到:
在第m輪繼續(xù)迭代得到:
第m輪迭代的目標(biāo)是使前向分步算法得到的系數(shù)和基分類(lèi)器在訓(xùn)練數(shù)據(jù)集T上指數(shù)損失最小例驹,即:
之后求解α:
這里與AdaBoost更新α完全一致
但是捐韩,這里與AdaBoost算法更新每個(gè)數(shù)據(jù)點(diǎn)的權(quán)重有一些細(xì)微的差別: