王超
摘要:隨著科學(xué)技術(shù)的快速發(fā)展,計(jì)算機(jī)技術(shù)也得到了廣泛的應(yīng)用。在過(guò)去的十幾年里,機(jī)器學(xué)習(xí)領(lǐng)域中主要以集成學(xué)習(xí)為主,并且集成學(xué)習(xí)成為當(dāng)時(shí)一個(gè)備受關(guān)注的課題?,F(xiàn)階段,Bagging和Booting是最為流行的集成學(xué)習(xí)方法。神經(jīng)網(wǎng)絡(luò)或決策樹構(gòu)造方法不是很穩(wěn)定,雖然被作為集成學(xué)習(xí)算法。由于這種算法不是很穩(wěn)定,需要對(duì)原始的Booting算法進(jìn)行改進(jìn)才能夠滿足現(xiàn)實(shí)情況的需要,改進(jìn)后的Boot算法稱為L(zhǎng)AdaBoot算法。該文主要論述了原始的Boot算法,并詳細(xì)的論述了LAdaBoot算法,同時(shí)與其他的算法進(jìn)行了相關(guān)比較,進(jìn)而為相關(guān)人員提供參考依據(jù)。
關(guān)鍵詞:Booting算法;LAdaBoot算法;魯棒性 ;分類方法;研究
中圖分類號(hào):TP301 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)07-0286-04
Abstract: with the rapid development of science and technology, computer technology has been widely used. In the past 10 years, in the field of machine learning mainly integrated learning based, and ensemble learning became a topic of concern. At this stage, Bagging and Booting are the most popular ensemble learning method. Neural network or a decision tree construction method is not very stable, although as the ensemble learning algorithm. As a result of this algorithm is not very stable, the need for the original Booting algorithm can meet the needs of the reality of the situation is improved, the improved Boot algorithm called LAdaBoot algorithm. This paper mainly discusses the original Boot algorithm, and discusses in details the LAdaBoot algorithm, at the same time were related to compare with other algorithms, and provide reference for the related personnel.
Key words: Booting algorithm; LAdaBoot algorithm; Robustness; Classification method; research
在實(shí)際分類問(wèn)題中,以往的分類算法得到的數(shù)據(jù)往往會(huì)含雜帶有噪聲。雖然Boot算法簡(jiǎn)單和實(shí)用性強(qiáng),但是Boot算法對(duì)噪聲數(shù)據(jù)極為敏感,隨著噪聲數(shù)據(jù)的增加Boot算法的預(yù)測(cè)精度也會(huì)隨著降低,并且Boot算法的錯(cuò)誤率也明顯增加。改進(jìn)的LAdaBoot算法主要是利用局部錯(cuò)誤率更新樣本來(lái)訓(xùn)練下一個(gè)分類器的概率,并且在對(duì)一個(gè)新的樣本進(jìn)行分類時(shí),不僅考慮了樣本與訓(xùn)練樣本之間的近似度,還提出了有效鄰域概念及不同組合方法。通過(guò)采用LAdaBoot算法進(jìn)行數(shù)據(jù)的分類時(shí)的魯棒性要,明顯高于AdaBoot算法。因此,需要研究一些新的技術(shù)來(lái)提高AdaBoot算法的魯棒性,進(jìn)而滿足實(shí)際應(yīng)用的需要,這也是當(dāng)前Boot算法研究的重點(diǎn),本文將主要論述在AdaBoot算法基礎(chǔ)上改進(jìn)的LAdaBoot算法。
1 傳統(tǒng)的Boot算法
Booting算法的執(zhí)行過(guò)程與一般算法的執(zhí)行過(guò)程是一樣的,都是按照一定順序執(zhí)行的。它在構(gòu)造分類器之前都需要考慮前一個(gè)分類器的結(jié)構(gòu)及功能。在集成方法中,分類器是在有不同權(quán)重樣本組成的訓(xùn)練集上,然后利用固定學(xué)習(xí)算法構(gòu)造而成[1]。在實(shí)現(xiàn)AdaBoot算法的過(guò)程中,首先需要設(shè)置所有樣本的權(quán)重為1/N,進(jìn)而得到第一個(gè)分類器。通過(guò)對(duì)訓(xùn)練樣本的權(quán)重加以改變來(lái)構(gòu)造新的分類器,這樣能夠使得被錯(cuò)誤分類的樣本將會(huì)更具相關(guān)性,按照這種分類方法,之后的分類器就會(huì)以很難分類的樣本作為焦點(diǎn)進(jìn)行相關(guān)的分類。這種分類方法只有在權(quán)重更新規(guī)則失敗后才會(huì)停止,并且最終的集成決策將由集成成員的加權(quán)票得到。
1.1 AdaBoot算法原理
假設(shè)前一個(gè)分類器改變權(quán)重w,同時(shí)組成最后的分類器如果一個(gè)訓(xùn)練樣例 在前一個(gè)分類其中被誤分,那么它的權(quán)重會(huì)被加重,相應(yīng)地,被正確分類的樣例的權(quán)重會(huì)降低使得下一個(gè)分類器 會(huì)更在意被誤分的樣例,那么其中那些α和w的更新是怎么來(lái)的呢?
在此過(guò)程中,當(dāng)一個(gè)分類器的∈m值大于0.5時(shí),為了有效的限制算法過(guò)早的停。AdaBoot算法的改進(jìn)主要是用自主樣本來(lái)代替原本設(shè)定的訓(xùn)練集,緊接著在繼續(xù)執(zhí)Booting過(guò)程,進(jìn)而提高算法的魯棒性和精度[3]。改進(jìn)后的Boot算法過(guò)程能夠產(chǎn)生特定數(shù)量的分類器,同時(shí)也能夠提高AdaBoot算法的精度,與其他相同數(shù)目的分類器集成方法相比將會(huì)顯得更為公平,也更能夠滿足實(shí)際情況
2 改進(jìn)的Boot算法-LAdaBoot算法
在對(duì)Boot算法改進(jìn)的過(guò)程中需要根據(jù)具體情況確定最佳的改進(jìn)方案。通過(guò)對(duì)AdaBoot算法的改進(jìn),改變?cè)O(shè)定的所有樣本的權(quán)重來(lái)構(gòu)造新的分類器。重新構(gòu)造出的分類器能夠有效的消除含有噪聲的數(shù)據(jù)。同時(shí)重新構(gòu)造的分類器也可以提高算法的精度及魯棒性。為此,改進(jìn)后的AdaBoot算法在現(xiàn)階段得到了廣泛的應(yīng)用,下面將詳細(xì)論述LAdaBoot算法。
2.1 LAdaBoot算法需要滿足的要求
在改進(jìn)AdaBoot算法的過(guò)程中需要對(duì)具體的情況進(jìn)行全面考慮,注意改進(jìn)后的Boot算法需要滿足的要求,并且按照相關(guān)的要求進(jìn)行LAdaBoot算法的構(gòu)建,只有這樣才能夠改進(jìn)好AdaBoot算法及滿足計(jì)算機(jī)算法要求[1]。LAdaBoot算法需要滿足同一分類器在樣本空間的不同位置的分類性能不同;不同的樣本不能具有相同的特征,并且在樣本空間中也不能處于同一位置;每一個(gè)分類器對(duì)于不同的樣本分類效果是有所差別的;同時(shí)待測(cè)樣本同它所處領(lǐng)域內(nèi)的訓(xùn)練樣本要有一定的相似度,并且訓(xùn)練樣本與待測(cè)樣本之間要一定影響。
同時(shí)還要注意到:在整個(gè)AdaBoot算法中,分類器的分類性能是由分布為Dt的整個(gè)訓(xùn)練樣本集上的錯(cuò)誤率來(lái)確定的??紤]到分類器Ct在訓(xùn)練樣本上的分類效果比較好,而在其他樣本上的分類性能差,這時(shí)在確定分類性能好壞時(shí)需要用局部測(cè)量值,不能再用整個(gè)訓(xùn)練樣本集上的錯(cuò)誤率來(lái)確定其分類性能[2]。既然分類器Ct 在訓(xùn)練樣本上的分類性能與分類器Ct在訓(xùn)練樣本領(lǐng)域內(nèi)的分類性能有著極為密切的關(guān)系,這樣就可以通過(guò)定義樣本鄰域的方法來(lái)解決分類問(wèn)題,從而滿足數(shù)據(jù)分類的要求。
2.2 LAdaBoot-1算法
2.3 LAdaBoot-2算法
3 同其他分類方法的比較
為了比較LAdaBoot算法與其他方法,對(duì)于同一數(shù)據(jù)庫(kù),通過(guò)給出10次錯(cuò)誤率的平均值。對(duì)錯(cuò)誤率的平均值進(jìn)行分析比較,進(jìn)而確定哪一種方法更能夠滿足分類要求和實(shí)際需要,具體的情況如表(1)所示。
通過(guò)對(duì)表(1)的分析可以看出:LAdaBoot-1算法和LAdaBoot-2算法的分類性能要比AdaBoot、Single Tree要好的多。
4 結(jié)束語(yǔ)
在實(shí)際分類問(wèn)題中,以往的分類算法得到的數(shù)據(jù)往往會(huì)含雜帶有噪聲。為了消除分類算法中含噪聲數(shù)據(jù),需要采用一些新的技術(shù)重新構(gòu)建新的算法,進(jìn)而提高數(shù)據(jù)庫(kù)數(shù)據(jù)的魯棒性和更好滿足現(xiàn)實(shí)需要。
參考文獻(xiàn):
[1] 李斌,王紫石.AdaBoost算法的一種改進(jìn)方法[J].小型微型計(jì)算機(jī)系統(tǒng),2004(05):23-25.
[2] 曹瑩,苗啟廣,劉家辰,等.AdaBoost算法研究進(jìn)展與展望[J].自動(dòng)化學(xué)報(bào),2013(06):35-37.
[3] 李秋潔,茅耀斌,王執(zhí)銓.基于Boosting的不平衡數(shù)據(jù)分類算法研究[J].計(jì)算機(jī)科學(xué),2011(12):56-58.
[4] 陰國(guó)富.Boosting算法及其在動(dòng)態(tài)視頻圖像中的應(yīng)用[J].河北工業(yè)科技,2008(05):46-47.