0.Adaboost介紹
Adaboost是以
加法模型為模型,
前項分布算法為學(xué)習(xí)算法,
指數(shù)損失函數(shù)為損失函數(shù)的boosting集成學(xué)習(xí)算法。
所謂加法模型,即最終的強分類器是由多個弱分類器加權(quán)求和所得
所謂前項分布算法,即第k+1個強分類器是由第k個強分類器學(xué)成后,再學(xué)習(xí)一個弱分類器組合而得。
所謂指數(shù)損失函數(shù),即
好處是,指數(shù)中冪相加可以轉(zhuǎn)化為指數(shù)相乘,這樣,可以結(jié)合前項分布算法提取出固定的部分,從而簡化計算。
當(dāng)然,可以選擇其他損失函數(shù),那就是其他類型的boosting算法了
1.流程:
訓(xùn)練集
此處
訓(xùn)練集樣本的權(quán)重
注意,初始權(quán)重即1/m ,如有1000個樣本,初始權(quán)重即 w=1/1000
第k個弱分類器加權(quán)誤差:
注意,這里分類加權(quán)誤差,即本次樣本集錯分樣本權(quán)重之和,是歸一化后的。
第k個弱分類器權(quán)重:
理論上,弱分類器誤差ek應(yīng)該是<0.5的,則alpha > 0
ek越小,alpha越大
即,弱分類器效果越好,則其權(quán)重越大。
第k+1個弱分類器分類時,樣本的權(quán)重:
是個固定值,alpha默認(rèn)>0
所以,
如果樣本i分錯了,則exp(...)的值>1
- 即相比于上一次的弱分類,樣本i的權(quán)重在本次弱分類中得到了提高。
如果樣本i分對了,則exp(...)的值<1
- 即相比于上一次的弱分類,樣本i的權(quán)重在本次弱分類中得到了降低。
所以,adaboost的思想就通過數(shù)學(xué)公式表達(dá)了出來:
弱分類器錯誤率越低,則權(quán)重alpha越高
樣本越被分錯,則權(quán)重w越高(具體的上一次弱分類分錯的樣本,在下一次弱分類時權(quán)重會提高,而如何提高則會根據(jù)上一個弱分類器的權(quán)重alpha來確定。)
弱分類器集合策略:加法模型
但會疑問,權(quán)重更新公式具體是怎么來的?為什么看著很復(fù)雜?
2.推導(dǎo)
adaboost的損失函數(shù)用的是指數(shù)損失函數(shù)
這個損失是有道理的,
如果分錯,則損失>1,且相差越多,損失越大
如果分對,則損失<1,且相差越多,損失越大
則adaboost的損失函數(shù)
令
則
令
則
為求alpha,令
可以看到,此處的alpha和上面流程中的弱分類器權(quán)重alpha形式一樣。只需證明
err`=e即可
3.證明 err'=e
注意
可以看出err是一個類似于錯誤率的東西,表示w·總體中錯分的那部分w·
則關(guān)鍵在于,w·是否等價于樣本權(quán)重w
先來看樣本權(quán)重的更新:
則有
其實,從
也可以看出樣本的分類損失直接決定了該樣本的新權(quán)重。損失越大,后續(xù)權(quán)重越大
未完待續(xù)
如有錯誤歡迎指正
參考:
劉建平博客-adaboost
統(tǒng)計學(xué)習(xí)方法-李航
adaboost推導(dǎo)
誤差限