当前位置:
文档之家› 基于CMA-ES算法的支持向量机模型选择
基于CMA-ES算法的支持向量机模型选择
协方差矩阵自适应进化策略(Covarianee Matrix Adapts— rio.Evolution Strategy,CMA—ES)是一种新型的进化优化算 法,由Hansen和Ostermeier首先提出。该算法通过采用进化
一163—
万方数据
策略对搜索点群协方差矩阵进行迭代更新,逐步逼近目标函 数的逆Hessian矩阵(The Inverse Hessian Matrix)o CMA—KS 算法继承了标准进化算法的健壮性,对搜索空间映射不变性 等优点,并成功地避免了传统进化算法如遗传算法,粒子群 算法对种群大小的依赖以及早熟等问题,特别适合对非凸目 标函数的全局优化求解Hj J。
c。,协方差矩阵自适应参数c。,步长学习参数c,,步长抑制
参数以,种群方差有效性变量以矿,更新权重参数肛。,父代个
体组合权重蛐,吡。这些参数都是自含的,可由算法设定。
根据CMA—ES的演化规则,基于CMA—ES的SVM参 数寻优算法如下:
步骤l:初始化 初始化种群均值m∞),最大适应度函数计算次数maxFs,
1 引言
支持支持向培机(Suppoa Vector Machine,SVM)是建立 在统计学习理论基础之上的新型分类算法,特别适合小样本 高维数据的分类和学习,近几年在模式识别领域得到了广泛 的应用…。在支持向黾机理论中,通过引入核函数,隐式地 利用非线性变换将数据从低维非线性输人空间转换到高维 的线性特征空间(Feature Space),然后在高维空间中构造线 性判别函数来实现对输入空间中非线性数据的分类;SVM通 过求解一个简单线性约柬条件下的凸二次优化问题获得全 局最优解,实现r结构风险最小化,因而能够保证较好的推 广能力。同时,由于其算法复杂度与样本维数无关,巧妙地 解决r维数问题。
优的超参数,提高支持向虽机的预测精度稳定性,尤其适合大样本数据条件下的模型选择。
关键词:交持向量机;进化算法;参数选择;协方差矩阵自适应进化策略
中图分类号:TP391
文献标识码:A
Model Selection for SVMs Based on CMA——ES Algorithm
ZHOU Wen—iie,XU Yong
对于线性两分类问题,支持向量机寻求在特征空间中建 立一个超平面使得正负样本之间分开,并使间隔(margin)最 大化。给定1个样本气∈R“,i=卜”Z,样本标签Y。∈{±l}, £l软间隔支持向量机转化为求解以下优化问题:
min下1…P+c∑基
^厶 扎(加·西(髫i)+6)≥l一靠
基≥0 Vi
(1)
第27卷第4期 文章编号:1006-9348(2010)04一0163~04
计算机仿真
2010年4月
基于CMA—ES算法的支持向量机模型选择
周文杰,徐勇 (湖南大学电气与信息工程学院,湖南长沙410082)
摘要:研究模型选择对支持向龟机(SVM)的泛化性能有着重要影响。针对传统梯度算法对初始值敏感及网格搜索法计算
(College of Electrical and Information Engineering,Hunan University,Changsha Hunan 410082,China)
ABSTRACT:Model selection plays a key role in SVM application.Traditional methods,such as the gradient based method and grid search method,respectively surfer from the sensitivity to the initial point and intensive computa- fions.A ntysq model selection method is proposed in this paper based 011 the Covarianee Matrix Adaptation——Evolution Strategy(CMA—ES)using the bounds on generalization performance of SVM.Compared with the Genetic Algorithms (GA)and the Broyden—Fletcher—GoIdfarb—Shanno(BFGS)method,the experimental results baed on four benchmark datasets show that the proposed method carl improve the predicting accuracies of SVM with low eomputa— tions cost,which makes the proposed method be especially suitable for model selection on large data sets. KEYWORDS:Support vector machine(SVM);Evolution algorithms;Model selection;CMA—ES
复杂的缺点,为了提高全面优化能力和分类精度,提出了一种基f协方差矩阵自适应进化策略(CMA—ES)的支持向鼍机
(SVM)模型优化算法,通过对SVM泛化性能界(Bounds on Generalization Performance)的优化求解,实现了基于CMA—ES算 法的SVM模型选择。在标准数据集上的实验结果表明:相比遗传算法和梯度算法,上述方法能够在较小计算代价下得到更
种群的搜索范围,进化代数g=0。
步骤2:生成搜索种群
生成数目为)L的随机种群,即对于i=l,…,入:
Z”一N(o,俨)
(13)
髫:。)=m‘5)+盯(g’≈it)
(14)
步骤3:对群体进行选择、重组
以目标函数为适应度函数,优选种群,使目标点函数值
满足:
八茗鬟)≤,(算::”)≤…≤八并篡”) (15)
与or具有数量级的变化范围,为简化计算,本文利用对数变
换u=Incr2,口=lnC将优化问题缩放到(H,口)空间中进行,故
支持向量机泛化性能界函数可以表示为u,口的函数以u,。),
从而将问题转化为利用CMA—ES对,(Ⅱ,口)进行全局最优化
的问题。
3.2 SVM参数的CMA—ES算法寻优
பைடு நூலகம்
CMA—ES算法的核心思想是通过动态调整多变量正态 搜索的协方差矩阵c,使种群收敛于全局最优解。与其他进
s.t.0≤ai≤C,i=1,…,Z
Y1a=0
(2)
其中,Qi=,,iyjK(xj,毛),K(xj,t)为核函数,表示非线性映射 函数妒(毛)与妒(葺)的内积。常见的非线性核函数主要有高 斯核函数和多项式核函数,如式(3),式(4)所示:
K(菇;·鼍)=exp一(旦兰乏亏华) (3)
X(气·茗,)=(1+≈·≈)4
其中,£为非负的松驰变量;C为正则化参数,控制对错分样
本的惩罚程度,实现在错分样本比例与算法复杂度间的折
衷,p(鼍)为非线性映射函数,通过妒(菇;)可以将非线性可分
的输入空间数据转换为高维特征空间中的线性可分数据。
通过引入拉格朗日乘子,优化式(1)转化为下述二次优
化问题:
max 形(n)=era一÷a7Qa
虽然RM界是可导的,但该界并不能二次可导,更不能 保证函数的凸性,因此利用梯度法求解容易陷入局部最优
点,增加了支持向量机模型选择的不稳定性。
3基于CMA—ES算法的SVM模型选择
为了取得较好的支持向量机模型,必须合理选择支持向
量机的超参数,即正则化参数C以及核函数的参数。本文中
采用高斯核函数,利用CMA—ES的全局寻优能力最优化RM
化算法相比,CMA—ES的收敛速度较快,而且具有旋转不变
性的优点,只需要小规模种群即可实现对问题的高效求解。
在CMA—ES算法中,c为控制着搜索种群椭圆体形分
布的协方差矩阵;m为子代样本均值,代表搜索种群的中心;
叮控制着迭代搜索的步长。在CMA—ES算法中,还需要用 到种群数量入进行霞组的父代个体数弘,协方差矩阵学习率
界及改进RM界,实现对L2一SVM及L1一SVM的模型选择,
以达到选择更好的超参数盯2和c,提高分类精度,增强算法
稳定性的目的。
3.1模型选择问题的转化
由于RM界以及改进RM界都是超参数矿和C的函
数,针对cr2和C最小化RM界以及改进RM界,可使SVM的
泛化性能得到提高,从而完成对SVM模型的确定。由于C
8.L
∑鼠=1,晟≥0,vi (10)
LOOError≤面1刎哪
(11)
其中,II面”2为问题(6)的目标最优函数值,令(10)式中K
(气,誓)=足(气,鼍)+睾,则砰为最优化问题(to)的目标函
万方数据
可采用针对L1一SVM的改进RM界,即
LOO胁r≤,竺÷[矿Il酽¨+(D2c+1)砉纠(12)
更新搜索种群均值:
m‘‘“’一∑∞i戈;曩
(16)
优选重组zI括:A’,依次选择前肛个z缨,i=1一"/t,令:
(z)箩=∑咄·z髫
(17)
其中,权重峨由初始化时生成,满足∑咄=1以及tO。
≥山2≥…≥虬>0 步骤4:更新P,、p。和or、C
∥1)+更”新一搜索(1路一径c::)∥+∥玎F孺一}(:)≯
(18)
盯倌“’一弘)×exp(考(揣-1))(20) p≯“’+一(1一Cc)p≯’+h,V/Cc(2—-c—c)—lt—,#(z)’(19)
2)更新步长及协方差矩阵:
c‘川’+-(1一c。)c‘。’+≥(pcp:+6(.II,)C‘5’)+
‰(1。亡)再眠-。幺
(21)
步骤5:判断终止条件
若未达到终止条件,则g—g+1,跳转到步骤2继续执