基于遗传算法的支持向量机参数优化研究

2018-05-28 11:10李昆仑张炘廖频
电脑知识与技术 2018年9期
关键词:参数优化支持向量机遗传算法

李昆仑 张炘 廖频

摘要:本文深入研究了遗传算法在支持向量机参数优化方面的相关知识,对如何使用遗传算法对支持向量机优化参数进行了流程分析,并通过实验数据分析了支持向量机的各参数对其识别性能的影响,并在此基础上提出了一种基于嵌套式遗传算法的支持向量机参数优化方法,为今后支持向量机的研究提供了理论基础。

关键词:遗传算法;支持向量机;参数优化

中图分类号:TP391 文献标识码:A 文章编号: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 引言

经过数年的研究,支持向量机(Support Vector Machine, SVM)无论在理论基础还是算法实现方面都有了很大进展,由于支持向量机在解决高维数,非线性等小样本识别问题方面具有比较突出的优势,所以目前已被广泛应用于模式识别的较多领域。但它在面对大规模或多样性样本的识别问题时还存在一些不足,比如训练速度过慢,内存消耗较多等,如何使支持向量机在处理大数据方面具有较高的性能是目前机器学习领域比较关注的问题。经过众多研究发现,对于支持向量机来说,其性能在很大程度上取决于核函数及其参数。因此可以通过优化支持向量机的核参数来提高支持向量机的识别性能。但如何优化SVM的核参数目前还没有固定的理论和方法,此问题也成为该领域研究的热点。

2支持向量机及其参数优化研究现状

支持向量机是一种较好的统计学习方法,它主要是解决一个二次规划问题。其原理是先将所有的训练向量映射到一个高维空间中,然后在这个高维空间中构建一个最大间隔超平面。支持向量机的核函数有四种:线性核、RBF(Radial Basis Function, 径向基)核、多项式核和Sigmoid核。如果要构建一个SVM,就要先选择该SVM的惩罚因子C,以及核函数和参数。惩罚因子C是控制学习复杂度的, 理论上随着C的增大复杂度逐渐增高,但当C大到一定程度,超过空间复杂度的最大值时,对支持向量机的性能就不会再产生影响。Vapnik等人的研究表明,即使支持向量机模型所选支持向量的个数相同,但对于不同的核函数,其所选择的参数和惩罚因子C对支持向量机的性能有着重要影响[1]。2002年,Chapelle等人也提出了基于梯度下降法的支持向量机的参数优化方法[2]。遗传算法(Genetic Algorithm, GA)由于具有强鲁棒性,而且不依赖问题的具体领域等特点成为目前较为流行的随机搜索优化算法之一,遗传算法具有强大的全局搜索能力,能够快速有效的找到最优解。Zheng等人在2004年提出了一种基于遗传算法的SVM参数自动优化策略[3]。目前国内外有众多学者对使用遗传算法进行参数寻优问题进行研究,对算法中的编码方式、交叉变异算法等进行改进,均取得了不错的实验结果[4-7]。

3 基于遗传算法的SVM参数优化方法

遗传算法是一种基于优胜劣汰、适者生存的高效全局优化搜索算法[8]。由于其强大的随机搜索能力和泛化能力使其被应用在较多领域,像机器学习、函数优化等。参数优化问题实际上也是一个比较典型的搜索寻优问题,而遗传算法也正适合解决这类问题。遗传算法的主要思路是先随机产生原始种群,然后再通过进行选择、交叉、变异等操作对其进行遗传进化迭代,到最后找到最优解为止。遗传算法的执行流程如图1所示。

研究表明支持向量机的性能跟选择的核函数关系不大,关键在于与核函数有关的参数,其中包括惩罚因子C和其他参数,所以提高SVM性能的关键是要找到最优的参数解。支持向量机的RBF核中由于只包含1个参数gamma,所以优化起来更加方便,这也正是支持向量机的RBF核能得到广泛应用的原因。

目前在模式识别领域使用遗传算法来对支持向量机寻求最优参数方面的研究很多,也都取得了一定的成果,虽然他们在实验中使用的方法可能有所不同,但整体流程都差不多,使用遗传算法进行参数寻优的流程如图2所示。

使用遗传算法对支持向量机进行参数优化,首先需要对核参数和惩罚因子C编码后构建初始种群,然后再进行遗传迭代,直至最后找到最优解。其适应度值是将染色体解码以后作为支持向量机的训练参数进行训练后得到的结果。

下面通过实验数据来说明关键参数中的惩罚因子C和核参数对识别性能的影响,实验中使用支持向量机的RBF核, 其优化即是对惩罚因子C和RBF核中的参数gamma进行优化。该实验是将支持向量机应用到人脸图像性别识别系统中进行的,训练样本数为62000和测试样本数为5400,實验中的人脸图像样本均来自处理后网络人脸图像。先固定惩罚因子C,然后对RBF核中的参数gamma进行实验,具体实验结果如表1所示。

固定支持向量机RBF核中的参数gamma,然后对惩罚因子C进行实验,具体实验结果数据分析如表2所示。

通过对两次实验结果的对比可知,对于相同的惩罚因子C,每个gamma值对应不同的识别结果,但从实验结果可以看出对于相同的gamma值则存在多个相同的识别结果,而且从实验数据中也可以看出相对gamma而言惩罚因子C的取值范围较大,所以惩罚因子C对应的搜索范围也较大,但是其识别结果的变化却比gamma小,所以可以说就支持向量机的性能影响来说,核参数gamma是比惩罚因子C更加敏感的,所以可以考虑使用嵌套式的遗传算法来解决支持向量机的参数寻优问题,这种算法的主要思想是:对参数采取不同的搜索策略,鉴于支持向量机的性能对惩罚因子C不够敏感,所以只要做少量优化搜索就可找到最优的惩罚因子C,而只需对较敏感的核参数gamma进行重点搜索。具体操作流程是先构建核参数gamma的遗传算法,并将其适应度函数作为对惩罚因子C求寻优的遗传算法。既是说对于每个核参数gamma都先去寻找它的最优惩罚因子C,然后将使用最优C值得到的训练结果作为它的适应度值。这样的话,使用遗传算法得到的核参数gamma的最优解及其对应的最优惩罚因子C就是支持向量机的最优参数。

4 总结和展望

本文深入研究了支持向量机和遗传算法的相关知识,对如何使用遗传算法对支持向量机进行参数优化进行了流程分析,然后通过相关数据在人脸图像性别识别系统中的实验数据分析了关键核参数对支持向量机识别性能的影响,并在此研究基础上提出了一种基于嵌套式遗传算法的SVM参数优化方法,为以后在支持向量机方面的优化研究提供基础。

参考文献:

[1] Vapnik. 统计学习理论的本质[M].张学工,译.北京:清华大学出版社,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].计算机工程与应用,2012,44(6):140-144.

[5] 刘东平.基于改进遗传算法的支持向量机参数优化[J].微计算机应用,2015,31(4):12-16.

[6] 王东霞.基于育种算法的SVM参数优化[J].安徽大学学报,2011,33(6):28-33.

[7] 邵信光.基于粒子群优化算法的支持向量机参数选择研究[J].控制理论与应用,2015(6):741-745.

[8] 武华锋.一种基于多组PSO的支持向量机参数优化算法[J].后勤工程学院学报,2017(8):92-94.

猜你喜欢
参数优化支持向量机遗传算法
基于自适应遗传算法的CSAMT一维反演
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
基于遗传算法和LS-SVM的财务危机预测
基于支持向量机的金融数据分析研究
基于改进的遗传算法的模糊聚类算法