Page 1

TransactionsonComputerScienceandTechnology March2013, Volume 2, Issue 1, PP.9‐16

Method of Parameters Optimization in SVM based on PSO Jian Liu1, 2, Zhong Liu1, Ying Xiong2 1

Electrical Engineering College, Naval University of Engineering, Wuhan 430033 China;

2

Naval Architecture&Power Engineering College, Naval University of Engineering, Wuhan 430033 China

Abstract To overcome the uncertainty and to resolve the problem of parameters optimization in kernel function of support vector machine (SVM), particle swarm optimization (PSO) method, which was originated form artificial life and evolutionary computation, is applied to SVM’s parameters selection and optimization in the paper. The improved PSO algorithm of increasing convergence rate is proposed based on the analyzingprinciple of basic PSO. Thereupon, the improved PSO algorithm has self- adaptive ability that can be faster searching in early phase and more carefully searching in latter phase rather than basic PSO, and can be meeting the requests of diversification and intensification. The simulation experiment results demonstrate that, the selected kernel parameters by the new PSO algorithm can improve the overall performance of the SVM classifier and have new application domain. Keywords: Support Vector Machines (SVM);Particle Swarm Optimization (PSO);Parameters Optimization;Self- adaptive

基于 PSO 算法的 SVM 参数优化方法研究 刘健 1,2,刘忠 1,熊鹰 2 1 2

海军工程大学电子工程学院,湖北武汉,430033

海军工程大学船舶与动力学院,湖北武汉,430033

要:为了克服支持向量机中核函数参数的不确定性及解决核参数的最优选择问题,本文将起源于人工生命和演化计

算理论的粒子群优化算法运用到支持向量机的参数选择中。在对基本粒子群优化算法工作原理分析的基础上,对基本算 法的收敛速度进行了适度改进,使其具有自适应能力,即在初期进行快速搜索,而在末期进行精细搜索,从而扩大参数 搜索的宽度和深度,满足多样化和集中化的特点。仿真实验表明,通过该方法选择出来的核参数能够提高分类及预测精 度,具有实用性。 关键词:支持向量机;粒子群优化;参数优化;自适应

引言 统计学习理论(Statistical Learning Theory, STL)[1]是一种专门的小样本统计理论,为研究有限样本情况下 的统计模式识别和更广泛的机器学习(Machine Learning, ML)问题建立了一个较好的理论框架,同时也发展 了一种模式识别方法——支持向量机(Support Vector Machine, SVM),在解决小样本、非线形及高维模式识 别问题中表现出许多特有的优势,并能够推广应用到函数拟合等其它机器学习问题中。目前,STL 和 SVM 已经成为国际上机器学习领域新的研究热点并已被应用于人脸识别、文本识别、手写体识别等领域。 SVM 是 Vapnik 于 1995 年提出的一种新的机器学习方法[2],由于具有好的泛化能力,已成为当前 ML 领 域的热点。SVM 是基于核的学习,算法关键是引入了核函数,因此核函数具有重要的地位,其中核参数的 选取直接影响到核函数的推广能力。常用的核函数有:线性核函数;多项式核函数;径向基核(RBF)函数 基金项目:受中国博士后科学基金(20080431383);海军工程大学自然科学基金(HGDJJ2008029);湖北省自然科学基金 (2012FFC129)支持资助 -9www.ivypub.org/cst


等,具体可参见文献[3]。 SVM 核函数及核参数的选择是 SVM 发展过程中亟待完善的问题之一,其本质是一个优化搜索过程, 并直接影响模型的推广能力。对于同一个分类问题,选择不同的核函数或相同的核函数不同的核参数,都 会有不同的分类结果。究竟用哪一种核函数取决对数据处理的要求,大多数情况下可使用 RBF 核函数,主 要理由参见文献[4]。由于缺乏理论指导,传统的核参数选择大多通过反复实验,人工选取令人满意的解。推 广能力估计是机器学习中的另一个重要问题,也是参数选择的基础,常用的方法有 k-fold 交叉验证法、留一 法(LOO)、支持向量率法、Jaakkola-Haussler 法、Opper-Winther 法、V-C 法等等。其中,LOO 法是 k- fold 交叉验证法的特例,要求 k 等于样本的个数。 目前应用最广的 SVM 参数优化方法是参数空间穷尽搜索法(又称枚举法),即在一定的参数范围内, 对每个参数按照一定的间隔取值,每个取值称为一个水平,每个参数不同的水平组合就构成了多组备选的 参数组合,然后选择使得期望风险上界最小的一组水平组合作为最优参数值。鉴于 k 重交叉验证 [5]是对 SVM 期望风险上界最准确的估计,目前最常用的就是把 k 重交叉验证估计和枚举法相结合来选择 SVM 参数, 但这种方法存在以下缺点[6]:(1)该优化方法相当耗时,对于大规模数据或者当参数个数超过 2 个的时候, 这种方法几乎是不可能的。(2)这种方法很难精确地找到最优参数,因为它首先确定了一个合理的参数范 围,若是参数范围选择不准确则得不到最优的结果。对于一个实际问题,很难实现指导最优参数所在的范 围;同时这种方法对于参数空间的划分是有限的,它只能在有限点上寻找最优参数,是一种“有级”的寻 优方法,如果最优参数组合不包括在测试点中,则枚举算法也不可能达到最优解。 鉴于上述原因,寻找更高效、合理的参数优化方法一直是支持向量机的一个重要研究方向。 粒子群优化算法(Particle Swarm Optimization,PSO)是由 Kennedy 和 Eberhart 于 1995 年提出的一种智能 优化算法[7],模拟鸟群飞行迷失的行为,通过鸟之间的集体协作使得群体达到寻优目的。由于其容易理解、 易于实现、可调参数少,在很多优化问题中得到了成功的应用,并且在一些情况下优于常用的智能算法 (如 ANN、GA 等)。本文将粒子群优化算法应用于支持向量机的参数优化问题,并对算法的具体运用提 出了改进建议,为解决支持向量机的参数选择问题提供了一条有效的方法和途径。

1 算法原理 1.1 SVM 算法原理 SVM 是一种建立在统计学习理论基础上的分类方法。它主要基于以下三种考虑:(1)基于结构风险最 小化,通过最小化函数集的 VC 维来控制学习机器的结构风险,使其具有较强的推广能力。(2)通过最大 化分类间隔(寻找最优分类超平面)来实现对 VC 维的控制。(3)SVM 在技术上采用核化技术,根据泛函 中的 Mercer 定理,寻找一个核函数将样本空间中内积对应于变换空间中的内积,即避免求非线形映射而求 内积[8]。SVM 通过事先选择的非线形映射Φ将输入向量 x 映射到一个高维特征空间,在这个空间构造最优 分类超平面,即存在一个超平面满足对样本正确划分的条件。而且,在这个超平面两侧的与这个超平面距 离最近的两个点之间的距离最大,这样,在原始空间中非线性可分问题就转化为高维空间中线性可分问题。 如图 1 所示。

图 1 输入空间到特征空间的映射 - 10 www.ivypub.org/cst


设线性可分样本集为 ( xi , yi ) , i  1,  , l x  R ; y  {1, 1} 为类别标志, d 为空间维数。最优分类面问 d

i

题可以表示成如下优化问题,即在约束条件:

yi [(  xi )  b]  1  0, i  1, , l 1 1 2 下求函数 Φ (ω)  ω  (ω  ω) 的极小值。为此,可以定义如下的 Lagrange 函数: 2 2 l 1 L(ω, b, α )  (ω  ω)    i { yi [(ω  xi )  b]  1} 2 i 1

(1)

(2)

其中: ω 为机器学习的权值, b 为机器学习的阈值, α  0 为 Lagrange 系数。 此时目标函数的对偶问题为:最大化的二次规划问题。 l 1 l W (α )    i    i j yi y j ( xi  x j ) 2 i , j 1 i 1

(3)

约束条件为:  i  0, i  1, , l  l    i yi  0  i 1

(4)

这是一个不等式约束下的二次函数极值问题,且存在唯一解。根据 Kuhn-Tucker 条件,这个优化问题的 解必须满足:

 i { yi [(  xi )  b]  1}  0, i  1, , l

(5)

因此多数样本对应的  i 将为 0,将只有一部分(通常是少部分)  i 不为零,对应的样本就是支持向量。 而相应的分类函数也变为: f ( x)  sgn

 y  ( x  x)  b i

i

i

(6)

i

此函数值的输出即是分类的结果。

通过以上分析,可将支持向量机的基本思想概括为:在进行分类时,对于线性不可分的样本首先通过 一个非线性映射将原空间的样本映射到一个高维的特征空间(核空间),使得在核空间中变得线性可分或 近似线性可分,然后在核空间中进行线性分类,从而实现相对于原空间的非线性算法。

1.2 PSO 算法原理 PSO 的思想来源于人工生命和演化计算理论。假设在一个 n 维的目标搜索空间中,有 m 个粒子组成一 个种群,其中第 i 个粒子表示为一个 n 维的空间向量 xik  ( x1i , x2i , , xni ) ,其中 i  1, 2, , m ,即第 i 个粒子在

n 维搜索空间中的位置是 xik ,每个粒子的位置就是一个潜在的解。将 xik 代入一个目标函数 f (xi ) 可以计算出 其适应值 f ki ,根据适应值 f ki 的大小衡量 xik 的优劣。第 i 个粒子的飞行速度是一个 n 维的向量,记为 v ik  (v1i , v2i , , vni ) ,第 i 个粒子目前搜索到的最优位置为 pik  ( p1i , p2i , , pni ) ,整个粒子群目前搜索到的最优

位置为 p kg  ( p1g , p2g , , png ) 。基本的 PSO 算法运行过程中,随机产生一个初始种群并赋予每个粒子一个随机 速度,并采用下列公式对粒子的速度和位置进行操作: v ik 1  w k v ik  c11 (pik  xik )  c22 (p kg  xik ) x

i k 1

x v i k

i k 1

(7) (8)

i k

其中: wk 为惯性因子,为非负数; v 为第 k 次迭代粒子 i 飞行速度矢量; c1 、 c2 为学习因子,通常取

c1  c2  2 ; 1 、 2 为介于[0,1]之间的随机数; pki 为第 k 次迭代后粒子 i 的最好位置; xki 为第 k 次迭代后粒 子 i 的位置矢量; pkg 为第 k 次迭代后群体的最好位置。 粒子群优化算法的运行流程如图 2 所示。 基本 PSO 的流程可以描述为:

Step 1 初始化:初始搜索点的位置 xi0 及其速度 v i0 通常是在允许的范围内随机产生的,每个粒子的 Pbest 坐 标设置为其当前位置,且计算出其相应的个体极值(即个体极值点的适应度值),而全局极值(即全局极值 - 11 www.ivypub.org/cst


点的适应度值)就是个体极值中最好的,记录该最好值的粒子序号,并将 Gbest 设置为该最好粒子的当前位置。

Step 2 评价每一个粒子:计算粒子的适应度值,如果好于该粒子当前的个体极值,则将 Pbest 设置为该粒 子的位置,且更新个体极值。如果所有粒子的个体极值中最好的好于当前的全局极值,则将 Gbest 设置为该 粒子的位置,记录该粒子的序号,且更新全局极值。

Step 3 粒子的更新:用式(7)和式(8)对每一个粒子的速度和位置进行更新。 Step 4 检验是否符合结束条件:如果当前的迭代次数达到了预先设定的最大次数(或达到最小错误要 求),则停止迭代,输出最优解,否则转到 Step 2。

PSO 算法具有以下特点:(1)可以处理连续优化问题;(2)多点搜索;(3)式(7)中的第一项对应多 样化(diversification)的特点,第二、三项对应搜索过程的集中化(intensification)特点,因此这种方法在多样化 和集中化之间建立均衡[9]。

图 2 PSO 算法运行流程图

1.3 PSO 收敛速度的改进 PSO 收敛快,尤其是在算法的早期,但也存在着精度较低,易发散等缺点。若加速系数、最大速度等 参数太大,粒子群可能错过最优解,算法不收敛;而在收敛的情况下,由于所有的粒子都向最优解的方向 飞去,所以粒子趋向同一化(失去了多样性),使得后期收敛速度明显变慢,同时算法收敛到一定精度时, 无法继续优化,所能达到的精度也比 GA 低[10],因此很多学者都致力于提高 PSO 算法的性能。 文献[11]提出了惯性权重的方法。惯性权重 w 是与前一次速度有关的比例因子。用惯性权重来控制前面 的速度对当前速度的影响,较大的 w 可以加强 PSO 的全局搜索能力,而较小的 w 能加强局部搜索能力。基 本的 PSO 可以看作 w=1,因此在迭代后期缺少局部搜索能力。实验结果表明,w 在[0.8,1.2]之间 PSO 有更 快的收敛速度。文献中试验了将 w 设置为从 0.9 到 0.4 的线性下降,使得 PSO 在开始时探索较大的区域,较 快地定位最优解的大致位置,随着 w 逐渐减小,粒子速度减慢,开始精细的局部搜索。在运用算法时,迭 代过程中使 w 进行线性递减: w(t )  w0  ( w0  w )  t / k

(9)

式中, w 为初始惯性因子, w 为终止惯性因子,k 为一个与迭代次数有关的常数,其值为迭代次数乘 0

以递减系数 S 的积。 该方法加快了收敛速度,提高了 PSO 算法的性能。当待解问题很复杂时,该法使得 PSO 在迭代后期全 局搜索能力不足,导致不能找到要求的最优解,因此可以用自适应改变惯性权重来加以克服。

2 算法仿真及分析 为了验证文中所提出 PSO-SVM 算法的性能,进行了三组仿真实验。

2.1 考察 Schaffe 提出的实例 根据文献[7]所提出的实例对改进算法性能进行对比分析。 - 12 www.ivypub.org/cst


min f ( x) 

sin 2 x12  x22  0.5 [1  0.001( x12  x22 )]2

, xi  100

(10)

已知全局最优点是 (0, 0) , f ( x) 为-0.5。由于其强烈的振荡性以及全局最优点被无数个局部最优点包围 的特性,一般优化算法很难找到它的全局最优值。网格法参数的搜索范围是 [1e  10,1e10] 。采用改进的 PSO 算法只需迭代 760 次,即可找到最优值,且耗时只有 93ms。本文改进算法与传统算法的对比结果见表 1, 其运行过程结果如图 3 所示。 表 1 实验 1 对比结果

标准 PSO 算法

文献[6]算法

本文改进算法

x1

-3.416 583e-5

-5.412 430e-5

1.0727e-9

x2

-2.828 398e-6

-2.138 258e-7

1.5688e-9

f ( x)

-0.5

-0.5

-0.5

图 3 PSO 算法运行过程示意图

该实验的仿真表明,用基本 PSO 很难得到的仿真结果,运用所采用的两种改进方法都可以快速得到较 满意的结果,并且本文的改进方案更为简单、有效。本文改进算法与文献[7]相比较,最优值的选取有数量级 上的提高,这与采用的算法体系不同有很大关系,但对于比较算法的改进效果仍具有一定的参考意义。本 文利用了 PSOt,一种基于 Matlab 的算法工具箱[12],并在收敛速度的惯性权重上依据 1.3 节内容进行了改进。

2.2

高斯分布样本点分类实验 依据前面所述 SVM 分类原理、PSO 运行步骤及改进的粒子更新算法,终止条件为 30 代内性能无改善。

基于 PSO 的 SVM 参数优化方法的具体工作流程如图 4 所示。

图 4 基于 PSO 的 SVM 参数优化算法运行流程图 - 13 www.ivypub.org/cst


随机产生 生了 2 类三维 维样本的数据 据点[13],每类 类样本数目 1,000 点,满足 足多元正态分 分布,分布参 参数见表 2。 实验时,每一类别选 选择 500 点作 作为训练样本 本,500 点作 作为待识别样 样本。实验中采用 C-SVC C 分类类型, R RBF 核函数, ,网格法参数 数的搜索范围 围是[1e  4,1e2] ,考虑 PSO P 算法的随 随机性,对其 其进行 5 次运 运算后取最优 优 值 值作为最终结 结果。最优结 结果采用 5-折 折交叉验证法 法。对比实验 验结果见表 3。 。 表 2 合成样本点参数 合 数分布

类别

均值 1

均值 2

均值 3

方差

1

0.2

1.0

1.5

1

2

1.0

1.6

0.4

1

表 3 实验 2 对比结 结果

c=100 g=0.5

Libsvm m 最优参数 c=3.12 25e-2 g=0.12 25

PSO 最 最优参数 c=0.001000 g=5.250054

交 交叉验证(%)

78.7

79.3

79.1

#iter

7742

484

500

BSV 数目 B S 数目 SV

443 467

964 964

1000 1000

训 训练时间(s)

0.187

0.234

0.188

决 决策时间(s)

0.390

0.593

0.656

分 分类率(%)

77.3

77.8

78.3

分 分类及参数优 优选方法

图 5 试验 验 2 LIBSVM 的寻 寻优结果图

其中,L LIBSVM 最优 优参数是采用 用 LIBSVM 软件 软 [14]自带选 选优工具的结 结果。其寻优 优结果如图 5 所示。

2 2.3

UCI 数据分类实 数 实验 采用 UC CI 公共测试 试数据库提供 供的数据集 a1a[15] 作分类 类实验,其训 训练样本数据 据文件为 a1 1a,样本数为 为

1 1,605 个,每 每个样本含 123 维特征;待识别样本 本数据文件为 a1a.t,样本 本数为 30,9566 个。实验中 中采用 C-SVC 分 分类类型,R RBF 核函数,网格法参数 数的搜索范围 围是[1e  3,1e3] ,最优结果 果采用 5-折交 交叉验证法。 。对比实验结 结 果 果见表 4,LIBSVM 寻优 优结果如图 6 所示。 从上面的 的对比实验可 可以看出,文 文中提出的基 基于 PSO 的支持向量机优 优化算法无论 论对于高斯分 分布合成数据 据 - 14 ww ww.ivypub.org//cst


还 还是 UCI 真实数据,其 真 其性能都明显 显优于普通的参数选择算法,在分类精 精度上都有较 较明显地提高 高;同时,改 改 进 PSO 算法 进的 法在运算时间 间上也比基本 本 PSO 算法快 快。 表 4 实验 3 对比结 结果

分 分类及参数优 优选方法 交叉验证(%) 交 # #iter B 数目 BSV S 数目 SV 训 训练时间(s) 决 决策时间(s) 分 分类率(%)

c=10 g=0.8 79.63 2908 24 1574 1.219 38.734 77.4616

Libsvm m 最优参数 c=8.0 g=7.8125e-3 83.49 1317 577 649 0.641 17.829 84.4166

PSO 最 最优参数 c=8.7002666 g=1.00000e-2 82.74 1362 566 648 0.672 18.1566 84.43992

图 6 试验 验 3 LIBSVM 的寻 寻优结果图

3 结论 本文提出 出了一种改进 进的基于 PSO O 的 SVM 参数优化算法 参 法,即采用自适应的收敛速 速度因子,在 在早期进行快 快 速 速搜索,而在 在晚期进行精 精细搜索,从 从而满足了多 多样化和集中 中化的要求。 。通过三组仿 仿真实验,其 其结果也显示 示 P PSO-SVM 是 是一种有效的 参数优化方法 法,能对 SV VM 的参数进 进行快速、准 准确地选择,使 SVM 具有 有更高的分类 类 准 准确率。下一 一步的工作是 是如何将 SVM M 和 PSO 有机融合在一 有 一起,使算法在参数优化的同时进行分 分类或拟合, 减 减少计算次数 数,加快运行 行速度,满足 足实时运算需 需求。

REFERENCEES  [ [1]

V.N.Vapnnik.Statistical Learning L Theoryy [M].BEIJING G, Publishing Ho ouse of Electronnics Industry, 22009.

[ [2]

Vladimir N. N Vapnik.The Nature of Statiistical Learningg Theory [M].N NY: Springer Veerlag, 1995.

[ [3]

NelloCristtianini, John Shawe-Taylor.A S An introductionn to support vector v machinees and other kkernel-based leearning methodds [M].BEIJIING, China Maachine Press, 20005.

[ [4]

邵信光, 杨惠中,陈刚.基 杨 基于粒子群优化 化算法的支持向 向量机参数选择 择及其应用[J].控 控制理论与应用 用, 2006,23(5): 740-743.

[ [5]

SHAO Xin-guang.Param X meters selectionn and applicattion of supporrt vector machhines based onn particle swarm optimizatioon algorithm [J].Control Theeory & Applicaations.2006,23(5):740-743.

[ [6]

Chih-Wei HSU, Chih-C Chung Chang, Chih-Jen Lin..A Practical Guide G to Suppoort Vector Claassification [EB B/OL].[2009-07720].http:///www.csie.ntu.eedu.tw/~cjlin. - 15 ww ww.ivypub.org//cst


[7]

袁小艳,刘爱伦.基于 PSO 算法的支持向量机核参数选择问题研究[J].自动化技术与应用, 2007,26(5): 5-8.

[8]

YUAN Xiao-yan. Kernel parameter selection of support vector machine based on particle swarm optimization [J].Automatic technique & Applications.2007,26(5): 5-8.

[9]

杨维,李歧强.粒子群优化算法综述[J].中国工程科学,2004,6(5):87-94.

[10] YANG Wei.Survey on Particle Swarm Optimization Algorithm [J].Engineering Science.2004,6(5):87-94. [11] 张学工.关于统计学习理论与支持向量机[J].自动化学报,2000,26(1):32-42. [12] ZHANG Xuegong.Introduction to statistical learning theory and support vector machines [J].ACTA AUTOMATICA SINICA.2000, 26(1):32-42. [13] Fukuyama Y. Fundamentals of particle swarm techniques [A].Lee K Y, El-Sharkawi M A. Modern Heuristic Optimization Techniques with Applications to Power Systems [M].IEEE Power Engineering Society, 2002, 45-51. [14] 徐海,刘石,马勇,等.基于改进粒子群游优化的模糊逻辑系统自学习算法[J].计算机工程与应用,2000,36(7),62-63. [15] XU Hai.The adaptive algorithm of fuzzy logic system based on modified particle swarm optimization [J].Computer Engineering & Applications.2000, 36(7):62-63. [16] Shi Y, Eberhart R C. Empirical study of particle swarm optimization [A]. Proceeding of Congress on Evolutionary Computation[C]. Piscataway, NJ: IEEE Service Center, 1999:1945-1949. [17] Brian Birge.PSOt,particle swarm optimization toolbox for matlab [EB/OL]. [2009-07-20].http://www.mathworks.com. [18] 胡正平.基于模糊 K 近邻决策的柔性 SVM 分类算法[J].仪器仪表学报,2005,26(8):384-386. [19] HU Zhengping.The Algorithm of Flexible SVM Classifier Based on Fuzzy KNN Analysis [J].Journal of Equipment and Instruments.2005, 26(8):384-386. [20] Chih-Chung Chang, Chih-Jen Lin.LIBSVM [EB/OL]. [2009-07-20].http://www.csie.ntu.edu.tw/~cjlin/libsvm/. [21] Murphy

PM,

Aha

DW.UCI

repository

of

machine

learning

databases

[EB/OL].

[2009-07-20].

http://www.ics.uci.edu/~mlearn/MLRepository.html

【作者简介】 1

刘健(1974 -),男,汉族,博士,高级工程师,研究方向为模式识别、系统仿真等。 E-mail: liujian1974@hotmail.com

- 16 www.ivypub.org/cst


Method of Parameters Optimization in SVM based on PSO  

To overcome the uncertainty and to resolve the problem of parameters optimization in kernel function of support vector machine (SVM), partic...

Advertisement
Read more
Read more
Similar to
Popular now
Just for you