高雷阜,趙世杰,高 晶
遼寧工程技術大學 理學院,遼寧 阜新 123000
人工魚群算法在SVM參數優化選擇中的應用
高雷阜,趙世杰,高 晶
遼寧工程技術大學 理學院,遼寧 阜新 123000
20世紀70年代,Vapnik等人提出的統計學習理論[1]是一種研究有限樣本情況下機器學習規律的理論,而支持向量機正是以該理論為基礎發展起來的,在解決小樣本、非線性及高維數據的模式識別問題中表現出許多特有的優勢,克服了過學習、欠學習和“維數災難”等問題,并能夠較好地推廣應用到其他機器學習問題中。作為新興學習機器,支持向量機仍存在許多有待完善的地方。
支持向量機的改進研究主要集中在核函數、核矩陣的構造[2];核參數的優化選擇和核函數的性質[3]的研究等方面,而對于核參數的選擇到目前為止也沒有一套完整的理論,但參數的選擇卻直接影響著支持向量機的分類精度和泛化性能等。傳統的參數選擇方法主要是通過反復實驗參數的方法,人工選取出較好的參數,這必然導致較高的時間代價,并且得到的可能不是最優的參數。
對于參數的優化選擇一直是支持向量機的一個研究熱點,研究方法有基于樣本數據分析或實驗設計的[4-6]、基于仿生智能算法用于支持向量機參數優化選擇的:有進化算法[7-10]、粒子群算法[11-13]、蟻群算法[14-15]以及多種智能算法相融合用于參數優化的方法[16]等。
而人工魚群算法[17-19]同樣作為一種新興的仿生智能算法,具有較強的并行處理能力,尋優速度快;對初始值不敏感,具備全局尋優能力等優點。本文將人工魚群算法應用于支持向量機的參數優化選擇中,利用人工魚群的并行性能夠更快地收斂于全局極值點,并以分類準確率最大化作為優化原則建立目標函數,實現對支持向量機的核參數和罰參數進行優化選取,以增強支持向量機對數據的分類準確率和對參數的尋優收斂速度。
支持向量機[20]就是將待分類問題的輸入變量樣本,通過構造最優分割超平面,使位于超平面一側的為一類;超平面另一側的為另一類,從而實現樣本的分類問題。

對于線性不可分的情況,可以通過非線性映射將低維空間映射到高維特征空間(一般為Hilbert空間)中,使其在該高維空間中線性可分。雖然在低維空間是線性不可分的,但總可找到適合的核函數K(xi,xj),將數據由低維空間映射到高維空間使其線性可分。常見的SVM核函數主要有多項式核函數、高斯核函數(RBF核函數)、Sigmoid核函數,同時也可以根據具體問題構造相應的核函數。
線性不可分問題的Lagrange對偶函數為:

核函數選擇也是影響支持向量機性能的一個重要影響因素,而高斯核函數具有較好的適應性,無論對于低維空間數據還是高維空間都具有較好的收斂域,是較為理想的核函數,因此選取高斯核函數作為SVM的分類預測核函數,故高斯核函數支持向量機分類性能的影響參數主要有罰參數C和高斯核函數σ需要進行優化。
人工魚群算法通過多條人工魚同時進行尋優,從中選取最優值作為此次優化的結果實現了并行操作,從而使人工魚群算法能夠快速收斂到最優值附近,而且對給定的初始值不敏感,具備全局尋優能力,因此將其應用于支持向量機參數的優化選擇中,優化目標是確定最優的參數組合(C,σ)使SVM的分類準確率達到最大化。基于人工魚群算法的SVM參數優化選擇步驟為:
步驟1參數設置。人工魚群算法參數設置,主要包括人工魚群的種群規模 Fish_num、魚群最大迭代次數Max_gen、覓食最大試探次數Try_num、感知距離Visual、移動步長Step_leg和魚群擁擠度因子δ;支持向量機相關參數上下限取值設置,包括SVM罰參數C和高斯核函數參數σ。
步驟2初始化人工魚。每條人工魚為SVM待優化參數組合(C,σ),第一行為罰參數C的取值,第二行為核參數σ的取值;根據步驟1中罰參數C和核參數σ的取值范圍隨機初始化人工魚,整個魚群是一個2×Fish_num的矩陣,每次行為操作都使Fish_num條人工魚并行尋優,提高了尋優性能。
步驟3設置支持向量機相應數據集,主要包括訓練數據集Train_data、訓練數據集標簽Train_label、目標數據集T_data和目標標簽數據集T_num。
步驟4計算初始魚群的食物濃度值。選取高斯核函數作為支持向量機的核函數,根據訓練集Train_data和訓練集標簽Train_label訓練支持向量機模型,并將該模型用于目標集T_data和目標標簽集T_num的分類預測中,將支持向量機的分類準確率作為各人工魚的食物濃度值并比較大小,將最大者作為當前魚群的最優值,并保存當前最優值所對應的人工魚的參數組合(C,σ)。
步驟5對魚群中各人工魚的行為操作。各人工魚分別模擬覓食行為、追尾行為和聚群行為,并按食物濃度值最大的行為執行,缺失行為為隨機行為,按照人工魚的感知距離Visual和移動步長Step_leg進行隨機游走。
步驟6最優食物濃度值的選擇。魚群每進行一次行為操作,便計算一次當前魚群的最大食物濃度值:如果有一條人工魚的食物濃度值大于已保存的食物濃度值,則用當前的食物濃度值替代原保存的最優食物濃度值,并保存該最優值所對應的人工魚的參數組合(C,σ),否則仍保存原食物濃度值和最優值所對應的人工魚的參數組合(C,σ)。
步驟7判斷是否滿足算法的終止條件:判斷是否達到預設的魚群最大迭代次數Max_gen,若是則輸出魚群的最大食物濃度值和最優值所對應的人工魚的參數組合(C,σ),否則迭代次數加1,并跳轉執行步驟5。
基于人工魚群算法的SVM參數優化選擇的流程圖見圖1。
為了驗證基于人工魚群算法對支持向量機參數優化的性能,本文利用支持向量機的交叉檢驗法和基于遺傳算法、基于粒子群算法和基于蟻群算法的SVM參數尋優法作為對比實驗,來說明該方法在SVM參數優化選擇中是有效的和可行的。

圖1 基于人工魚群算法優化SVM參數流程圖
4.1 實驗數據
實驗數據選自UCI標準數據庫中的Statlog、liver-disorders(簡記LD)、seeds、Iris、glass、wine、Image-Segmentation(簡記IS)和Hayes-Roth(簡記HR)共8個數據集,各數據集的具體屬性等情況見表1。

表1 數據集的屬性
訓練數據集是采用隨機選取的方式,其具體操作是按照原始數據集Orig_Data的大小數目N,將整數數集{1,2,…,N}的 N個整數進行隨機排列,然后根據所需訓練數據集Train_Data的數目n選取隨機排列的前n個位置的隨機排列,并以此n個排列順序依次從原始數據集Orig_Data中選取出相應位置的樣本放入訓練數據集Train_Data中,最終得到由n個樣本組成的訓練數據集Train_Data;同時對于各樣本數目均等的數據集可以采用均勻隨機選取,即對各數據集按各類別比例從各類中選取出滿足比例關系的樣本組成訓練數據集。8個數據集的訓練數據集選取情況見表2。
4.2 實驗參數設置
支持向量機的交叉驗證法的罰參數C的取值范圍設置為 [0,10],步長設置為0.1;高斯核函數相關參數 γ的取值范圍設置為[0,1],步長為0.01。仿生智能算法中遺傳算法、粒子群算法、蟻群算法和人工魚群算法中種群進化代數Max_gen為50,種群規模Size_pop為5(以與人工魚群算法相比較驗證其較好效果),罰參數C的取值范圍為(0,10],核函數相關參數 γ的取值范圍為(0,1],另外GA算法的其他參數設置為:交叉概率P_cross為0.8,變異概率P_mutation為0.008;粒子群算法其他參數設置為:速度最大值為Vmax為0.5,速度最小值為Vmin為-0.5,速度更新參數α和β分別為1.494 45和0.494 45;蟻群算法其他參數設置為:信息素揮發系數Rho為0.8,信息素增加強度Q為0.9,螞蟻爬行速度V為0.3;人工魚群算法其他參數設置為:人工魚最大試探次數Try_num為5,魚群擁擠度因子δ為0.618,人工魚的感知距離Visual為0.5和移動步長Step_leg為0.1。

表2 各數據集的訓練數據集選取情況
4.3 實驗結果
利用Statlog、liver-disorders、seeds、Iris、glass、wine、Image-Segmentation和Hayes-Roth共8個數據集,分別通過SVM交叉驗證法、基于遺傳算法的SVM參數尋優法(GA-SAM)、基于粒子群算法的SVM參數尋優法(PSO-SAM)、基于蟻群算法的SVM參數尋優法(ACO-SAM)和本文提出的基于人工魚群算法的SVM參數尋優法(AF-SVM)5種方法對建立的SVM分類模型進行最優參數組合(C,γ)的選取,并按照各方法所獲得的最優參數組合(C,γ)再利用SVM模型對各數據集進行預測,并記錄相應的分類準確率,具體結果見表3。
從表3看以看出:利用5種方法通過8組數據集對SVM參數組合(C,γ)優化選擇的結果分析得出,基于人工魚群算法的SVM法比基于遺傳算法、粒子群算法和蟻群算法的SVM參數尋優法以及SVM的交叉驗證法具有更好的實驗效果,具有更高的分類準率,表明基于人工魚群算法對支持向量機的參數組合(C,γ)具有較強的尋優能力,所得的分類結果也更為準確。為進一步分析人工魚群算法與其他仿生智能算法在SVM參數組合尋優中的收斂性問題,根據4種仿生智能算法對8組數據集的分類效果以可視化的形式展示四算法的分類對比圖見圖2~圖9。
由圖2~圖9可知:利用UCI中8個數據集,對SVM最優參數組合(C,γ)的尋優實驗結果的分析中可以得出基于人工魚群算法的SVM參數尋優法比基于遺傳算法、粒子群算法和蟻群算法的參數尋優法具有更高的分類準確率,同時收斂性也較好,具有更快的收斂速度,說明多條人工魚并行搜索最優參數組合的性能較強。由表3和圖2~圖9可以看出基于人工魚群算法的支持向量機參數尋優法具有更好的學習性能。

表3 五方法所選取SVM最優對數據集分類結果對比表

圖2 四種仿生智能算法對Statlog數據分類效果圖

圖3 四種仿生智能算法對LD數據分類效果圖

圖4 四種仿生智能算法對seeds數據分類效果圖

圖5 四種仿生智能算法對Iris數據分類效果圖
支持向量機核參數σ和罰參數C的選取對于其分類性能具有重要影響,同時考慮到人工魚群算法作為新興的群體智能優化算法,具有較好的并行性不易陷入局部極值,同時具有對初始值不敏感和全局尋優性能等優點,而提出了基于人工魚群算法的支持向量機參數優化選取方法。實驗結果表明,AF算法比GA、PSO和ACO算法具有更快的尋優性能,同時所得的最優參數組合的分類性能也更好,具有更高的分類準確率,說明該方法對SVM的參數優化選取是可行的和有效的,從而為支持向量機的核函數參數優化提供了一種可行的方法。但針對不同的具體問題只是通過現有核函數的選取,可能會對支持向量機的性能具有一定影響,而且AF算法能較快收斂到最優解的鄰域中,進一步搜索尋優的性能有待改善,因此接下來的工作一方面是如何根據具體研究問題構造或選取較好的核函數,以進一步提高支持向量機的分類性能;另一方面是在AF算法尋得最優解鄰域后再利用Monte-Carlo法等統計方法進行局部尋優,以獲得更好的最優解。

圖6 四種仿生智能算法對glass數據分類效果圖

圖7 四種仿生智能算法對wine數據分類效果圖

圖8 四種仿生智能算法對IS數據分類效果圖

圖9 四種仿生智能算法對HR數據分類效果圖
[1]Vapnik V.The nature of statistical learning theory[M].New York:Wiley,1998.
[2]汪廷華,陳峻婷.核函數的選擇研究綜述[J].計算機工程與設計,2012,33(3):1181-1186.
[3]王奇,呂震宙,崔利杰.核函數的性質及其在靈敏度分析上的應用[J].西北工業大學學報,2010,28(5):797-802.
[4]楊紫微,王儒敬,檀敬東,等.基于幾何判據的SVM參數快速選擇方法[J].計算機工程,2010,36(17):206-209.
[5]黃景濤,馬龍華,錢積新.基于統計試驗設計方法的支持向量機參數選取[J].電路與系統學報,2008,13(6):18-22.
[6]郭立力,趙春江.十折交叉檢驗的支持向量機參數優化算法[J].計算機工程與應用,2009,45(8):55-57.
[7]Avci E.Selecting of the optimal feature subset and kernel parameters in digital modulation classification by using hybrid geneticalgorithm-supportvectormachines:HGASVM[J]. Expert Systems with Applications,2009,36:1391-1402.
[8]趙明淵,唐 勇,傅翀,等.基于帶特征染色體遺傳算法的支持向量機特征選擇和參數優化[J].控制與決策,2010,25(8):1133-1138.
[9]Ilhan I,Tezel G.A genetic algorithm-support vector machine method with parameter optimization for selecting the tag SNPs[J].Journal of Biomedical Informatics,2013,46:328-340.
[10]陳濤,雍龍泉,鄧方安,等.基于差分進化算法的支持向量機參數選擇[J].計算機工程與應用,2011,47(5):24-26.
[11]邵信光,楊慧中,陳 剛.基于粒子群優化算法的支持向量機參數選擇及其應用[J].控制理論與應用,2006,23(5):740-748.
[12]Melgani F,Bazi Y.Classification of Electrocardiogram signals with support vector machines and particle swarm optimization[J].IEEE Transactionson Information Technology in Biomedicine,2008,12(5):667-677.
[13]Abdi M J,Giveki D.Automatic detection of erythematosquamous diseases using PSO-SVM based on association rules[J].Engineering Applications of Artificial Intelligence,2013,(26):603-608.
[14]劉春波,王鮮芳,潘豐.基于蟻群優化算法的支持向量機參數選擇及仿真[J].中南大學學報:自然科學版,2008,39(6):1309-1313.
[15]Li Zhan-Chao,Zhoua Xuan,Dai Zong,et al.Identification of protein methylation sites by coupling improved ant colony optimization algorithm and support vector machine[J].Analytica Chimica Acta,2011,703:163-171.
[16]戴上平,宋永東.基于遺傳算法與粒子群算法的支持向量機參數選擇[J].計算機工程與科學,2012,34(10):113-117.
[17]李曉磊.一種新型的智能優化方法—人工魚群算法[D].杭州:浙江大學,2003.
[18]Li Xiaolei,Shao Zhijiang,Qian Jixin.An optimizing method based on autonomous animats:fish-swarm algorithm[J].Systems Engineering-Theory&Practice,2002,22(11):32-38.
[19]Li Xiaolei,Qian Jixin.Studies on artificial fish swarm optimization algorithm based on decomposition and coordination techniques[J].Journal of Circuits and Systems,2003,8(1):1-6.
[20]鄧乃揚,田英杰.數據挖掘中的新方法:支持向量機[M].北京:科學出版社,2004.
GAO Leifu,ZHAO Shijie,GAO Jing
College of Science,Liaoning Technical University,Fuxin,Liaoning 123000,China
As considering that the parameter optimization of support vector machine lacks theory support and the SVM cross-validation method spends lots of time on selecting parameters,the parameter optimization selection method of support vector machine is proposed based on artificial fish-swarm algorithm.This method puts the SVM classification prediction accuracy rate as the optimization principle and uses the better parallelism of artificial fish-swarm algorithm and the stronger global optimization ability to achieve the optimal target and obtain optimal parameter combination of SVM.The results of numerical value experiments show that the artificial fish-swarm algorithm has faster performance optimization and higher classification accuracy rate in SVM parameters’optimization selection.This method has the better parallelism and the stronger global optimization ability. Key words:support vector machine;artificial fish-swarm algorithm;parameter optimization;genetic algorithm
針對支持向量機的參數優化缺乏理論支持,而SVM交叉檢驗法選取又較為費時的情況下,提出了基于人工魚群算法的支持向量機參數優化選取算法,并以SVM分類預測準確率最大為優化原則,利用人工魚群算法的較好并行性和較強的全局尋優能力,以實現最優目標并得到SVM的最優參數組合。數值實驗結果表明:人工魚群算法在SVM參數優化選取中具有更快的尋優性能,同時具有較高的分類準確率。該方法具有較好的并行性和較強的全局尋優能力。
支持向量機;人工魚群算法;參數優化;遺傳算法
A
TP18
10.3778/j.issn.1002-8331.1304-0066
GAO Leifu,ZHAO Shijie,GAO Jing.Application of artificial fish-swarm algorithm in SVM parameter optimization selection.Computer Engineering and Applications,2013,49(23):86-90.
遼寧省教育廳基金項目(No.L2012105)。
高雷阜(1963—),男,教授,博士生導師,研究方向:最優化理論與方法;趙世杰(1987—),男,碩士研究生,研究方向:最優化理論與應用、數據挖掘;高晶(1989—),女,碩士研究生,研究方向:最優化理論與應用。E-mail:zhao2008shijie@126.com
2013-04-07
2013-05-27
1002-8331(2013)23-0086-05
CNKI出版日期:2013-08-27 http://www.cnki.net/kcms/detail/11.2127.TP.20130827.1603.011.html