APP下载

基于社会情感优化算法的支持向量机参数选择

2019-06-15程彩凤孙祥娥

现代电子技术 2019年12期
关键词:支持向量机机器学习遗传算法

程彩凤 孙祥娥

摘  要: 支持向量机(SVM)是广泛应用于分类和回归问题的机器学习方法。SVM做分类预测时的分类精度主要取决于参数的选择,参数选择不当将出现“过学习”或“欠学习”的情况,且容易陷入局部最优解。社会情感优化算法(SEOA)加入了人类情感因素,是一种新颖的智能优化算法,有着良好的全局优化能力。提出基于SEOA的SVM参数选择方法,同时优化核函数参数和惩罚参数。实验采用4组UCI数据集进行测试,并将SEOA算法与遗传算法、粒子群优化算法进行仿真测试结果对比。试验结果表明,SEOA较大地提高了SVM算法的寻优能力,收敛性较好,具有更高的分类精度和更少的搜索时间。

关键词: 支持向量机; 社会情感优化算法; 参数选择; 分类精度; 机器学习; 遗传算法

中图分类号: TN911?34; TP181                 文献标识码: A                    文章编号: 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

分类问题已经应用到各个领域,如模式识别、疾病诊断、投资风险评估、故障检测[1?2]等。支持向量机(SVM)是广泛应用于分类和回归问题的机器学习方法,它最早是由Vapnik于20世纪90年代引入的。SVM通过非线性映射构造一个最优分类超平面,作为分类决策面,最大化超平面与原点之间的距离[3]。

SVM使用核函数将数据样本从低维映射到高维,做分类预测时需要调节相关的参数,主要是误差惩罚因子C和核函数参数。C过大或过小,泛化能力变差。核参数的改变会影响特征空间中样本的分布情况,导致特征空间VC维的改变。那么如何选取最佳的参数,以便得到比较理想的预测分类准确率就显得尤为重要。

为了提高SVM分类器的分类精度、泛化能力以及减少算法的运行时间,很多学者在这方面做了相关的研究。传统的参数选择方法有网格搜索法[4]、牛顿法、梯度下降法等,以及仿生物学的人工智能算法,如进化算法、遗传算法、粒子群优化算法等,以及多种智能算法相结合的方法等。张进等提出改进的PSO算法对SVM的参数进行优化,在PSO中引入遗传算法中的交叉变异算子,提高了群体的多样性,结果提高了SVM的分类准确率,但分类精度有待进一步提高[5]。戴上平等提出结合GA算法和PSO算法对SVM参数进行优化求解,将PSO算子作为GA算法的变异算子,使变异算子具备了学习的能力,避免了算法陷入局部最优解,算法效率有所提高,但结果不是很稳定[6]。高雷阜等提出改进的遗传算法来优化SVM参数,在蚁群算法中加入有向搜索和基于时变函数更新的信息素更新原则,结果具有较高的分类准确率,但是该算法时间复杂度较高[7]。郝艳友等采用免疫遗传算法IGA,同时进行特征选择和SVM参数优化,取得了良好的分类效果[8]。本文将优化目前使用最广泛的高斯核函数的核参数σ和惩罚参数C,提出一种基于社会情感优化(SEOA)算法的支持向量机参数优化方法,以SVM分类准确率最大化作为优化原则,优化选择核函数参数σ和惩罚参数C,最终能提高支持向量機的分类准确率及其泛化能力。

1  社会情感优化算法

社会情感优化算法是结合了粒子群优化和蚁群优化的思想,通过模拟人类情感、情绪对行为的影响而构造的一种群智能优化算法,由于个体有情感因素的加入,能够利用每个人的情绪作为控制策略,从而提高了算法的性能,改善了算法的多样性和灵活性[9?12]。

社会情感优化算法是一种基于社会活动中人的情感对行为的影响的群智能优化算法,模拟了理智情况下的人在参与某种社会活动时,感知其周围环境对他的评价,通过情绪的反馈采取相应决策和效应,来对下一步活动进行指导,重复此过程,直到满足条件为止。与常见的几种群智能算法相比,社会情感优化算法收敛效率更高。在社会情感算法中,每个个体代表一个虚拟的人,在每次迭代中,他将根据相应的情绪指数选择行为。在这之后评价值将从社会反应出来以确认该行为的对与错。如果正确,那么情绪指数就上升,否则就降低[13?14]。SEOA流程图如图1所示。

图1  社會情感优化算法流程图

下一步行为分为3种情况如下:

式中:vjbest(t)为个体历史最好社会评价值对应的行为;vGbest(t)为群体历史最好社会评价值对应的行为;c1,c2,c3是控制参数。SEOA与PSO算法相似,而PSO只有更新策略,没有引入情感的概念。

SEOA考虑到了社会评价最差的个人行为,以调整其行为。因此,SEOA可以更快地收敛得到最优解。

2  基于SEOA的SVM参数优化

考虑训练集[{xi,yi}Li=1],其中x是特征向量,[x∈Rn,y∈{+1,-1}]是类标签。SVM分类的思想是求得一个最佳超平面和使用训练集分离[15]。可将其转化为一个二分类问题,如下:

对于训练集[{xi,yi}Li=1],应用SEOA进行SVM参数优化的具体步骤如下:

1) 种群初始化。设置SEOA的参数c1,c2,c3以及最大迭代次数N,个体的个数L为SVM训练样本个数。设定情绪阈值参数m1和m2,初始化每个个体的行为,并使用式(6)计算其社会评价值f[vj(0)],设定每个个体的情绪指数Ej(0)=1,即情绪指数就是最大值,则社会评价值f[vj(0)]等价于fjbest(0);

2) 当t=0时,个体按式(2)来选择下一次行为,当t>0时,个体则按式(3)来选择下一次行为;

3) 更新个体的历史最好社会评价值fjbest(t)和其行为vjbest,更新群体的最好社会评价值fGbest,最坏社会评价值fGworst及平均社会评价值,并更新群体的行为vGbest;

4) 判断是否满足结束的条件,如果满足,则输出群体的最好社会评价值fGbest及其行为vGbest(t),得到最优解并退出;否则进入下一步;

5) 根据式(2)调整个体情绪指数Ej(t),进入下一代,返回步骤2)。

3  实验数据和结果对比

为了测试提出的基于SEOA 的SVM参数优化算法的性能,从UCI 数据集中选取4个数据集进行实验研究,这4个数据集都是二分类问题。针对数据集分别采用标准遗传算法优化支持向量机(GA?SVM)、粒子群算法优化支持向量机(PSO?SVM)作为对比模型进行试验测试。

3.1  数据描述

用于测试的数据集描述如表1所示。每个数据集的70%用作训练,30%用作测试。

表1  数据集描述

3.2  参数设置

GA参数:最大迭代次数100,种群数目20,采用赌轮选择法、单点交叉算子进行遗传操作,变异概率为0.01。

PSO参数:学习因子均设置为1.8,惯性权重为0.6。

SEOA参数:控制参数如表2所示。最大迭代次数N=100,个体数量L=100,根据情绪阈值m1,m2的取值范围为[0,1],且m1表2  SEOA参数设置

3.3  结果分析

为了得到更加准确可靠的实验结果,每个实验都重复10次,搜索时间、分类精度均取10次结果的平均值。利用3种方法对4个数据集进行分类的平均分类准确率如表3所示。

表3  SEO?SVM与其他算法的比较

通过比较发现,基于情感优化算法的SVM参数优化算法比基于遗传算法、粒子群算法的 GA?SVM、PSO?SVM参数寻优法具有更好的实验效果,更高的分类准确率,花费更少的搜索时间。为了分析3种算法在参数寻优过程中的收敛性,图2显示了这3种算法对4组数据集的分类效果对比结果,从图中可以看出,3种算法对于4组数据集的分类效果不同,本文提出的SEO?SVM算法具有更好的收敛性,平均分类精度有所提高。进一步分析发现,当数据集样本较大时,3种算法的分类效果均有所下降,而本文的SEO?SVM算法的运行时间要长些,这个和模型算法的时间复杂度有关,这也是后期研究的重点。

图2  3种算法模型关于4组数据集的分类效果图

4  结  论

SVM作为最流行的机器学习算法之一,被广泛用于数据集分类和模式识别。为了改进SVM的性能,本文提出将社会情感优化算法用于SVM的参数优化。使用SEOA来对SVM的核函数参数和惩罚参数进行寻优。实验结果表明,基于SEOA算法的SVM参数选择是有效可行的,能使用较少的支持向量而得到更高的分类精度;在进行参数选择时,相比于GA算法和PSO算法,在搜索时间上具有更明显的优势。接下来的工作一方面是对SEOA算法的收斂性进行进一步的研究;另一方面是如何选取较好的核函数,以提高SVM的分类精度和泛化能力。

注:本文通讯作者为孙祥娥。

参考文献

[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] 王健峰.基于改进网格搜索法SVM参数优化的说话人识别研究[D].哈尔滨:哈尔滨工程大学,2012.

WANG Jianfeng. Research on SVM parameter optimization speaker recognition based on improved grid search [D]. Harbin: Harbin Engineering University, 2012.

[5] 张进,丁胜,李波.改进的基于粒子群优化的支持向量机特征选择和参数联合优化算法[J].计算机应用,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].计算机工程与科学,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] 高雷阜,张秀丽,王飞.改进蚁群算法在SVM参数优化研究中的应用[J].计算机工程与应用,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].计算机工程与应用,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].计算机工程与应用,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] 崔志华.社会情感优化算法[M].北京:电子工业出版社,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] 王俊艳.基于社会情感算法的分类模型设计[J].电子技术与软件工程,2015(1):187.

WANG Junyan. Categorization model design based on social emotion algorithm [J]. Electronic technology & software engineering, 2015(1): 187.

[14] 徐月春.情感选择方式的策略研究[D].太原:太原科技大学,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.

猜你喜欢

支持向量机机器学习遗传算法
基于自适应遗传算法的CSAMT一维反演
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
基于遗传算法和LS-SVM的财务危机预测
动态场景中的视觉目标识别方法分析
论提高装备故障预测准确度的方法途径
基于网络搜索数据的平遥旅游客流量预测分析
前缀字母为特征在维吾尔语文本情感分类中的研究
基于熵技术的公共事业费最优组合预测
基于支持向量机的金融数据分析研究
基于改进的遗传算法的模糊聚类算法