張前圖
摘要:為了提高支持向量機(jī)(SVM)分類性能,同時(shí)針對(duì)果蠅優(yōu)化算法(FOA)尋優(yōu)精度不高和易陷入局部最優(yōu)的特點(diǎn),提出了一種改進(jìn)的FOA算法(LFOA),并將其應(yīng)用于SVM的參數(shù)尋優(yōu)中。該方法在運(yùn)算個(gè)過(guò)程中根據(jù)果蠅種群的進(jìn)化程度,動(dòng)態(tài)的將種群分為較差子群和較優(yōu)子群;較差子群在最優(yōu)個(gè)體的指導(dǎo)下以基本FOA算法進(jìn)行全局搜索,較優(yōu)子群則圍繞最優(yōu)個(gè)體做Levy飛行,進(jìn)行精細(xì)化局部搜索;兩個(gè)子群的信息通過(guò)全局最優(yōu)個(gè)體的更新和種群個(gè)體的重組進(jìn)行交換。通過(guò)對(duì)UCI數(shù)據(jù)庫(kù)中幾個(gè)經(jīng)典數(shù)據(jù)集的分類測(cè)試結(jié)果表明,基于LFOA優(yōu)化SVM參數(shù)能夠提高SVM的分類性能,效果優(yōu)于其他幾種方法。
Abstract: In order to overcome the problems of support vector machine (SVM) parameters selection and the demerits of fruit fly optimization algorithm,such as low convergence precision and easily relapsing into local optimum,an improvement FOA (LFOA) is presented.Firstly,the fruit fly group is dynamically divided into advanced subgroup and drawback subgroup according to its own evolutionary level. Secondly,a global search with FOA is made for drawback subgroup with the guidance of the best individual and a finely local search is made for advanced subgroup that do Levy flight around the best individual.Finally,two subgroups exchange information by updating the overall optimum and recombining the subgroups.The classify experiment results of several data set in UCI data base show that SVM parameters optimization based on LFOA can improvement the classify performance of SVM and is better than some other method.
關(guān)鍵詞:支持向量機(jī);果蠅算法;Levy飛行;參數(shù)尋優(yōu)
Key words: support vector machine;fruit fly optimization algorithm;Levy flight;parameters optimization
中圖分類號(hào):TP18;TP301.6 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1006-4311(2016)08-0218-04
0 引言
在模式識(shí)別領(lǐng)域,支持向量機(jī)(SVM)由于具有較強(qiáng)的小樣本學(xué)習(xí)能力和泛化能力,在很多方面都得到了應(yīng)用。目前,對(duì)SVM研究的一個(gè)重點(diǎn)就是對(duì)其參數(shù)的優(yōu)化,因?yàn)閼土P參數(shù)和核參數(shù)對(duì)其分類性能具有重要的影響。傳統(tǒng)的一些參數(shù)優(yōu)化方法主要包括窮舉法、網(wǎng)格搜索法、梯度下降法,這些方法雖然簡(jiǎn)單,但搜索精度不高且耗時(shí)較長(zhǎng)。近年來(lái),不少學(xué)者也提出了很多智能算法對(duì)其進(jìn)行優(yōu)化操作,如遺傳算法(GA),粒子群算法(PSO),人工魚(yú)群算法(AFSA),杜鵑算法(MSC)等,都取得了不錯(cuò)的效果。但這些算法或多或少都存在一定的缺陷,如GA的操作過(guò)程較為復(fù)雜且容易出現(xiàn)早熟現(xiàn)象、PSO則容易陷入局部最優(yōu)、AFSA中人工魚(yú)視野和步長(zhǎng)的選擇主要依靠經(jīng)驗(yàn)等,這些都降低了SVM參數(shù)的尋優(yōu)精度。而果蠅優(yōu)化算法(FOA)由于參數(shù)設(shè)置少,算法簡(jiǎn)單易于實(shí)現(xiàn)等優(yōu)點(diǎn),在不同的領(lǐng)域都得到了應(yīng)用,并有學(xué)者也將其應(yīng)用到了SVM參數(shù)尋優(yōu)中,效果較好。
本文將FOA和SVM結(jié)合,采用FOA對(duì)SVM參數(shù)進(jìn)行尋優(yōu),同時(shí)針對(duì)FOA易陷入局部最優(yōu)和尋優(yōu)精度不高的缺點(diǎn),對(duì)其尋優(yōu)過(guò)程進(jìn)行改進(jìn),提出了改進(jìn)的FOA算法(LFOA)。該算法根據(jù)果蠅種群的進(jìn)化程度,動(dòng)態(tài)的將果蠅種群一分為二,較差子群則在最優(yōu)果蠅個(gè)體的指導(dǎo)下以FOA為基礎(chǔ)進(jìn)行全局搜索,較優(yōu)子群則引入Levy飛行策略,使z子群圍繞最優(yōu)果蠅個(gè)體做Levy飛行,進(jìn)行局部搜索,同時(shí)利用Levy飛行偶爾的長(zhǎng)跳躍來(lái)跳出局部最優(yōu)。實(shí)驗(yàn)表明,LFOA的優(yōu)化性能要優(yōu)于FOA、GA和PSO,經(jīng)LFOA優(yōu)化的SVM對(duì)測(cè)試數(shù)據(jù)集具有更好的分類效果。
1 支持向量機(jī)及其參數(shù)
假設(shè)有一組帶有類別標(biāo)記的訓(xùn)練樣本T={(x1,y1),…,(xn,yn)},xi是n維向量,yi代表xi的所屬類別,其中每個(gè)輸入點(diǎn)xi∈Rd(i=1,…,n)屬于兩類中的某一類,其類別標(biāo)記為y∈{+1,-1}。SVM的主要目的是構(gòu)建一個(gè)分類超平面來(lái)分割兩類不同樣本,使得分類間隔(margin)最大。最終歸結(jié)為約束條件下求解二次規(guī)劃問(wèn)題:
結(jié)合前面的推導(dǎo)過(guò)程,RBF-SVM需要優(yōu)化的是懲罰參數(shù)C和核參數(shù)g。懲罰參數(shù)C主要作用就是調(diào)節(jié)SVM學(xué)習(xí)過(guò)程中的置信區(qū)間和經(jīng)驗(yàn)風(fēng)險(xiǎn)的比例,以使SVM的推廣性能最好;核參數(shù)g主要影響樣本數(shù)據(jù)在特征空間中分布的復(fù)雜度。因此,SVM的性能取決于這兩個(gè)參數(shù)的選擇,采用較好的優(yōu)化算法進(jìn)行參數(shù)的選擇可以提高SVM的性能。
2 果蠅優(yōu)化算法及其改進(jìn)
2.1 果蠅優(yōu)化算法
果蠅優(yōu)化算法是臺(tái)灣學(xué)者潘文超于2011年基于果蠅的覓食行為提出的一種全局優(yōu)化算法。果蠅可以通過(guò)嗅覺(jué)搜集飄在空中的食物味道,飛到食物附件后又可通過(guò)視覺(jué)發(fā)現(xiàn)食物,并向食物飛去。果蠅優(yōu)化算法的集體步驟如下:
2.2 果蠅優(yōu)化算法的改進(jìn)策略
從果蠅算法的步驟可以看出,在整個(gè)迭代過(guò)程中,整個(gè)果蠅種群只向最優(yōu)果蠅個(gè)體學(xué)習(xí),一旦發(fā)現(xiàn)最優(yōu)個(gè)體,則所有果蠅都飛往該處,但如果該位置不是全局最優(yōu),則算法極易陷入局部最優(yōu),影響收斂精度和收斂速度。社會(huì)學(xué)經(jīng)驗(yàn)告訴我們,全局最優(yōu)往往存在于局部最優(yōu)的附近,并且種群的進(jìn)化速度更大程度取決于較差個(gè)體而不是較優(yōu)個(gè)體。另一方面,自然界中很多動(dòng)物(果蠅、蜜蜂等)在覓食的過(guò)程中,都采用類似Levy飛行的搜索策略。在這種形式的搜索中,短距離的探索性蹦蹦跳跳與偶爾的較長(zhǎng)距離行走相間。短距離的蹦蹦跳跳可以保證覓食過(guò)程中對(duì)自身周?chē)男》秶M(jìn)行仔細(xì)地搜尋,而偶爾較長(zhǎng)距離的行走又可以保證自身能夠進(jìn)入另一個(gè)區(qū)域,在更廣闊的范圍進(jìn)行搜索。鑒于Levy飛行的優(yōu)點(diǎn),許多學(xué)者將Levy飛行引入到進(jìn)化策略中,改進(jìn)算法性能并取得了不錯(cuò)的效果。
為了便于對(duì)比,分別運(yùn)用LFOA、FOA、GA和PSO對(duì)SVM的參數(shù)C和g進(jìn)行尋優(yōu)。在所有的算法中,種群規(guī)模都為20,最大迭代次數(shù)為100,C和g的搜索范圍都為0~100;在LFOA算法中,步進(jìn)長(zhǎng)度a=0.5;GA算法中,交叉概率pc=0.7,變異概率pm=0.1;PSO算法中局部搜索參數(shù)c1=1.5,全局搜索參數(shù)c2=1.7。
3.2 結(jié)果分析
用表1中的數(shù)據(jù)集對(duì)上述4種方法的性能進(jìn)行測(cè)試,測(cè)試結(jié)果如表2和表3所示。表2中每種方法的平均分類準(zhǔn)確率是取10次試驗(yàn)分類準(zhǔn)確率的平均值,每次實(shí)驗(yàn)的分類準(zhǔn)確率是通過(guò)對(duì)訓(xùn)練樣本執(zhí)行5折交叉驗(yàn)證得到,同時(shí)記錄下每次實(shí)驗(yàn)得到的C和g值。在計(jì)算表3中各方法的測(cè)試準(zhǔn)確率時(shí),選取10次實(shí)驗(yàn)中最高分類準(zhǔn)確率對(duì)應(yīng)的C和g對(duì)SVM進(jìn)行訓(xùn)練,而后對(duì)測(cè)試樣本進(jìn)行分類識(shí)別得到測(cè)試準(zhǔn)確率。需要注意的是,最高分類準(zhǔn)確率可能對(duì)應(yīng)多個(gè)C和g的值,由于C過(guò)大會(huì)造成誤差上升,這里保留最小的C以及對(duì)應(yīng)的g值。圖1還給出了4種不同方法對(duì)3個(gè)數(shù)據(jù)集的分類識(shí)別準(zhǔn)確率迭代曲線。
從表2、表3以及圖1中可以看出,LFOA優(yōu)化SVM的效果基本上都要好于其他三種方法。對(duì)于多分類不平衡數(shù)據(jù)集Glass,LFOA和PSO在平均分類準(zhǔn)確率和測(cè)試準(zhǔn)確率上效果一樣,均好于FOA和GA,尤其是測(cè)試準(zhǔn)確率方面提高較多,這在實(shí)際工程應(yīng)用中具有重要的意義,而LFOA相較于PSO的優(yōu)勢(shì)主要在尋優(yōu)速度上,如圖1(a)所示,LFOA只經(jīng)過(guò)4次迭代就達(dá)到了最高準(zhǔn)確率,PSO經(jīng)過(guò)12次迭代后才達(dá)到了最高準(zhǔn)確率,而FOA和GA雖然迭代次數(shù)較少,但卻陷入了局部最優(yōu);對(duì)于多分類平衡數(shù)據(jù)集Segment和二分類數(shù)據(jù)集German,LFOA的平均分類準(zhǔn)確率和測(cè)試準(zhǔn)確率均優(yōu)于其他3種方法,并且從迭代曲線(圖1(b)和(c))中可以看出,LFOA在尋優(yōu)速度和尋優(yōu)精度上也均好于其他3種方法,克服了其他算法尋優(yōu)速度慢和易陷入局部最優(yōu)的缺點(diǎn)。同時(shí)從圖1中還可以發(fā)現(xiàn),隨著數(shù)據(jù)集維數(shù)的增加,LFOA的效果就越明顯,這說(shuō)明LFOA對(duì)于復(fù)雜數(shù)據(jù)集的處理能力也優(yōu)于其他幾種方法。
4 結(jié)論
本文針對(duì)果蠅優(yōu)化算法尋優(yōu)精度不高和易陷入局部最優(yōu)的缺點(diǎn),提出了一種具有Levy飛行特征的雙子群果蠅優(yōu)化算法,其優(yōu)勢(shì)在于既可以保證果蠅種群的全局搜索能力,又增強(qiáng)了果蠅種群的局部搜索和跳出局部最優(yōu)的能力。將其用于優(yōu)化支持向量機(jī)的參數(shù),通過(guò)對(duì)UCI數(shù)據(jù)庫(kù)中幾個(gè)經(jīng)典數(shù)據(jù)集的仿真實(shí)驗(yàn)結(jié)果顯示所提方法能夠提高支持向量機(jī)的分類精度和效率,相比于傳統(tǒng)的果蠅算法、遺傳算法和粒子群算法具有更好的效果。
參考文獻(xiàn):
[1]付陽(yáng),李昆侖.支持向量機(jī)模型參數(shù)選擇方法綜述[J].電腦知識(shí)與技術(shù),2010,6(28):8081-8082.
[2]董寶玉,任光.基于GA優(yōu)化合成核支持向量機(jī)的船舶柴油機(jī)故障診斷[J]. 大連海事大學(xué)學(xué)報(bào),2013,39(04):79-81.
[3]和麟,梁麗嬡,黃瀟瑤,等.基于粒子群優(yōu)化SVM的飛機(jī)發(fā)電機(jī)故障診斷[J].計(jì)算機(jī)測(cè)量與控制,2013,21(12):3237-3239.
[4]白靜,楊利紅,張雪英.一種面向語(yǔ)音識(shí)別的抗噪svm參數(shù)優(yōu)化方法[J].中南大學(xué)學(xué)報(bào)(自然科學(xué)版),2013,44(02):604-611.
[5]郭一格,孫力,劉以安.基于MCS的SVM參數(shù)優(yōu)化研究[J]. 計(jì)算機(jī)應(yīng)用研究,2012,29(12):4553-4555.
[6]Wen-Tsao Pan. A new fruit fly optimization algorithm: Taking the financial distress model as an example[J]. Knowledge-Based Systems. 2012. 26(Complete): 69-74.
[7]李霞,孫靈芳,楊明.基于改進(jìn)FOA匹配追蹤的超聲信號(hào)處理研究[J].儀器儀表學(xué)報(bào),2013,34(09):2068-2073.
[8]楊瓊,俞立峰,陳小小.一種基于果蠅優(yōu)化方法的連續(xù)查詢攻擊算法[J].四川大學(xué)學(xué)報(bào)(自然科學(xué)版),2014,51(04):7215-7730.
[9]張翔,陳林.基于果蠅優(yōu)化算法的支持向量機(jī)故障診斷[J]. 電子設(shè)計(jì)工程,2013,21(16):90-93.
[10]王雪剛,鄒早建.基于果蠅優(yōu)化算法的支持向量機(jī)參數(shù)優(yōu)化在船舶操縱預(yù)報(bào)中的應(yīng)用[J].上海交通大學(xué)學(xué)報(bào),2013,47(06):884-888.
[11]韓俊英,劉成忠.自適應(yīng)變異的果蠅優(yōu)化算法[J].計(jì)算機(jī)應(yīng)用研究,2013,30(09):2641-2644.
[12]韓俊英,劉成忠,王聯(lián)國(guó).動(dòng)態(tài)雙子群協(xié)同進(jìn)化果蠅優(yōu)化算法[J].模式識(shí)別與人工智能,2013,26(11):1057-1067.
[13]肖劍,周建中,張孝遠(yuǎn),等.基于Levy-ABC優(yōu)化SVM的水電機(jī)組故障診斷方法[J].振動(dòng).測(cè)試與診斷,2013,33(05):839-844.
[14]杜利敏,阮奇,馮登科.基于共軛梯度的布谷鳥(niǎo)搜索算法[J].計(jì)算機(jī)與應(yīng)用化學(xué),2013,30(04):406-410.
[15]謝健,周永權(quán),陳歡.一種基于Lévy飛行軌跡的蝙蝠算法[J].模式識(shí)別與人工智能,2013,26(09):830-837.
[16]Mantegna R N. Fast,accurate algortihm for numerical simulation of levy stable stochastic process[J]. Physical Review E. 1992,49: 451-458.