程彩鳳 孫祥娥



摘 ?要: 支持向量機(jī)(SVM)是廣泛應(yīng)用于分類和回歸問(wèn)題的機(jī)器學(xué)習(xí)方法。SVM做分類預(yù)測(cè)時(shí)的分類精度主要取決于參數(shù)的選擇,參數(shù)選擇不當(dāng)將出現(xiàn)“過(guò)學(xué)習(xí)”或“欠學(xué)習(xí)”的情況,且容易陷入局部最優(yōu)解。社會(huì)情感優(yōu)化算法(SEOA)加入了人類情感因素,是一種新穎的智能優(yōu)化算法,有著良好的全局優(yōu)化能力。提出基于SEOA的SVM參數(shù)選擇方法,同時(shí)優(yōu)化核函數(shù)參數(shù)和懲罰參數(shù)。實(shí)驗(yàn)采用4組UCI數(shù)據(jù)集進(jìn)行測(cè)試,并將SEOA算法與遺傳算法、粒子群優(yōu)化算法進(jìn)行仿真測(cè)試結(jié)果對(duì)比。試驗(yàn)結(jié)果表明,SEOA較大地提高了SVM算法的尋優(yōu)能力,收斂性較好,具有更高的分類精度和更少的搜索時(shí)間。
關(guān)鍵詞: 支持向量機(jī); 社會(huì)情感優(yōu)化算法; 參數(shù)選擇; 分類精度; 機(jī)器學(xué)習(xí); 遺傳算法
中圖分類號(hào): TN911?34; TP181 ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼: A ? ? ? ? ? ? ? ? ? ?文章編號(hào): 1004?373X(2019)12?0108?04
Abstract: The support vector machine (SVM) is a machine learning method widely used in classification and regression problems. The classification accuracy of using the SVM for classification prediction mainly depends on parameter selection. Improper parameter selection can result in situations of "over?study" or "less?study" and easiness to fall into the local optimal solution. With the human emotion factors added, the social emotion optimization algorithm (SEOA) is a novel intelligent optimization algorithm with a good global optimization capability. An SVM parameter selection method based on the SEOA is proposed. The kernel function parameter and penalty parameter are optimized. Four groups of UCI datasets are used for testing in the experiment. The simulation test results are compared for the SEOA, genetic algorithm and particle swarm optimization algorithm. The test results show that the SEOA can greatly improve the optimization ability of the SVM algorithm, and has a good convergence, high classification accuracy and less searching time.
Keywords: support vector machine; social emotion optimization algorithm; parameter selection; classification accuracy; machine learning; genetic algorithm
分類問(wèn)題已經(jīng)應(yīng)用到各個(gè)領(lǐng)域,如模式識(shí)別、疾病診斷、投資風(fēng)險(xiǎn)評(píng)估、故障檢測(cè)[1?2]等。支持向量機(jī)(SVM)是廣泛應(yīng)用于分類和回歸問(wèn)題的機(jī)器學(xué)習(xí)方法,它最早是由Vapnik于20世紀(jì)90年代引入的。SVM通過(guò)非線性映射構(gòu)造一個(gè)最優(yōu)分類超平面,作為分類決策面,最大化超平面與原點(diǎn)之間的距離[3]。
SVM使用核函數(shù)將數(shù)據(jù)樣本從低維映射到高維,做分類預(yù)測(cè)時(shí)需要調(diào)節(jié)相關(guān)的參數(shù),主要是誤差懲罰因子C和核函數(shù)參數(shù)。C過(guò)大或過(guò)小,泛化能力變差。核參數(shù)的改變會(huì)影響特征空間中樣本的分布情況,導(dǎo)致特征空間VC維的改變。那么如何選取最佳的參數(shù),以便得到比較理想的預(yù)測(cè)分類準(zhǔn)確率就顯得尤為重要。
為了提高SVM分類器的分類精度、泛化能力以及減少算法的運(yùn)行時(shí)間,很多學(xué)者在這方面做了相關(guān)的研究。傳統(tǒng)的參數(shù)選擇方法有網(wǎng)格搜索法[4]、牛頓法、梯度下降法等,以及仿生物學(xué)的人工智能算法,如進(jìn)化算法、遺傳算法、粒子群優(yōu)化算法等,以及多種智能算法相結(jié)合的方法等。張進(jìn)等提出改進(jìn)的PSO算法對(duì)SVM的參數(shù)進(jìn)行優(yōu)化,在PSO中引入遺傳算法中的交叉變異算子,提高了群體的多樣性,結(jié)果提高了SVM的分類準(zhǔn)確率,但分類精度有待進(jìn)一步提高[5]。戴上平等提出結(jié)合GA算法和PSO算法對(duì)SVM參數(shù)進(jìn)行優(yōu)化求解,將PSO算子作為GA算法的變異算子,使變異算子具備了學(xué)習(xí)的能力,避免了算法陷入局部最優(yōu)解,算法效率有所提高,但結(jié)果不是很穩(wěn)定[6]。高雷阜等提出改進(jìn)的遺傳算法來(lái)優(yōu)化SVM參數(shù),在蟻群算法中加入有向搜索和基于時(shí)變函數(shù)更新的信息素更新原則,結(jié)果具有較高的分類準(zhǔn)確率,但是該算法時(shí)間復(fù)雜度較高[7]。郝艷友等采用免疫遺傳算法IGA,同時(shí)進(jìn)行特征選擇和SVM參數(shù)優(yōu)化,取得了良好的分類效果[8]。本文將優(yōu)化目前使用最廣泛的高斯核函數(shù)的核參數(shù)σ和懲罰參數(shù)C,提出一種基于社會(huì)情感優(yōu)化(SEOA)算法的支持向量機(jī)參數(shù)優(yōu)化方法,以SVM分類準(zhǔn)確率最大化作為優(yōu)化原則,優(yōu)化選擇核函數(shù)參數(shù)σ和懲罰參數(shù)C,最終能提高支持向量機(jī)的分類準(zhǔn)確率及其泛化能力。
1 ?社會(huì)情感優(yōu)化算法
社會(huì)情感優(yōu)化算法是結(jié)合了粒子群優(yōu)化和蟻群優(yōu)化的思想,通過(guò)模擬人類情感、情緒對(duì)行為的影響而構(gòu)造的一種群智能優(yōu)化算法,由于個(gè)體有情感因素的加入,能夠利用每個(gè)人的情緒作為控制策略,從而提高了算法的性能,改善了算法的多樣性和靈活性[9?12]。
社會(huì)情感優(yōu)化算法是一種基于社會(huì)活動(dòng)中人的情感對(duì)行為的影響的群智能優(yōu)化算法,模擬了理智情況下的人在參與某種社會(huì)活動(dòng)時(shí),感知其周圍環(huán)境對(duì)他的評(píng)價(jià),通過(guò)情緒的反饋采取相應(yīng)決策和效應(yīng),來(lái)對(duì)下一步活動(dòng)進(jìn)行指導(dǎo),重復(fù)此過(guò)程,直到滿足條件為止。與常見(jiàn)的幾種群智能算法相比,社會(huì)情感優(yōu)化算法收斂效率更高。在社會(huì)情感算法中,每個(gè)個(gè)體代表一個(gè)虛擬的人,在每次迭代中,他將根據(jù)相應(yīng)的情緒指數(shù)選擇行為。在這之后評(píng)價(jià)值將從社會(huì)反應(yīng)出來(lái)以確認(rèn)該行為的對(duì)與錯(cuò)。如果正確,那么情緒指數(shù)就上升,否則就降低[13?14]。SEOA流程圖如圖1所示。

下一步行為分為3種情況如下:
式中:vjbest(t)為個(gè)體歷史最好社會(huì)評(píng)價(jià)值對(duì)應(yīng)的行為;vGbest(t)為群體歷史最好社會(huì)評(píng)價(jià)值對(duì)應(yīng)的行為;c1,c2,c3是控制參數(shù)。SEOA與PSO算法相似,而PSO只有更新策略,沒(méi)有引入情感的概念。
SEOA考慮到了社會(huì)評(píng)價(jià)最差的個(gè)人行為,以調(diào)整其行為。因此,SEOA可以更快地收斂得到最優(yōu)解。
2 ?基于SEOA的SVM參數(shù)優(yōu)化
考慮訓(xùn)練集[{xi,yi}Li=1],其中x是特征向量,[x∈Rn,y∈{+1,-1}]是類標(biāo)簽。SVM分類的思想是求得一個(gè)最佳超平面和使用訓(xùn)練集分離[15]。可將其轉(zhuǎn)化為一個(gè)二分類問(wèn)題,如下:
對(duì)于訓(xùn)練集[{xi,yi}Li=1],應(yīng)用SEOA進(jìn)行SVM參數(shù)優(yōu)化的具體步驟如下:
1) 種群初始化。設(shè)置SEOA的參數(shù)c1,c2,c3以及最大迭代次數(shù)N,個(gè)體的個(gè)數(shù)L為SVM訓(xùn)練樣本個(gè)數(shù)。設(shè)定情緒閾值參數(shù)m1和m2,初始化每個(gè)個(gè)體的行為,并使用式(6)計(jì)算其社會(huì)評(píng)價(jià)值f[vj(0)],設(shè)定每個(gè)個(gè)體的情緒指數(shù)Ej(0)=1,即情緒指數(shù)就是最大值,則社會(huì)評(píng)價(jià)值f[vj(0)]等價(jià)于fjbest(0);
2) 當(dāng)t=0時(shí),個(gè)體按式(2)來(lái)選擇下一次行為,當(dāng)t>0時(shí),個(gè)體則按式(3)來(lái)選擇下一次行為;
3) 更新個(gè)體的歷史最好社會(huì)評(píng)價(jià)值fjbest(t)和其行為vjbest,更新群體的最好社會(huì)評(píng)價(jià)值fGbest,最壞社會(huì)評(píng)價(jià)值fGworst及平均社會(huì)評(píng)價(jià)值,并更新群體的行為vGbest;
4) 判斷是否滿足結(jié)束的條件,如果滿足,則輸出群體的最好社會(huì)評(píng)價(jià)值fGbest及其行為vGbest(t),得到最優(yōu)解并退出;否則進(jìn)入下一步;
5) 根據(jù)式(2)調(diào)整個(gè)體情緒指數(shù)Ej(t),進(jìn)入下一代,返回步驟2)。
3 ?實(shí)驗(yàn)數(shù)據(jù)和結(jié)果對(duì)比
為了測(cè)試提出的基于SEOA 的SVM參數(shù)優(yōu)化算法的性能,從UCI 數(shù)據(jù)集中選取4個(gè)數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)研究,這4個(gè)數(shù)據(jù)集都是二分類問(wèn)題。針對(duì)數(shù)據(jù)集分別采用標(biāo)準(zhǔn)遺傳算法優(yōu)化支持向量機(jī)(GA?SVM)、粒子群算法優(yōu)化支持向量機(jī)(PSO?SVM)作為對(duì)比模型進(jìn)行試驗(yàn)測(cè)試。
3.1 ?數(shù)據(jù)描述
用于測(cè)試的數(shù)據(jù)集描述如表1所示。每個(gè)數(shù)據(jù)集的70%用作訓(xùn)練,30%用作測(cè)試。

3.2 ?參數(shù)設(shè)置
GA參數(shù):最大迭代次數(shù)100,種群數(shù)目20,采用賭輪選擇法、單點(diǎn)交叉算子進(jìn)行遺傳操作,變異概率為0.01。
PSO參數(shù):學(xué)習(xí)因子均設(shè)置為1.8,慣性權(quán)重為0.6。
SEOA參數(shù):控制參數(shù)如表2所示。最大迭代次數(shù)N=100,個(gè)體數(shù)量L=100,根據(jù)情緒閾值m1,m2的取值范圍為[0,1],且m1
3.3 ?結(jié)果分析
為了得到更加準(zhǔn)確可靠的實(shí)驗(yàn)結(jié)果,每個(gè)實(shí)驗(yàn)都重復(fù)10次,搜索時(shí)間、分類精度均取10次結(jié)果的平均值。利用3種方法對(duì)4個(gè)數(shù)據(jù)集進(jìn)行分類的平均分類準(zhǔn)確率如表3所示。

通過(guò)比較發(fā)現(xiàn),基于情感優(yōu)化算法的SVM參數(shù)優(yōu)化算法比基于遺傳算法、粒子群算法的 GA?SVM、PSO?SVM參數(shù)尋優(yōu)法具有更好的實(shí)驗(yàn)效果,更高的分類準(zhǔn)確率,花費(fèi)更少的搜索時(shí)間。為了分析3種算法在參數(shù)尋優(yōu)過(guò)程中的收斂性,圖2顯示了這3種算法對(duì)4組數(shù)據(jù)集的分類效果對(duì)比結(jié)果,從圖中可以看出,3種算法對(duì)于4組數(shù)據(jù)集的分類效果不同,本文提出的SEO?SVM算法具有更好的收斂性,平均分類精度有所提高。進(jìn)一步分析發(fā)現(xiàn),當(dāng)數(shù)據(jù)集樣本較大時(shí),3種算法的分類效果均有所下降,而本文的SEO?SVM算法的運(yùn)行時(shí)間要長(zhǎng)些,這個(gè)和模型算法的時(shí)間復(fù)雜度有關(guān),這也是后期研究的重點(diǎn)。

4 ?結(jié) ?論
SVM作為最流行的機(jī)器學(xué)習(xí)算法之一,被廣泛用于數(shù)據(jù)集分類和模式識(shí)別。為了改進(jìn)SVM的性能,本文提出將社會(huì)情感優(yōu)化算法用于SVM的參數(shù)優(yōu)化。使用SEOA來(lái)對(duì)SVM的核函數(shù)參數(shù)和懲罰參數(shù)進(jìn)行尋優(yōu)。實(shí)驗(yàn)結(jié)果表明,基于SEOA算法的SVM參數(shù)選擇是有效可行的,能使用較少的支持向量而得到更高的分類精度;在進(jìn)行參數(shù)選擇時(shí),相比于GA算法和PSO算法,在搜索時(shí)間上具有更明顯的優(yōu)勢(shì)。接下來(lái)的工作一方面是對(duì)SEOA算法的收斂性進(jìn)行進(jìn)一步的研究;另一方面是如何選取較好的核函數(shù),以提高SVM的分類精度和泛化能力。
注:本文通訊作者為孫祥娥。
參考文獻(xiàn)
[1] SAIMURUGAN M, RAMACHANDRAN K I , SUGUMARAN V, et al. Multi?component fault diagnosis of rotational mechanical system based on decision tree and support vector machine [J]. Expert systems with applications, 2011, 38(4): 3819?3826.
[2] ZHANG Xiaoyuan, ZHOU Jianzhong, GUO Jun, et al. Vibrant fault diagnosis for hydroelectric generator units with a new combination of rough sets and support vector machine [J]. Expert systems with applications, 2012, 39(3): 2621?2628.
[3] DRUCKER H, WU D , VAPNIK V N. Support vector machines for spam categorization [J]. IEEE transactions on neural networks, 1999, 10(5): 1048?1054.
[4] 王健峰.基于改進(jìn)網(wǎng)格搜索法SVM參數(shù)優(yōu)化的說(shuō)話人識(shí)別研究[D].哈爾濱:哈爾濱工程大學(xué),2012.
WANG Jianfeng. Research on SVM parameter optimization speaker recognition based on improved grid search [D]. Harbin: Harbin Engineering University, 2012.
[5] 張進(jìn),丁勝,李波.改進(jìn)的基于粒子群優(yōu)化的支持向量機(jī)特征選擇和參數(shù)聯(lián)合優(yōu)化算法[J].計(jì)算機(jī)應(yīng)用,2016,36(5):1330?1335.
ZHANG Jin, DING Sheng, LI Bo. Improved particle swarm optimization algorithm for support vector machine feature selection and optimization of parameters [J]. Journal of computer applications, 2016, 36(5): 1330?1335.
[6] 戴上平,宋永東.基于遺傳算法與粒子群算法的支持向量機(jī)參數(shù)選擇[J].計(jì)算機(jī)工程與科學(xué),2012,34(10):113?117.
DAI Shangping, SONG Yongdong. Parameter selection of support vector machines based on the fusion of genetic algorithm and the particle swarm optimization [J]. Computer engineering and science, 2012, 34(10): 113?117.
[7] 高雷阜,張秀麗,王飛.改進(jìn)蟻群算法在SVM參數(shù)優(yōu)化研究中的應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2015(13):139?144.
GAO Leifu, ZHANG Xiuli, WANG Fei. Application of improved ant colony algorithm in SVM parameter optimization selection [J]. Computer engineering and applications, 2015(13): 139?144.
[8] 郝艷友,遲忠先,李克秋,等.基于IGA的支持向量機(jī)特征子集選擇和參數(shù)優(yōu)化[J].計(jì)算機(jī)工程與應(yīng)用,2008,44(22):35?38.
HAO Yanyou, CHI Zhongxian, LI Keqiu, et al. IGA?based feature subset selection and parameters optimization for support vector machines [J]. Computer engineering and applications, 2008, 44(22): 35?38.
[9] 杜卓明,馮靜.改進(jìn)遺傳算法和支持向量機(jī)的特征選擇算法[J].計(jì)算機(jī)工程與應(yīng)用,2009,45(29):28?30.
DU Zhuoming, FENG Jing. Support vector machine feature selection algorithm based on modified genetic algorithm [J]. Computer engineering and applications, 2009, 45(29): 28?30.
[10] 崔志華.社會(huì)情感優(yōu)化算法[M].北京:電子工業(yè)出版社,2011.
CUI Zhihua. Social emotion optimization algorithm [M]. Beijing: Publishing House of Electronics Industry, 2011.
[11] CUI Z, FAN S, SHI Z. Social emotional optimization algorithm with Gaussian distribution for optimal coverage problem [J]. Sensor letters, 2013, 11(2): 259?263.
[12] WEI Zhanhong, CUI Zhihua, ZENG Jianchao. Social emotional optimization algorithm with emotional model [J]. International journal of computational science and engineering, 2012, 7(2): 125?132.
[13] 王俊艷.基于社會(huì)情感算法的分類模型設(shè)計(jì)[J].電子技術(shù)與軟件工程,2015(1):187.
WANG Junyan. Categorization model design based on social emotion algorithm [J]. Electronic technology & software engineering, 2015(1): 187.
[14] 徐月春.情感選擇方式的策略研究[D].太原:太原科技大學(xué),2012.
XU Yuechun. Research on strategies of emotional choice [D]. Taiyuan: Taiyuan University of Science and Technology, 2012.
[15] ZHANG Yunqiang, ZHANG Peilin. Machine training and parameter settings with social emotional optimization algorithm for support vector machine [J]. Pattern recognition letters, 2015, 54: 36?42.