王 燕,曹建芳,,李艷飛
(1.忻州師范學(xué)院 計(jì)算機(jī)系,山西 忻州 034000;2.太原科技大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,山西 太原 030024)
隨著圖像獲取設(shè)備的普及和計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)、多媒體技術(shù)的快速發(fā)展,各類圖像數(shù)據(jù)正在迅速增長(zhǎng)[1]。作為最為常見(jiàn)的一類圖像數(shù)據(jù),場(chǎng)景圖像的數(shù)量更是呈現(xiàn)指數(shù)級(jí)增長(zhǎng)趨勢(shì)。人工智能和機(jī)器學(xué)習(xí)的創(chuàng)新發(fā)展使得利用計(jì)算機(jī)自動(dòng)提取場(chǎng)景圖像特征并對(duì)其分類成為人工智能和計(jì)算機(jī)視覺(jué)領(lǐng)域的重要研究課題之一[2]。在機(jī)器學(xué)習(xí)領(lǐng)域,常見(jiàn)的分類算法有K最近鄰(KNN)[3]、貝葉斯(Bayes)[4]、神經(jīng)網(wǎng)絡(luò)[5]、決策樹[6]和支持向量機(jī)[7]。然而,上述算法都在不同層面存在一定的缺陷。KNN算法本身的時(shí)間復(fù)雜度和空間復(fù)雜度都很高;Bayes分類算法需要計(jì)算事件的先驗(yàn)概率,而且對(duì)輸入數(shù)據(jù)的表達(dá)形式非常敏感;神經(jīng)網(wǎng)絡(luò)算法收斂速度慢并且易陷入局部最優(yōu);決策樹對(duì)信息缺失的處理較為困難,易有過(guò)擬合的現(xiàn)象發(fā)生;而SVM因其廣義屬性,能夠提供較高的分類精度,是一種應(yīng)用廣泛的分類算法[8]。但隨著研究的不斷深入,研究者們發(fā)現(xiàn),由于受存儲(chǔ)能力和計(jì)算能力的約束,傳統(tǒng)的單節(jié)點(diǎn)架構(gòu)的SVM算法在處理海量數(shù)據(jù)時(shí),在內(nèi)存需求和計(jì)算時(shí)間方面會(huì)產(chǎn)生“瓶頸”,分析處理效率會(huì)急劇下降。
2004年,Google公司推出了一個(gè)處理海量數(shù)據(jù)的并行編程模型MapReduce[9],因其具有良好的接口和運(yùn)行支持庫(kù),并隱藏了實(shí)現(xiàn)的復(fù)雜細(xì)節(jié),支持并行執(zhí)行大規(guī)模的計(jì)算任務(wù),從而在眾多領(lǐng)域得到了廣泛應(yīng)用。在醫(yī)療領(lǐng)域,高漢松等[10]設(shè)計(jì)了一個(gè)對(duì)海量醫(yī)療數(shù)據(jù)進(jìn)行挖掘和分析的醫(yī)療大數(shù)據(jù)挖掘平臺(tái);在生物領(lǐng)域,涂金金等[11]在Hadoop平臺(tái)下應(yīng)用MapReduce模型分析基因的表達(dá)數(shù)據(jù);在通信領(lǐng)域,中國(guó)移動(dòng)為了解決大流量數(shù)據(jù)業(yè)務(wù)快速、廉價(jià)處理的問(wèn)題,提出了“大云”數(shù)據(jù)挖掘系統(tǒng)的構(gòu)想[12]。MapReduce并行編程模型在各個(gè)領(lǐng)域的應(yīng)用愈來(lái)愈多。
因此,針對(duì)上述單機(jī)平臺(tái)下SVM算法在處理大規(guī)模數(shù)據(jù)時(shí)面臨的“瓶頸”,為進(jìn)一步提高分類準(zhǔn)確率,基于混合優(yōu)化組合的思想,文中提出一種新的集群環(huán)境下的場(chǎng)景圖像分類方法:P-Adaboost-(ABC-PSO-SVM)模型。該模型首先應(yīng)用人工蜂群(ABC)和粒子群(PSO)算法對(duì)SVM的參數(shù)進(jìn)行混合優(yōu)化,以得到最優(yōu)的SVM參數(shù)對(duì);然后使用Adaboost算法加強(qiáng)多個(gè)SVM分類器的結(jié)果,進(jìn)一步提高分類準(zhǔn)確率;最后利用MapReduce并行編程模型對(duì)算法進(jìn)行并行化設(shè)計(jì),以更好地改進(jìn)該算法在處理海量數(shù)據(jù)時(shí)的時(shí)間性能。通過(guò)在場(chǎng)景圖像庫(kù)SUN Database上進(jìn)行實(shí)驗(yàn),并與傳統(tǒng)單節(jié)點(diǎn)架構(gòu)的SVM分類模型和集群環(huán)境下的并行SVM分類模型進(jìn)行對(duì)比,驗(yàn)證了P-Adaboost-(ABC-PSO-SVM)模型對(duì)海量場(chǎng)景圖像的分類效果。
1.1.1 SVM參數(shù)優(yōu)化分析
SVM算法以結(jié)構(gòu)風(fēng)險(xiǎn)最小化原則為基礎(chǔ),使用核函數(shù)將低維的線性不可分問(wèn)題映射到高維空間,轉(zhuǎn)換成線性可分問(wèn)題進(jìn)行處理。核函數(shù)的構(gòu)造對(duì)SVM算法的性能起著關(guān)鍵性作用[13]。局部核函數(shù)和全局核函數(shù)這兩類核函數(shù)是SVM最常使用的核函數(shù),局部核函數(shù)的優(yōu)點(diǎn)是學(xué)習(xí)能力強(qiáng),但存在的問(wèn)題是泛化能力弱;全局核函數(shù)雖然泛化能力強(qiáng),但學(xué)習(xí)能力卻很弱。為了兼顧兩者的學(xué)習(xí)能力和泛化能力,研究者們提出了將局部核函數(shù)和全局核函數(shù)相結(jié)合構(gòu)造混合核函數(shù)的思想,最常見(jiàn)的是將徑向基函數(shù)(RBF)和多項(xiàng)式核函數(shù)進(jìn)行線性組合,構(gòu)造出滿足Mercer條件的混合核函數(shù)。
Kmix=λKpoly+(1+λ)Krbf
(1)
其中,λ∈(0,1);Kploy=[(x·xi)+1]q為多項(xiàng)式核函數(shù);Krbf=-γ‖x-xi‖2為RBF核函數(shù)。
SVM分類性能的優(yōu)劣與SVM參數(shù)有很大關(guān)系,因此有必要對(duì)SVM的參數(shù)做優(yōu)化調(diào)整。文中需要優(yōu)化的參數(shù)是:懲罰因子C、核參數(shù)γ和調(diào)節(jié)因子λ。懲罰因子C用于決定SVM重視離群點(diǎn)帶來(lái)?yè)p失的程度,核參數(shù)γ決定支持向量之間存在的關(guān)聯(lián)程度,調(diào)節(jié)因子λ的經(jīng)驗(yàn)值尋優(yōu)范圍一般取值在0.50~0.99之間。
1.1.2 ABC-PSO-SVM算法
PSO算法[14]是一種群體智能進(jìn)化算法,其思想源于鳥群覓食行為,優(yōu)點(diǎn)是實(shí)現(xiàn)容易、精度高、收斂快,但存在局部尋優(yōu)能力差、易產(chǎn)生早熟收斂等問(wèn)題。ABC算法[15]是一種全局群智能優(yōu)化算法,其思想源于蜂群采蜜行為,應(yīng)用的主要優(yōu)勢(shì)體現(xiàn)在不需要了解實(shí)際問(wèn)題的特殊信息,只需要對(duì)問(wèn)題進(jìn)行優(yōu)劣的比較,通過(guò)各人工蜂個(gè)體的局部尋優(yōu)行為,最終在群體中使全局最優(yōu)值突現(xiàn)出來(lái),收斂速度較快。如果能充分利用PSO算法和ABC算法的優(yōu)勢(shì),將兩者結(jié)合起來(lái)進(jìn)行混合優(yōu)化,就會(huì)很好地克服PSO算法的缺陷,增強(qiáng)優(yōu)化算法的魯棒性。基于此,文中采用ABC-PSO算法對(duì)SVM的參數(shù)實(shí)行混合優(yōu)化,以形成最優(yōu)的SVM分類模型。優(yōu)化算法步驟為:
Step1:初始化PSO和ABC算法的參數(shù)。主要包括:種群規(guī)模、最大迭代次數(shù)、PSO算法的速度、ABC算法的食物源數(shù)量和控制參數(shù)、ABC和PSO算法的初始(C,γ,λ)。
Step2:將(C,γ,λ)作為SVM的參數(shù),對(duì)SVM進(jìn)行訓(xùn)練和測(cè)試。
Step3:計(jì)算和更新適應(yīng)度值。如果滿足最大迭代次數(shù),即可得到SVM的最優(yōu)參數(shù)(C,γ,λ),算法停止;否則,執(zhí)行Step4。
Step4:返回Step2執(zhí)行,繼續(xù)迭代尋優(yōu)。
Adaboost算法是對(duì)同一問(wèn)題集成多個(gè)弱分類器的結(jié)果共同決策的一種機(jī)器學(xué)習(xí)技術(shù),通過(guò)執(zhí)行基本的分類算法,獲得多個(gè)不同的弱分類器,訓(xùn)練過(guò)程中自適應(yīng)改變樣本權(quán)重,錯(cuò)分的樣本被賦予較大的權(quán)重,反復(fù)迭代,最后使用加權(quán)投票的方法獲得最終的判決結(jié)果[16]。文中使用Adaboost算法對(duì)ABC-PSO算法優(yōu)化后的SVM分類器進(jìn)行加強(qiáng),提出Adaboost-(ABC-PSO-SVM)算法,將ABC-PSO-SVM分類器作為弱分類器提供給Adaboost集成學(xué)習(xí),在訓(xùn)練過(guò)程中不斷改變輸入樣本的權(quán)重以重構(gòu)少數(shù)類別樣本,加強(qiáng)對(duì)錯(cuò)分樣本的訓(xùn)練,最終構(gòu)建強(qiáng)分類器。算法步驟為:
Step1:數(shù)值初始化。輸入訓(xùn)練樣本集D={(x1,y1),(x2,y2),…,(xm,ym)}和訓(xùn)練迭代次數(shù)T,優(yōu)化的SVM參數(shù)(C,γ,λ),并將訓(xùn)練樣本集權(quán)值分布Dt(i)設(shè)置為1/N。
Step2:訓(xùn)練弱分類器ABC-PSO-SVM。
Step2.1:根據(jù)權(quán)值分布D1(i)得到第t次弱分類器Ht=L(D,Dt)。
Step2.2:計(jì)算Ht的錯(cuò)誤率εt。
(2)
Step2.3:根據(jù)εt的值判斷是否更新樣本權(quán)重。
如果0<εt≤0.5,先根據(jù)式3計(jì)算權(quán)重值αt,然后根據(jù)式4更新樣本權(quán)重,繼續(xù)執(zhí)行Step2.1;否則執(zhí)行Step3。
(3)
(4)
Step3:線性組合T輪訓(xùn)練后得到的T組弱分類器為Ht(x),得到強(qiáng)分類器H(x)。
(5)
1.3.1 MapReduce并行編程模型
Hadoop是一個(gè)用于分布式處理海量各類型數(shù)據(jù)的軟件框架,其中HDFS和MapReduce是Hadoop平臺(tái)的兩個(gè)核心設(shè)計(jì)。HDFS是采用主/從模式體系結(jié)構(gòu)的分布式文件系統(tǒng),將大量數(shù)據(jù)分布存儲(chǔ)于多臺(tái)相關(guān)聯(lián)的計(jì)算機(jī)上,以實(shí)現(xiàn)對(duì)大規(guī)模數(shù)據(jù)集的流式訪問(wèn);MapReduce是一種并行編程模型,能夠?qū)⒂?jì)算任務(wù)和數(shù)據(jù)分配到Hadoop集群的各個(gè)節(jié)點(diǎn)上,讓各節(jié)點(diǎn)并行執(zhí)行任務(wù),得到中間結(jié)果后進(jìn)行匯總并再次向各節(jié)點(diǎn)分配計(jì)算,以獲得最終結(jié)果。MapReduce在執(zhí)行任務(wù)的過(guò)程中,借助函數(shù)式編程方法,將計(jì)算分為Map和Reduce兩個(gè)任務(wù),每個(gè)任務(wù)的處理均以鍵值對(duì)的形式進(jìn)行輸入和輸出,通過(guò)定義Mapper()和Reducer()函數(shù)實(shí)現(xiàn)一個(gè)鍵值對(duì)到另一個(gè)鍵值對(duì)的映射[17-18]。Mapper()函數(shù)將大數(shù)據(jù)集分割成小數(shù)據(jù)集分配給各節(jié)點(diǎn)進(jìn)行并行處理,Reducer()函數(shù)匯總各節(jié)點(diǎn)的處理結(jié)果,實(shí)現(xiàn)了分布式并行處理。
1.3.2 P-Adaboost-(ABC-PSO-SVM)算法
文中利用MapReduce并行編程模型在Hadoop集群環(huán)境中對(duì)提出的Adaboost-(ABC-PSO-SVM)算法進(jìn)行并行化設(shè)計(jì),即P-Adaboost-(ABC-PSO-SVM)算法,以解決單機(jī)平臺(tái)下的Adaboost-(ABC-PSO-SVM)算法在處理大規(guī)模場(chǎng)景圖像時(shí)硬件開(kāi)銷大、運(yùn)行耗時(shí)長(zhǎng),尤其是訓(xùn)練時(shí)間急劇增加的問(wèn)題。算法主要包括對(duì)Adaboost-(ABC-PSO-SVM)算法并行化的Map和Reduce兩個(gè)階段,另外,考慮到如果在Reduce階段直接對(duì)Map階段產(chǎn)生的中間結(jié)果進(jìn)行匯總,集群環(huán)境各節(jié)點(diǎn)之間會(huì)產(chǎn)生很大的通信開(kāi)銷。因此,文中在Reduce階段之前設(shè)計(jì)了一個(gè)Combine()函數(shù),對(duì)Map階段產(chǎn)生的結(jié)果在一定程度上進(jìn)行了本地處理,以減小節(jié)點(diǎn)之間的通信開(kāi)銷。算法偽代碼描述如下:
Adaboost-(ABC-PSO-SVM)-Mapper()
Input:<弱分類器ID,樣本特征值>
Output:<弱分類器ID,預(yù)測(cè)誤差εt>
{
//對(duì)每個(gè)弱分類器
ABC-PSO優(yōu)化SVM參數(shù)(C,γ,λ);
訓(xùn)練弱分類器:
{
計(jì)算預(yù)測(cè)誤差εt;
if(0<εt≤0.5)
更新樣本權(quán)重αt;
}
獲取弱分類器預(yù)測(cè)函數(shù)Ht(x)和更新的εt;
輸出<弱分類器ID,預(yù)測(cè)誤差εt>;
}
Adaboost-(ABC-PSO-SVM)-Combine()
Input:<弱分類器ID,預(yù)測(cè)誤差εt>
Output:<弱分類器ID,弱分類器Ht(x)>
{
count←0;//統(tǒng)計(jì)訓(xùn)練弱分類器數(shù)
//對(duì)每個(gè)弱分類器
解析處理εt坐標(biāo)值;
count←count+1;
在本地歸約處理ID相同的鍵值對(duì),更新εt,獲得弱分類器Ht(x)的輸出;
輸出<弱分類器ID,弱分類器Ht(x)>;
};
Adaboost-(ABC-PSO-SVM)-Reducer( )
Input:<弱分類器ID,弱分類器Ht(x)>
Output:<預(yù)測(cè)誤差εt,強(qiáng)分類器H(x)>
{
對(duì)各節(jié)點(diǎn)ID相同的鍵值對(duì)再次進(jìn)行合并處理;
對(duì)弱分類器Ht(x)進(jìn)行線性組合,更新εt,得到強(qiáng)分類器H(x);
輸出<預(yù)測(cè)誤差εt,強(qiáng)分類器H(x)>;
}
尺度不變特征變化(scale-invariant feature transform,SIFT)是David G.提出的基于尺度空間的特征描述算子,是一種通過(guò)檢測(cè)多尺度圖像金字塔極值點(diǎn)提取圖像的位置、尺度、旋轉(zhuǎn)等關(guān)鍵點(diǎn)的計(jì)算方法[19]。由于SIFT特征不受圖像大小、旋轉(zhuǎn)、光線等變換的影響,區(qū)分力強(qiáng),具有很好的魯棒性,現(xiàn)已成為應(yīng)用廣泛的圖像特征提取算法。文中選取場(chǎng)景圖像的SIFT特征作為分類器的輸入特征參數(shù),在Hadoop平臺(tái)下對(duì)SIFT特征的提取進(jìn)行并行化設(shè)計(jì),算法步驟為:
Step1:將不同類別的場(chǎng)景圖像設(shè)置為Map任務(wù)的輸入,其中key為圖像名稱,value為場(chǎng)景圖像。
Step2:Map階段,利用OpenCV函數(shù)庫(kù)中的Dense SIFT算法提取場(chǎng)景圖像的SIFT特征,輸出形如<圖像名稱,128維特征向量>的鍵值對(duì),建立多個(gè)文件夾,每個(gè)文件夾保存一幅場(chǎng)景圖像的SIFT特征向量。
由于SIFT特征提取過(guò)程較為簡(jiǎn)單,考慮到節(jié)約時(shí)間和通信開(kāi)銷,在并行提取場(chǎng)景圖像SIFT特征時(shí)未設(shè)置Reduce任務(wù)。
文中設(shè)計(jì)的海量場(chǎng)景圖像分類模型框架如圖1所示。
圖1 海量場(chǎng)景圖像分類模型框架
分類模型基于Hadoop大數(shù)據(jù)平臺(tái)架構(gòu),在提取場(chǎng)景圖像的SIFT特征后,將其作為分類器的輸入?yún)?shù),然后使用提出的Adaboost-(ABC-PSO-SVM)算法建模,并利用MapReduce并行編程模型對(duì)SIFT特征提取和Adaboost-(ABC-PSO-SVM)算法進(jìn)行并行化設(shè)計(jì),對(duì)大規(guī)模場(chǎng)景圖像進(jìn)行類別預(yù)測(cè),將得到的分類結(jié)果反饋給用戶。具體步驟為:
Step1:并行提取場(chǎng)景圖像的SIFT特征,生成特征矩陣。
Step2:確定Adaboost-(ABC-PSO-SVM)分類器的結(jié)構(gòu)。
Step3:搭建Hadoop集群,并行訓(xùn)練Adaboost-(ABC-PSO-SVM)分類器,不斷更新樣本權(quán)重,組合輸出結(jié)果。
Step4:使用訓(xùn)練好的分類器,對(duì)大規(guī)模場(chǎng)景圖像進(jìn)行分類識(shí)別,并將結(jié)果反饋給用戶。
實(shí)驗(yàn)環(huán)境:采用局域網(wǎng)內(nèi)5臺(tái)計(jì)算機(jī)搭建了Hadoop集群環(huán)境,其中1臺(tái)作為主(master)節(jié)點(diǎn),其余4臺(tái)作為從(slave)節(jié)點(diǎn)。所有節(jié)點(diǎn)計(jì)算機(jī)硬件配置都采用酷睿i7四核八線程4.2 G處理器,8 G內(nèi)存,4 T硬盤空間的基本配置;軟件配置:操作系統(tǒng)是64位的Ubuntu 14.04,Java環(huán)境為jdk1.7.0_79,Hadoop為Hadoop-2.5.1(64位編譯)。
數(shù)據(jù)來(lái)源:實(shí)驗(yàn)數(shù)據(jù)來(lái)源于SUN Database場(chǎng)景圖像庫(kù),包含131 067幅、908個(gè)類別的場(chǎng)景圖像。該圖像庫(kù)是供研究者們免費(fèi)使用的,其規(guī)模不斷擴(kuò)大。為便于處理,文中實(shí)驗(yàn)用的圖像都被預(yù)處理成200×200像素的大小。
為驗(yàn)證該算法的有效性,在SUN Database圖像庫(kù)中隨機(jī)選取50 000張場(chǎng)景圖像,構(gòu)造了不同規(guī)模的數(shù)據(jù)集,從最優(yōu)參數(shù)組合及進(jìn)化迭代次數(shù)、分類準(zhǔn)確率和分類器訓(xùn)練耗時(shí)等幾個(gè)方面進(jìn)行了實(shí)驗(yàn)對(duì)比分析。
3.2.1 SVM參數(shù)優(yōu)化對(duì)比
ABC算法和PSO算法同時(shí)對(duì)SVM參數(shù)進(jìn)行混合優(yōu)化,不需要遍歷所有的參數(shù)點(diǎn)就能很快找到全局最優(yōu)解。在SUN Database圖像庫(kù)中隨機(jī)選取了10個(gè)類別,共5 000張場(chǎng)景圖像,對(duì)ABC-PSO算法參數(shù)優(yōu)化與PSO算法參數(shù)尋優(yōu)及進(jìn)化代數(shù)做了對(duì)比,如表1所示。
表1的數(shù)據(jù)表明,數(shù)據(jù)類別不同,數(shù)據(jù)的復(fù)雜性也不同,兩種算法在不同數(shù)據(jù)類別下的進(jìn)化速度會(huì)有快有慢,得到的參數(shù)組合也不一樣。但無(wú)論針對(duì)哪種數(shù)據(jù)類別,ABC-PSO-SVM算法的進(jìn)化速度都比PSO-SVM算法的進(jìn)化速度快得多,而且ABC-PSO-SVM算法能找到優(yōu)于PSO-SVM算法的參數(shù)組合,充分說(shuō)明了ABC算法和PSO算法進(jìn)行混合優(yōu)化的優(yōu)越性。
表1 最優(yōu)參數(shù)組合及進(jìn)化代數(shù)對(duì)比
3.2.2 分類準(zhǔn)確率比較
為驗(yàn)證文中算法的分類性能,使用3.2.1中的10個(gè)數(shù)據(jù)類別,采用復(fù)制的方法構(gòu)造了包含10 000張場(chǎng)景圖像的數(shù)據(jù)集,將其中30%的圖像作為測(cè)試數(shù)據(jù)集,對(duì)不同數(shù)據(jù)類別的測(cè)試準(zhǔn)確率如圖2所示。
圖2 不同類別圖像測(cè)試準(zhǔn)確率對(duì)比
圖中A—Airport terminal,B—Beach,C—Bedroom,D—Conference room,E—Forest path,F(xiàn)—Highway,G—Kitchen,H—Mountain snowy,I—Playground,J—Vegetable garden。
從圖2可以看出,文中算法的分類準(zhǔn)確率明顯高于其他單機(jī)平臺(tái)上的SVM、PSO-SVM和ABC-PSO-SVM算法。這主要是因?yàn)椋阂环矫媸腔诮M合優(yōu)化的思想使用Adaboost算法對(duì)混合優(yōu)化參數(shù)后的SVM分類器進(jìn)行了加強(qiáng),構(gòu)建強(qiáng)分類器提高了分類精度;另一方面采用MapReduce并行編程模型對(duì)算法進(jìn)行了并行化設(shè)計(jì),增強(qiáng)了計(jì)算能力,訓(xùn)練的分類模型更優(yōu),進(jìn)一步提高了分類準(zhǔn)確率。
另外,為進(jìn)一步驗(yàn)證文中算法的有效性,又構(gòu)造了不同規(guī)模的數(shù)據(jù)集,使用不同的算法做了分類對(duì)比實(shí)驗(yàn)(訓(xùn)練樣本:測(cè)試樣本=7∶3),如表2所示。
表2 不同數(shù)據(jù)規(guī)模下的分類性能對(duì)比
從表2中的數(shù)據(jù)可以看到,在不同規(guī)模的數(shù)據(jù)集下,P-Adaboost-(ABC-PSO-SVM)算法的訓(xùn)練準(zhǔn)確率和測(cè)試準(zhǔn)確率都要高于其他3種單機(jī)平臺(tái)架構(gòu)下的算法;而且,隨著場(chǎng)景圖像數(shù)據(jù)規(guī)模的不斷增大,雖然各種算法的分類準(zhǔn)確率都在下降,但文中算法的下降趨勢(shì)較為平緩,而其他3種算法的下降趨勢(shì)很明顯,尤其是當(dāng)場(chǎng)景圖像規(guī)模超過(guò)10 000時(shí);另外,對(duì)于不同的數(shù)據(jù)規(guī)模,文中算法的測(cè)試準(zhǔn)確率和訓(xùn)練準(zhǔn)確率非常接近。這都充分說(shuō)明了MapReduce并行編程模型和Hadoop平臺(tái)分布式處理的計(jì)算能力的強(qiáng)大,在這種集群環(huán)境下訓(xùn)練得到了最優(yōu)的SVM分類模型,使得分類精度不會(huì)隨著數(shù)據(jù)集的增大而急劇下降,同時(shí)測(cè)試準(zhǔn)確率接近于訓(xùn)練準(zhǔn)確率。
3.2.3 訓(xùn)練耗時(shí)對(duì)比
為驗(yàn)證文中算法在處理大規(guī)模數(shù)據(jù)集時(shí)的時(shí)間性能,對(duì)不同分類器的訓(xùn)練時(shí)間進(jìn)行了實(shí)驗(yàn)比較,如表3所示。
表3 不同算法在不同規(guī)模數(shù)據(jù)集下的訓(xùn)練時(shí)間對(duì)比
表3的數(shù)據(jù)明顯表明,集群環(huán)境下設(shè)計(jì)的并行算法訓(xùn)練時(shí)間要比單機(jī)平臺(tái)下的算法訓(xùn)練時(shí)間少得多;而且,隨著圖像規(guī)模的不斷增大,單機(jī)平臺(tái)下的算法訓(xùn)練時(shí)間會(huì)急劇增加,而文中算法基于集群環(huán)境設(shè)計(jì),能夠進(jìn)行分布式并行處理,因此訓(xùn)練時(shí)間不會(huì)增加太多,實(shí)現(xiàn)了短時(shí)間內(nèi)對(duì)海量數(shù)據(jù)的處理。
對(duì)集群環(huán)境下融合混合優(yōu)化和組合思想的大規(guī)模場(chǎng)景圖像分類算法做了深入探討。對(duì)使用ABC算法和PSO算法混合優(yōu)化SVM的參數(shù)進(jìn)行了研究,將Adaboost算法組合SVM的分類結(jié)果構(gòu)建強(qiáng)分類器,并利用Hadoop平臺(tái)下的MapReduce并行編程模型對(duì)提出的算法進(jìn)行了并行化設(shè)計(jì),將其應(yīng)用于大規(guī)模場(chǎng)景圖像的分類問(wèn)題。在SUN Database場(chǎng)景圖像庫(kù)上的對(duì)比實(shí)驗(yàn)結(jié)果表明,該算法能快速優(yōu)化SVM的參數(shù),分類準(zhǔn)確率高,訓(xùn)練耗時(shí)少,構(gòu)建的Hadoop集群環(huán)境能充分利用各節(jié)點(diǎn)計(jì)算機(jī)的資源,發(fā)揮其計(jì)算能力,提高分類器的訓(xùn)練和預(yù)測(cè)的速度和精度,獲得最優(yōu)的分類模型。相對(duì)于單機(jī)平臺(tái)下的傳統(tǒng)算法,系統(tǒng)性能良好,很好地體現(xiàn)了分布式并行處理集群環(huán)境的強(qiáng)大運(yùn)算能力,拓寬了大數(shù)據(jù)技術(shù)在數(shù)字圖像理解領(lǐng)域的應(yīng)用。