李瑞帥
1前言
AdaBoost因良好的分類能力,簡單易實(shí)現(xiàn),在數(shù)據(jù)挖掘、人臉識別與行人檢測中都獲得了廣泛的關(guān)注。本文主要介紹AdaBoost算法的理論、訓(xùn)練方法與本文基于特征量化的改進(jìn)算法。
2AdaBoost簡介
AdaBoost算法(自適應(yīng)增長算法),由Yoav Freund和Robert Schapire提出并進(jìn)行理論完善。AdaBoost算法是一種迭代算法,每經(jīng)過一次迭代,增加一個(gè)新的弱分類器,最終分類結(jié)果由所有弱分類器加權(quán)投票,根據(jù)投票結(jié)果是否大于閾值確定樣本標(biāo)簽,當(dāng)整個(gè)訓(xùn)練樣本集的分類錯(cuò)誤率小于給定值時(shí)停止訓(xùn)練過程。
AdaBoost的訓(xùn)練過程其實(shí)就是一個(gè)迭代的提升分類器學(xué)習(xí)能力的過程,方法如下:
3AdaBoost算法改進(jìn)
AdaBoost具有良好的分類表現(xiàn),并且在檢測過程運(yùn)行速度較快,但分類器的訓(xùn)練過程的時(shí)間花費(fèi)非常大,在一些要求實(shí)時(shí)進(jìn)行學(xué)習(xí)更新的系統(tǒng)中應(yīng)用受到限制。對于分類器而言學(xué)習(xí)速度與分類準(zhǔn)確性同樣重要,在實(shí)時(shí)學(xué)習(xí)系統(tǒng)或處理數(shù)據(jù)流時(shí)分類算法必須具備快速自學(xué)習(xí)的能力。對AdaBoost算法改進(jìn)出發(fā)點(diǎn)就是:不損失分類精度的前提下盡可能的提高訓(xùn)練速度。
訓(xùn)練所使用的特征集的特征之間并不是完全獨(dú)立的,而是具有很高的相關(guān)性。利用這一性質(zhì),通過選擇合適的模板特征,大部分的特征點(diǎn)可根據(jù)其與模板特征的關(guān)系進(jìn)行預(yù)剔除。
進(jìn)行弱分類器訓(xùn)練之前,預(yù)先對特征數(shù)據(jù)使用最簡單的線性劃分法進(jìn)行量化,避開了弱分類器訓(xùn)練中的樣本排序過程,并且極大地減少了循環(huán)遍歷的次數(shù)。
4結(jié)論
通過研究當(dāng)前AdaBoost算法的改進(jìn)方向與思路,實(shí)現(xiàn)了一種通過量化訓(xùn)練樣本特征值的方法加快訓(xùn)練速度,該方法在訓(xùn)練時(shí)間上具有很大的優(yōu)勢,雖然在處理小樣本,低維特征時(shí)效果不如傳統(tǒng)AdaBoost訓(xùn)練算法精度高,但當(dāng)樣本數(shù)目大,特征向量維度高時(shí),通過增加弱分類器的數(shù)目能夠獲得與傳統(tǒng)方法媲美的分類精度,并保持速度上的優(yōu)勢。
火箭軍士官學(xué)校