李昆侖 張炘 廖頻
摘要:本文深入研究了遺傳算法在支持向量機(jī)參數(shù)優(yōu)化方面的相關(guān)知識(shí),對(duì)如何使用遺傳算法對(duì)支持向量機(jī)優(yōu)化參數(shù)進(jìn)行了流程分析,并通過實(shí)驗(yàn)數(shù)據(jù)分析了支持向量機(jī)的各參數(shù)對(duì)其識(shí)別性能的影響,并在此基礎(chǔ)上提出了一種基于嵌套式遺傳算法的支持向量機(jī)參數(shù)優(yōu)化方法,為今后支持向量機(jī)的研究提供了理論基礎(chǔ)。
關(guān)鍵詞:遺傳算法;支持向量機(jī);參數(shù)優(yōu)化
中圖分類號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)09-0185-02
Abstract:This paper studies the knowledge in genetic algorithm and support vector machine parameter optimization, analysis the process of how to use genetic algorithm to optimize support vector machine parameter, then analyzes the influence of various parameters on performance of support vector machine by experiment data, and then proposes a support vector machine parameter optimization method based on nested Genetic algorithm, provides a theoretical basis for the future research on support vector machine.
Key words:Genetic algorithm support vector machine; parameter optimization
1 引言
經(jīng)過數(shù)年的研究,支持向量機(jī)(Support Vector Machine, SVM)無論在理論基礎(chǔ)還是算法實(shí)現(xiàn)方面都有了很大進(jìn)展,由于支持向量機(jī)在解決高維數(shù),非線性等小樣本識(shí)別問題方面具有比較突出的優(yōu)勢(shì),所以目前已被廣泛應(yīng)用于模式識(shí)別的較多領(lǐng)域。但它在面對(duì)大規(guī)?;蚨鄻有詷颖镜淖R(shí)別問題時(shí)還存在一些不足,比如訓(xùn)練速度過慢,內(nèi)存消耗較多等,如何使支持向量機(jī)在處理大數(shù)據(jù)方面具有較高的性能是目前機(jī)器學(xué)習(xí)領(lǐng)域比較關(guān)注的問題。經(jīng)過眾多研究發(fā)現(xiàn),對(duì)于支持向量機(jī)來說,其性能在很大程度上取決于核函數(shù)及其參數(shù)。因此可以通過優(yōu)化支持向量機(jī)的核參數(shù)來提高支持向量機(jī)的識(shí)別性能。但如何優(yōu)化SVM的核參數(shù)目前還沒有固定的理論和方法,此問題也成為該領(lǐng)域研究的熱點(diǎn)。
2支持向量機(jī)及其參數(shù)優(yōu)化研究現(xiàn)狀
支持向量機(jī)是一種較好的統(tǒng)計(jì)學(xué)習(xí)方法,它主要是解決一個(gè)二次規(guī)劃問題。其原理是先將所有的訓(xùn)練向量映射到一個(gè)高維空間中,然后在這個(gè)高維空間中構(gòu)建一個(gè)最大間隔超平面。支持向量機(jī)的核函數(shù)有四種:線性核、RBF(Radial Basis Function, 徑向基)核、多項(xiàng)式核和Sigmoid核。如果要構(gòu)建一個(gè)SVM,就要先選擇該SVM的懲罰因子C,以及核函數(shù)和參數(shù)。懲罰因子C是控制學(xué)習(xí)復(fù)雜度的, 理論上隨著C的增大復(fù)雜度逐漸增高,但當(dāng)C大到一定程度,超過空間復(fù)雜度的最大值時(shí),對(duì)支持向量機(jī)的性能就不會(huì)再產(chǎn)生影響。Vapnik等人的研究表明,即使支持向量機(jī)模型所選支持向量的個(gè)數(shù)相同,但對(duì)于不同的核函數(shù),其所選擇的參數(shù)和懲罰因子C對(duì)支持向量機(jī)的性能有著重要影響[1]。2002年,Chapelle等人也提出了基于梯度下降法的支持向量機(jī)的參數(shù)優(yōu)化方法[2]。遺傳算法(Genetic Algorithm, GA)由于具有強(qiáng)魯棒性,而且不依賴問題的具體領(lǐng)域等特點(diǎn)成為目前較為流行的隨機(jī)搜索優(yōu)化算法之一,遺傳算法具有強(qiáng)大的全局搜索能力,能夠快速有效的找到最優(yōu)解。Zheng等人在2004年提出了一種基于遺傳算法的SVM參數(shù)自動(dòng)優(yōu)化策略[3]。目前國內(nèi)外有眾多學(xué)者對(duì)使用遺傳算法進(jìn)行參數(shù)尋優(yōu)問題進(jìn)行研究,對(duì)算法中的編碼方式、交叉變異算法等進(jìn)行改進(jìn),均取得了不錯(cuò)的實(shí)驗(yàn)結(jié)果[4-7]。
3 基于遺傳算法的SVM參數(shù)優(yōu)化方法
遺傳算法是一種基于優(yōu)勝劣汰、適者生存的高效全局優(yōu)化搜索算法[8]。由于其強(qiáng)大的隨機(jī)搜索能力和泛化能力使其被應(yīng)用在較多領(lǐng)域,像機(jī)器學(xué)習(xí)、函數(shù)優(yōu)化等。參數(shù)優(yōu)化問題實(shí)際上也是一個(gè)比較典型的搜索尋優(yōu)問題,而遺傳算法也正適合解決這類問題。遺傳算法的主要思路是先隨機(jī)產(chǎn)生原始種群,然后再通過進(jìn)行選擇、交叉、變異等操作對(duì)其進(jìn)行遺傳進(jìn)化迭代,到最后找到最優(yōu)解為止。遺傳算法的執(zhí)行流程如圖1所示。
研究表明支持向量機(jī)的性能跟選擇的核函數(shù)關(guān)系不大,關(guān)鍵在于與核函數(shù)有關(guān)的參數(shù),其中包括懲罰因子C和其他參數(shù),所以提高SVM性能的關(guān)鍵是要找到最優(yōu)的參數(shù)解。支持向量機(jī)的RBF核中由于只包含1個(gè)參數(shù)gamma,所以優(yōu)化起來更加方便,這也正是支持向量機(jī)的RBF核能得到廣泛應(yīng)用的原因。
目前在模式識(shí)別領(lǐng)域使用遺傳算法來對(duì)支持向量機(jī)尋求最優(yōu)參數(shù)方面的研究很多,也都取得了一定的成果,雖然他們?cè)趯?shí)驗(yàn)中使用的方法可能有所不同,但整體流程都差不多,使用遺傳算法進(jìn)行參數(shù)尋優(yōu)的流程如圖2所示。
使用遺傳算法對(duì)支持向量機(jī)進(jìn)行參數(shù)優(yōu)化,首先需要對(duì)核參數(shù)和懲罰因子C編碼后構(gòu)建初始種群,然后再進(jìn)行遺傳迭代,直至最后找到最優(yōu)解。其適應(yīng)度值是將染色體解碼以后作為支持向量機(jī)的訓(xùn)練參數(shù)進(jìn)行訓(xùn)練后得到的結(jié)果。
下面通過實(shí)驗(yàn)數(shù)據(jù)來說明關(guān)鍵參數(shù)中的懲罰因子C和核參數(shù)對(duì)識(shí)別性能的影響,實(shí)驗(yàn)中使用支持向量機(jī)的RBF核, 其優(yōu)化即是對(duì)懲罰因子C和RBF核中的參數(shù)gamma進(jìn)行優(yōu)化。該實(shí)驗(yàn)是將支持向量機(jī)應(yīng)用到人臉圖像性別識(shí)別系統(tǒng)中進(jìn)行的,訓(xùn)練樣本數(shù)為62000和測(cè)試樣本數(shù)為5400,實(shí)驗(yàn)中的人臉圖像樣本均來自處理后網(wǎng)絡(luò)人臉圖像。先固定懲罰因子C,然后對(duì)RBF核中的參數(shù)gamma進(jìn)行實(shí)驗(yàn),具體實(shí)驗(yàn)結(jié)果如表1所示。
固定支持向量機(jī)RBF核中的參數(shù)gamma,然后對(duì)懲罰因子C進(jìn)行實(shí)驗(yàn),具體實(shí)驗(yàn)結(jié)果數(shù)據(jù)分析如表2所示。
通過對(duì)兩次實(shí)驗(yàn)結(jié)果的對(duì)比可知,對(duì)于相同的懲罰因子C,每個(gè)gamma值對(duì)應(yīng)不同的識(shí)別結(jié)果,但從實(shí)驗(yàn)結(jié)果可以看出對(duì)于相同的gamma值則存在多個(gè)相同的識(shí)別結(jié)果,而且從實(shí)驗(yàn)數(shù)據(jù)中也可以看出相對(duì)gamma而言懲罰因子C的取值范圍較大,所以懲罰因子C對(duì)應(yīng)的搜索范圍也較大,但是其識(shí)別結(jié)果的變化卻比gamma小,所以可以說就支持向量機(jī)的性能影響來說,核參數(shù)gamma是比懲罰因子C更加敏感的,所以可以考慮使用嵌套式的遺傳算法來解決支持向量機(jī)的參數(shù)尋優(yōu)問題,這種算法的主要思想是:對(duì)參數(shù)采取不同的搜索策略,鑒于支持向量機(jī)的性能對(duì)懲罰因子C不夠敏感,所以只要做少量?jī)?yōu)化搜索就可找到最優(yōu)的懲罰因子C,而只需對(duì)較敏感的核參數(shù)gamma進(jìn)行重點(diǎn)搜索。具體操作流程是先構(gòu)建核參數(shù)gamma的遺傳算法,并將其適應(yīng)度函數(shù)作為對(duì)懲罰因子C求尋優(yōu)的遺傳算法。既是說對(duì)于每個(gè)核參數(shù)gamma都先去尋找它的最優(yōu)懲罰因子C,然后將使用最優(yōu)C值得到的訓(xùn)練結(jié)果作為它的適應(yīng)度值。這樣的話,使用遺傳算法得到的核參數(shù)gamma的最優(yōu)解及其對(duì)應(yīng)的最優(yōu)懲罰因子C就是支持向量機(jī)的最優(yōu)參數(shù)。
4 總結(jié)和展望
本文深入研究了支持向量機(jī)和遺傳算法的相關(guān)知識(shí),對(duì)如何使用遺傳算法對(duì)支持向量機(jī)進(jìn)行參數(shù)優(yōu)化進(jìn)行了流程分析,然后通過相關(guān)數(shù)據(jù)在人臉圖像性別識(shí)別系統(tǒng)中的實(shí)驗(yàn)數(shù)據(jù)分析了關(guān)鍵核參數(shù)對(duì)支持向量機(jī)識(shí)別性能的影響,并在此研究基礎(chǔ)上提出了一種基于嵌套式遺傳算法的SVM參數(shù)優(yōu)化方法,為以后在支持向量機(jī)方面的優(yōu)化研究提供基礎(chǔ)。
參考文獻(xiàn):
[1] Vapnik. 統(tǒng)計(jì)學(xué)習(xí)理論的本質(zhì)[M].張學(xué)工,譯.北京:清華大學(xué)出版社,2012:31-159.
[2] O.Chapelle. Choosing multiple parameters for support vector machines[J].Machine Learning,2013,46(3):45-160.
[3] Zheng Chunhong. Automatic parameters selection for SVM based on GA[C] Proc of the 5th World Congress on Intelligent Control and Automation,2015:1872-1879.
[4] 于青.基于GA的ε-支持向量機(jī)參數(shù)優(yōu)化研究[J].計(jì)算機(jī)工程與應(yīng)用,2012,44(6):140-144.
[5] 劉東平.基于改進(jìn)遺傳算法的支持向量機(jī)參數(shù)優(yōu)化[J].微計(jì)算機(jī)應(yīng)用,2015,31(4):12-16.
[6] 王東霞.基于育種算法的SVM參數(shù)優(yōu)化[J].安徽大學(xué)學(xué)報(bào),2011,33(6):28-33.
[7] 邵信光.基于粒子群優(yōu)化算法的支持向量機(jī)參數(shù)選擇研究[J].控制理論與應(yīng)用,2015(6):741-745.
[8] 武華鋒.一種基于多組PSO的支持向量機(jī)參數(shù)優(yōu)化算法[J].后勤工程學(xué)院學(xué)報(bào),2017(8):92-94.