人工鱼群算法在SVM参数优化选择中的应用
2013-07-22高雷阜赵世杰
高雷阜,赵世杰,高 晶
辽宁工程技术大学 理学院,辽宁 阜新 123000
人工鱼群算法在SVM参数优化选择中的应用
高雷阜,赵世杰,高 晶
辽宁工程技术大学 理学院,辽宁 阜新 123000
1 引言
20世纪70年代,Vapnik等人提出的统计学习理论[1]是一种研究有限样本情况下机器学习规律的理论,而支持向量机正是以该理论为基础发展起来的,在解决小样本、非线性及高维数据的模式识别问题中表现出许多特有的优势,克服了过学习、欠学习和“维数灾难”等问题,并能够较好地推广应用到其他机器学习问题中。作为新兴学习机器,支持向量机仍存在许多有待完善的地方。
支持向量机的改进研究主要集中在核函数、核矩阵的构造[2];核参数的优化选择和核函数的性质[3]的研究等方面,而对于核参数的选择到目前为止也没有一套完整的理论,但参数的选择却直接影响着支持向量机的分类精度和泛化性能等。传统的参数选择方法主要是通过反复实验参数的方法,人工选取出较好的参数,这必然导致较高的时间代价,并且得到的可能不是最优的参数。
对于参数的优化选择一直是支持向量机的一个研究热点,研究方法有基于样本数据分析或实验设计的[4-6]、基于仿生智能算法用于支持向量机参数优化选择的:有进化算法[7-10]、粒子群算法[11-13]、蚁群算法[14-15]以及多种智能算法相融合用于参数优化的方法[16]等。
而人工鱼群算法[17-19]同样作为一种新兴的仿生智能算法,具有较强的并行处理能力,寻优速度快;对初始值不敏感,具备全局寻优能力等优点。本文将人工鱼群算法应用于支持向量机的参数优化选择中,利用人工鱼群的并行性能够更快地收敛于全局极值点,并以分类准确率最大化作为优化原则建立目标函数,实现对支持向量机的核参数和罚参数进行优化选取,以增强支持向量机对数据的分类准确率和对参数的寻优收敛速度。
2 支持向量机理论
支持向量机[20]就是将待分类问题的输入变量样本,通过构造最优分割超平面,使位于超平面一侧的为一类;超平面另一侧的为另一类,从而实现样本的分类问题。
对于线性不可分的情况,可以通过非线性映射将低维空间映射到高维特征空间(一般为Hilbert空间)中,使其在该高维空间中线性可分。虽然在低维空间是线性不可分的,但总可找到适合的核函数K(xi,xj),将数据由低维空间映射到高维空间使其线性可分。常见的SVM核函数主要有多项式核函数、高斯核函数(RBF核函数)、Sigmoid核函数,同时也可以根据具体问题构造相应的核函数。
线性不可分问题的Lagrange对偶函数为:
3 基于人工鱼群算法的SVM参数优化选择
核函数选择也是影响支持向量机性能的一个重要影响因素,而高斯核函数具有较好的适应性,无论对于低维空间数据还是高维空间都具有较好的收敛域,是较为理想的核函数,因此选取高斯核函数作为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。
4 实验仿真
为了验证基于人工鱼群算法对支持向量机参数优化的性能,本文利用支持向量机的交叉检验法和基于遗传算法、基于粒子群算法和基于蚁群算法的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数据分类效果图
5 结论
支持向量机核参数σ和罚参数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