首页 > 范文大全 > 正文

基于粒子群优化模式搜索的支持向量机参数优化及应用

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于粒子群优化模式搜索的支持向量机参数优化及应用范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:针对核函数参数选择的重要性,提出了粒子群(PSO)模式搜索算法来搜索最优参数,该算法结合了PSO算法的全局搜索能力强和模式搜索的局部收敛性好的优点,使PSO模式搜索算法表现出了较高的性能,并将其应用到农业科技项目分类中。实验结果表明,该算法不仅效率高,收敛速度快,而且搜索到的最优参数达到了较高的准确率。

ス丶词:支持向量机;核参数选取;粒子群优化;模式搜索

ブ型挤掷嗪: TP181 文献标志码:A

Abstract: Considering the importance of selecting Kernel parameters, the Particle Swarm Optimization (PSO) model search algorithm was proposed to search optimal parameters. This method combined the global search capability of PSO algorithm and the good local convergence of mode search, that making PSO model search algorithm displays higher performance, and applied to an the practice of agricultural technological project classification. The results of experiment show that this method is not only efficient, but also catches the optimal parameters that have achieved higher accuracy.

Key words: Support Vector Machine (SVM); kernel parameters selection; Particle Swarm Optimization (PSO); mode search

0 引言

支持向量机(Support Vector Machine,SVM)是Vapink等人根据统计学习理论中结构风险最小化原则,为解决小样本学习问题提供的统一框架[1]。它能较好地解决非线性、过学习、高纬度分类问题,具有良好的推广能力;它能克服神经网络局部最优解、大样本、收敛速度慢等难题,具有较强的实用性[2]。此外,支持向量机是一个凸二次规划,能够保证求得的极值就是全局最优解。

支持向量机的核心是核函数,而核函数的参数选择决定了其分类性能,所以,参数的选择至关重要。以往支持向量机的参数选择都是凭借经验法或实验法,这样不仅计算量大、效率低,而且选取的参数往往不是全局最优参数,限制了支持向量机的应用。为了克服这些缺陷,一些学者提出了基于梯度下降的参数选择方法[3]、基于蚁群算法的参数选择方法[4]、基于网格的参数优化方法[5]、基于粒子优化算法的参数选择方法[6]、基于遗传算法(Genetic Algorithm,GA)的参数优化方法[7]、基于基因表达式编程(Gene Expression Programming,GEP)的参数优化方法[8]。这些方法在对应文献的实验中证明了各自的有效性,但是基于梯度下降的方法是一种线性搜索法,在初始值选择不当时,易陷入局部最优;基于蚁群的方法存在初始信息素匮乏,求解速度慢的缺陷;网格方法存在计算量大、学习精度低的缺点;基于粒子群优化(Particle Swarm Optimization,PSO)算法的方法存在局部搜索能力差、过早收敛而陷入局部极值点的问题;基于GA的方法存在操作复杂,对不同的优化问题需要设计不同的交叉或变异方式;基于GEP的方法存在收敛速度慢,甚至不收敛的缺点。此外,这些方法在样本数量较大、支持向量的维度较高时,将导致计算量大,训练时间长而不能达到实际需求。

考虑到以上参数优化方法存在的问题以及常用分类方法(例如神经网络、遗传算法、C4.5等)的分类性能,同时结合农业科技项目数据集的特点和支持向量机的优势,本文提出了基于PSO模式的SVM参数优化并将其应用到农业科技项目分类实验中。该算法不但保持了基本PSO算法的强全局搜索能力、易实现等优点,而且也保持了模式搜索的强局部搜索能力,避免了算法陷入局部最小值的可能;同时,在迭代过程中利用模式搜索算法不断调整全局最优值,提高了算法的收敛速度,在较少的迭代次数内达到了较好的寻优效果。实验结果表明,该算法在效率和性能方面都有了较大的提高,且达到了较高的准确率,为农业科技项目投入提供了很好的参考依据。

1 PSO模式搜索算法

1.1 PSO算法

在PSO算法中,群体的每个成员被称为粒子,每个粒子在多维搜索空间中飞行,并不断根据粒子自己的经验、粒子邻居的经验或整群体的经验更新自己的速度和位置,从而找到问题的最优解。对应的迭代公式是:

vli=w*vi + c1*rdl1*(pBest-pli)+

c2*rdl2*(gBest-pli)(1)オ

pli=pdi+vli(2)お

其中,w是惯性权重,相对大的w有更多全局搜索能力,相对小的w会导致快速收敛;c1和c2是学习因子;rdl1和rdl2是区间[0,1]上的随机数;p是粒子的当前位置表示支持向量参数c和σ的当前值;v∈[v┆max,v┆min]是粒子的速度,决定下一代的c和σ更新方向和大小。オ

为了改善算法的收敛速度,采用带有收缩因子Е值乃俣冉化方程(式(3)):オ

vli=χ{w*vi + c1*rdl1*(pBest-pli)+

c2*rdl2*(gBest-pli)}(3)オ

PSO算法具有大范围全局搜索能力;搜索从群体出发,具有隐并行性;搜索使用评价函数值启发;收敛速度快,参数调整简单;具有扩展性,容易与其他算法结合等优点[9]。但是算法后期的局部搜索能力差,反馈信息利用不充分,使算法过早收敛而没有达到预期效果。

1.2 模式搜索算法

模式搜索算法又叫HookeJeeves方法[10],算法主要由两个移动过程组成:探测移动和模式移动。探测移动是沿着坐标轴的方向移动;模式移动则是沿着相邻两个探测点连线方向上移动。两个过程也可以理解为:1)确定有利的搜索方向;2)加速过程,也就是在有利方向上加速搜索。

模式搜索算法不要求目标函数可导,是一种直接法,学习精度高且迭代比较简单,尤其是局部搜索能力强。但是存在迭代次数多、计算量大、容易使目标函数陷入局部最小点,并且全局搜索能力差等缺点。

因此,为了充分发挥模式搜索算法的优势,结合PSO算法的优点,提出了PSO模式算法。

1.3 PSO模式搜索算法

从全局角度考虑,PSO算法是一种可行的、鲁棒性很好的优化算法[11]。而从局部收敛角度考虑,模式搜索算法具有局部收敛性好,并且还有对初始值敏感等特点,所以,在PSO算法中引入模式搜索可以使PSO算法具有较强全局搜索能力的同时,也可以摆脱陷入局部极小值的缺陷,提高了算法的收敛速度和精度。

PSO模式搜索算法的核心思想是:先用PSO算法在全局范围内搜索,找到一个较优参数,再利用模式搜索算法在这个较优参数附近进行局部搜索,若搜索结果没有达到精度要求,则进行全局搜索,依次循环直到找到最优参数。

2 PSO模式在农业科技项目分类中的应用

2.1 数据预处理

农业科技项目数据集具有高维度、非线性和小样本的特点,而高维度及其包含的噪声会降低分类器的性能。针对农业科技项目数据集的特点,本文建立了基于支持向量机的农业科技项目分类模型。在建立分类模型前需要对数据进行预处理操作,本文采用小波变换对数据集进行滤波去噪。

小波在信号去噪领域已得到越来越广泛的应用。阈值去噪方法是一种实现简单、效果较好的小波去噪方法[12]。先对农业科技项目数据集中缺失数据和错误数据进行处理,再对数据集进行小波去噪。在小波去噪中选用BattleLemarie正交小波和启发式阈值进行3层分解。

2.2 特征提取

为了避免高维数据给支持向量机带来的大运算量而导致维数灾难,采用局部线性嵌入法对高维数据进行降维,并且在某种意义上它也是一种新的特征提取方法[13]。

步骤1 Ы农业科技项目数据输入式(4),并设定k=5,降维后的维数p=10,样本数n=500。オ

И┆minwixi-∑nj=0wijxj(4)

当xjQi时,wij=0,У媒猹w*i。其中Qi为k个邻近点集合。オ

步骤2 Ч乖觳⑶蠼庖(n+1)个p维向量x_0,x_1,…,x_n为变量的最优问题:

И┆minx_(I-W*┆T)X_T2 (5)

所得到的解=x_*0和x_*1,x_*2,…,x_*n为输入x和x1,x2,…,xnЫ滴后的向量。

经特征提取后,由20维降到10维,降低了输入数据的维数,提高了SVM的运算效率。

2.3 PSO模式优化SVM参数

选择Guess核函数作为支持向量机的核函数,利用PSO模式进行核参数优化,并选用分类误差作为评价函数进行核参数选择。

PSO模式搜索算法的步骤如下:

步骤1 读取农业科技项目数据样本,并随机产生(c,σ)作为粒子的初始位置Pi。オ

步骤2 计算各粒子适应度函数值,以分类误差(式(6))作为粒子的适应度评价函数。

分类误差公式:

1-1n∑ni=1Ti(Ti+Fi)(6)お

其中:TiП硎菊确分类样本数,FiП硎敬矸盅本数。

步骤3 记录最小适应度函数值并根据式(2)和式(3)更新粒子的位置和速度。

步骤4 令步骤3得到的Pg=Pkg∈(c,σ)ё魑模式搜索的初始值,并给定单位向量ej(j=1,2,…,n)。初始步长│要0=(σ01,σ02,…,σ0n)T>0,Ъ铀俣认凳Е>0,收缩系数Е取(0,1)及精度ε>0,置k=0,y= Pkg,j=1。オ

步骤5 从y出发,依次做平行于单位矢量ej(j=1,2,…,n)的轴向探测移动:オ

1)若f(y+σkjej)

2)若f(y-σkjej)≥f(y),则令y=y-σkjej,否则令y=y;オ

步骤6 令Pk+1g=y,若f(Pk + 1g) < f(Pkg),则对Pk + 1g沿着加速方向pk = Pk + 1g-Pkg做模式移动,令y= Pk + 1g + γpk,σk+1=σk,k=k+1,转步骤5,否则转步骤7。オ

步骤7 若Е要k≤ε,则停止迭代,输出结果。否则当Pk + 1g≠Pkg时,令y = Pk + 1g,σk+1=σk,k=k+1,转步骤5;当Pk+1g=Pkg时,令y = Pk + 1g,σk+1=θσk,k=k+1ё步骤5;若达到最大迭代次数时Е要k>ε,则转步骤2。オ

优化结果为误差惩罚参数c=200,σ=0.2。オ

2.4 SVM分类模型

将处理过的训练数据集和得到的最优参数输入SVM进行训练并得到训练模型,即分类模型:

f(x)=sgn(∑li=1α*iyiK(xi,x)+b*)(7)お

其中,核函数K(x,x′)=exp(-x-x′2/σ2),核参数σ为宽度系数。オ

把经过处理的测试数据集作为分类模型的输入进行分类预测。根据f(x)У姆号可判别测试样本xi属于哪一类,即可以判定哪些农业科技项目是收益项目,进而对农业科技项目的投入做出科学决策。

3 实验结果及分析

从贵州省农业科技项目数据库[14]中选取数据500条,其中综合收益项目有400条。将这500条数据分为两组:一组为训练集,共300条,其中综合收益项目240条;另一组为测试集,其中综合收益项目有160条。通过对第一组数据进行训练,并建立一个训练模型;第二组是测试集,用于检测训练模型的分类能力。

在实验中分别采用PSO算法、模式搜索算法和PSO模式搜索算法进行参数优化并建立分类模型进行分类检测。三种算法均采用Matlab 7.1实现,系统平台为Pentium4(2.66@GHz)处理器,Windows XP SP3,512@MB RAM。三种算法对应的学习时间和准确率如表1所示。

从表1可知,PSO算法的训练时间比模式搜索算法的训练时间短,但学习精度没有模式搜索算法高。而PSO模式搜索算法在训练时间和精确度方面都优于PSO算法和模式搜索算法,该算法不但考虑到了群体历史最好位置对当前位置的影响,增强了算法的局部搜索能力,而且每次迭代都利用模式搜索算法对PgЫ行优化和更新,使更好的Pgб导整个种群向更好的领域搜索,提高了搜索效率,从而在保证PSO算法快速收敛的前提下也不影响其较强的全局搜索能力。总之,PSO模式搜索算法把PSO算法和模式搜索算法的优点结合起来,避其各自的缺点,使PSO模式搜索算法表现出了较高的性能。

为了说明参数选择的重要性,先利用PSO模式搜索算法找到最优参数组合,再在最优参数附近取其他参数组合进行准确率比较,不同参数组合对应的准确率如表2所示。

从表2中可以看出,在最优参数组合附近的参数组合虽然也达到了较高的分类准确率,但是没有利用PSO模式搜索算法找到的最优参数达到的分类准确率高。结果表明,参数的选取对分类器的性能影响很大。其原因是cУ淖饔每刂屏硕源矸盅本的惩罚程度,cУ闹翟叫”硎径源矸盅本的惩罚程度越低,这时经验误差较大;cУ娜≈登飨蛭耷畲螅则所有的约束条件都必须满足,这时意味着所有训练样本都要正确分类,这样将导致分类超平面复杂、计算量大、耗时多。所以,对cе档难褚结合具体的应用,在满足分类准确率的同时,尽可能取小的cе担从而使决策(分类)函数简单。若Е要取值过小,则导致所有的测试样本成为支持向量,产生“过度拟合现象”;若Е要取值过大,支持向量机的分类性能将大幅下降,对测试样本的分类能力几乎为零,将把所有的样本都判为一类;若Е要取值合适,支持向量个数明显下降,且分类器对测试样本的正确分类能力会大大提高。因此,选择合适的参数组合才能构造出性能较高的分类器。

总之,利用PSO模式搜索算法对具有高纬度、小样本、非线性特点的农业科技项目数据集进行参数优化是有效、可行的,从而为支持向量机的参数选择提供了一种新的、有效的方法。

4 结语

PSO模式搜索算法是将PSO算法和模式搜索算法的优点结合起来,使PSO模式搜索算法具有较强的全局能力和局部搜索能力,克服了PSO算法的局部搜索能力差和模式搜索算法易陷入局部最优的可能,从而使PSO模式搜索算法更加完善。本文利用PSO模式搜索算法来优化核参数,并将其运用到农业科技项目分类中,不仅避免了依靠经验选取参数带来的局限性,而且缩短了支持向量机的训练时间,同时也提高了分类的准确率。所以,PSO模式搜索算法是一种高效可行的参数优化方法。

げ慰嘉南:

[1] 白鹏,张喜斌,张斌,等.支持向量机理论及工程应用实例[M].西安:西安电子科技大学出版社,2008:13.

[2] OSUNA E, FREUND R, FIROSI F. Training support vector machines: an application to face[C]// IEEE Conference on Computer Vision and Pattern Recognition. New York: IEEE, 1997:130-136.

[3] CHAPELLE O, VAPNIK V. Choosing multiple parameters for support vector machines[J].Machine Learning, 2002,46(1):131-160.

[4] 刘春波,王鲜芳,潘丰.基于蚁群优化算法的支持向量机参数选择及仿真[J].中南大学学报:自然科学版,2008,39(6):1309-1313.

[5] 李兵,姚全珠,罗作民,等.基于网格模式搜索的支持向量机模型选择[J].计算机工程与应用,2008,44(15):136-138.

[6] 任洪娥,霍满冬.基于PSO优化的SVM预测应用研究[J].计算机应用研究,2009,26(5):741-744.

[7] CHEN P W, JUNGYING W, HAHNMING L. Model selection of SVMs using GA approach[C]// Proceedings of 2004 IEEE International Joint Conference on Neural Networks. Piscataway: IEEE, 2004:2035-2040.

[8] 王文栋,钟智,元昌安.基于GEP的支持向量机参数优化[J].广西师范学院学报,2010, 27(2):66-70.

[9] 张小云,刘允才.高斯核支撑向量机的性能分析[J].计算机工程,2003,29(8):22-25.

[10] 龚纯,王正林.Matlab最优化计算[M].北京:电子工业出版社,2009:133-134.

[11] 王佳,徐蔚鸿.基于动量粒子群的混合核SVM参数优化方法[J].计算机应用,2011, 31(2):501-503.

[12] 程正兴.小波与小波变换导论[M].北京:机械工业出版社,2008:61-62.

[13] PANG YANWEI, LIU ZHENGKAI, YU NENGHAI. A new nonlinear feature extraction method for face recognition[J].Nerocomputing, 2006,69(7/9):949-951.

[14] 贵州省科学技术厅农村处.贵州省星火计划管理办法[DB/OL]. [2010-12-28]..