线性支持向量机

2024-10-06

线性支持向量机(精选12篇)

线性支持向量机 篇1

0 引言

支持向量机( SVM) 是一种优秀的模式识别工具[1,2]。它以坚实的统计学习理论为基础,因此在各种各样的应用中,SVM的表现要好于大多数其他的系统,其中包括文本分类[3]、生物医学[4]、金融回归分析[5]等。标准的线性支持向量分类机是最早的SVM模型。它的主要思想是: ( 1) 构建两个平行超平面,利用它们之间的间隔分离两类( 正负数据点) ; ( 2) 要求两个超平面间的间隔最大化。这推动了结构风险最小化原理和正则化项的提出。最终,两个平行超平面间1 /2 处被选择为分类超平面。

相比许多其他的机器学习方法,尽管SVM具有较好的泛化性能,但是训练阶段涉及一个二次规划问题( QPP) 。它的计算复杂度为O( m3) ,其中m是训练数据点个数。这个缺点限制了大规模问题的应用。为了解决它,到目前为止,学者们提出了许多改进算法,如Chunking[6]、SMO[7]、SVMLight[8]、Libsvm[9]和Liblinear[10]。它们的目标是通过优化迭代过程中对偶问题的小部分变量,快速解决优化问题。另外,近年来一些新的SVM模型[11,12]被提出。例如,最小二乘支持向量机( LS-SVM)[11],它通过使用二次损失函数替代了Hinge,从而取代了SVM中的QPP,提高了训练速度。

我们知道,使用线性损失函数可能造成构建分类器失败,因为它的值将小于0。本文对线性损失函数进行了改进,提出了加权线性损失函数,它和Hinge具有相似的性质。在此基础上提出一个加权线性损失支持向量机( WLSVM) 。本文的主要贡献是: ( 1) 采用线性损失的优点,使每个类的训练点远离分类超平面。( 2) 通过增加权重,提出对不同位置上的训练点给出不同惩罚,在一定程度上避免了过度拟合,增强了泛化能力。( 3)仅需计算非常简单的数学表达式就可获得分类超平面,且方便解决大规模问题。通过在合成和真实数据集上的试验,结果表明: WLSVM的分类精度优于SVM和LS-SVM,且它减少了计算时间,尤其是对于大规模问题。

1 相关研究

对于二元分类问题,我们考虑训练集为T = { ( x1,y1) ,( x2,y2) ,…,( xm,ym) } ,其中xi是Rn空间的一个样本点,yi∈{ - 1,+ 1} 是其对应的类标签,i = 1,2,…,m。

1. 1 SVM

对于分类问题,线性支持向量机寻求一个分类超平面:

其中w∈Rn,b∈R。为了测量经验风险,引入了软间隔损失∑mi=1max(0,1-yi(wTxi+b)),如图1(a)所示。通过引入正则化项1/2‖wT‖2和松弛变量ξ=(ξ1,…,ξm),SVM的最初问题可以表示为:

其中参数C > 0; 正则化项1/2‖wT‖2最小化等价于两个平行支撑超平面( wTx + b = 1 和wTx + b = 1) 的间距最大化。在这个问题上,实现了结构风险最小化原则。当获得式( 2) 的最优解时,根据决策函数sgn( wTx + b) 大于0 或小于0,数据点被分类为1或- 1。

在实践中,不是直接求解式( 2) ,而是求解它的对偶问题,得到相应的软( 硬) 间隔分类器。非线性核的情况类似于线性核函数的处理。

注:图中ω代表wTx+b,L代表四种不同损失函数的损失值

1. 2 LS-SVM

类似SVM,LS-SVM[11]也是寻求一个分类超平面式(1)。为了测量经验风险,引入了二次损失函数∑mi=1(1-yi(wTxi+b))2,如图1(b)所示。

同样,通过引入正则化项1/2‖wT‖2和松弛变量 ξi,LSSVM的最初问题可以表示为:

其中参数C > 0; 类似SVM,正则化项1/2‖wT‖2最小化等价于两个平行支撑超平面的间距最大化。式( 3) 可通过求解一个线性方程组得到。当获得式( 3) 的最优解时,使用SVM相同的方法,分类数据点。

2 WLSVM

2. 1 线性WLSVM

为了提高分类器的训练效率,引入线性损失∑mi=1(1-yi(wTxi+b))替代SVM中的∑mi=1max(0,1-yi(wTxi+b)),如图1(c)所示。参考文献[12,13],然后我们提出了线性损失支持向量机(LSVM),通过引入正则化项1/2(‖wT‖2+b2)和松弛变量ξi,LSVM的最初问题可以表示为:

其中参数C > 0; 显然,由于不同的损失函数,SVM,LS-SVM和LSVM的经验风险也不同,尽管它们的目标都是让决策超平面远离不同类。

为了平衡各点对超平面的影响,根据粗糙集理论[14],我们引入了加权因子vi,并提出加权线性损失支持向量机( WLSVM) 。通过重新调整式( 4) ,可得:

其中vi是权重参数,通过下列公式确定:

其中参数J1≥0,J2≤0。当固定vi,为了解决式( 5) ,通过把等式约束代入到目标函数,式( 5) 可变为:

求式( 7) 对于w和b的梯度,并设定为0,可得:

通过式( 8) 和式( 9) ,可以解得式( 5) 的最优解,类似SVM,根据决策函数sgn( wTx + b) 大于0 或小于0 ,数据点被分类为1或- 1。

为了确定权重,我们借鉴了WLS-SVM[15]中的方法,它类似式( 6) 。为了验证WLSVM,我们给出合适的参数J1≥0,J2≤0,并给出下列训练算法。

线性WLSVM的算法:

Step1

给定训练数据T = { ( x1,y1) ,( x2,y2) ,…,( xm,ym) } ,设置vi1= 1,i = 1,2,…,m。通过设置合适的惩罚因子C,计算式( 8) 和式( 9) ,得到加权向量w1和b1,惩罚因子C一般基于验证技术来选择。

Step2

通过w1和b1计算式(5)中的松弛因子ξ1i,然后从式(6)中得到v*i,其中J1≥0,J1=|ξ+mean/N+-ξ-mean/N-|,J2≤0,J2=-|ξ-mean/N--ξ+mean/N+|。

Step3

通过vi*和合适的惩罚因子C,计算式( 8) 和式( 9) ,得到加权向量v*和b*。

Step4

通过决策函数y = sgn( w* Tx + b*) 进行分类。

2. 2 非线性WLSVM

为了把上述结果推广到非线性中,参考文献[2,16],我们考虑用核生成面替代超平面。

其中函数 φ( x) 用来映射数据点x到特征空间。类似线性情况,上述的核生成面通过下面QPP获得:

其中参数C > 0。

为了解决式( 11) ,通过把等式约束代入到目标函数,式( 11) 可变为:

求式( 12) 相对于w和b的梯度,并设定为0,可得:

通过式( 13) 和式( 14) ,可以解得式( 11) 的最优解,类似SVM,根据决策函数sgn( wTφ( x) + b) 大于0 或小于0 ,数据点被分类为1 或- 1。为了验证非线性WLSVM,给出了下列训练算法。

非线性WLSVM的训练算法:

Step1

给定训练数据T = { ( x1,y1) ,( x2,y2) ,…,( xm,ym) } ,设置vi1= 1,i = 1,2,…,m。通过设置合适的惩罚因子C,计算式( 13) 和式( 14) ,得到加权向量w1和b1,惩罚因子C一般基于数据验证技术来选择。

Step2

通过w1和b1计算式(11)中的松弛因子ξ1i,然后从式(6)中得到v*i,其中J1≥0,J1=|ξ+mean/N+-ξ-mean/N-|,J2≤0,J2=-|ξ-mean/N--ξ+mean/N+|。

Step3

通过vi*,合适的惩罚因子C和核函数,计算式( 13)和式( 14) ,得到加权向量w*和b*。

Step4

通过决策函数y = sgn( w* Tφ( x) + b*) 进行分类。

3 实验结果

为了评估WLSVM,通过8 个UCI基准数据集[17]和David Musicant的NDC数据生成数据集[18],我们研究了其分类精度和计算效率。在实验中,我们专注于对比WLSVM和两个先进的分类器———SVM和LS-SVM。实验在一台计算机上进行,它的配置为酷睿双核2. 66GHz CPU、2GB DDR内存。MATLAB7. 0用于模拟所有的分类器。为了达到快速的训练,SVM通过Libsvm实现,LS-SVM通过Lib LSSVM[19]实现。LSVM和WLSVM是由简单的MATLAB操作实现。“精确度”用来评估这些方法,它被定义为: Accuracy = ( TP + TN) /( TP + FP + TN + FN) ,其中TP( TN) 代表正确分类正( 负) 样本点个数,FP( FN) 代表错误分类样本点个数( 负( 正) 样本误报为正( 负) 样本) 。对于超参数的选择问题,我们使用标准的十倍交叉验证技术。此外,所有方法的参数都来自于集合{ 2- 8,…,27} 。

首先,我们用UCI基准数据集进行试验,测试四种方法,结果如表1 所示。我们得到了十倍交叉验证标准误差及平均值和每个分类器训练的CPU时间。表1 显示了WLSVM的泛化能力明显优于其他三个分类器,只在个别数据集上略低于SVM和LS-SVM,但相微乎其微。它也表明,在许多数据集上,WLSVM通过计算简单的数学表达式,性能上也优于其他分类器,而且WLSVM显著优于LSVM。从表1 中,也可以看到,WLSVM比其他方法的训练速度都快。

表2 是有关核的支持向量机SVM,LS-SVM,LSVM和WLSVM。它们使用了高斯核函数K( x,x') = e- μ‖x - x'‖2,核参数 μ 通过搜索范围2- 10至25确定。表2 中的结果类似表1,因此更进一步证实了上述结论。

为了弄清楚所有方法的计算时间与数据点个数的关系,我们又在大数据集上进行了实验。该数据集由David Musicants NDC数据生成器生成。NDC数据集分为训练集和测试集。我们分别研究了训练精度和测试精度。对于这次实验,我们对所有算法使用相同的惩罚因子( 例如C = 1,c1= 1,c2= 1,v1= 0. 5,v2=0.5)。

表3 显示了线性支持向量机SVM,LS-SVM,LSVM和WLSVM的训练时间和精确度。比较发现,它们的精度几乎相同,WLSVM要略显优势; 并且在所有的数据集上,WLSVM的计算速度要比SVM和LS-SVM快出几个数量级。值得一提的是,我们没有对WLSVM和LSVM做任何特殊的优化。对于大数据集( 超过一万个训练点) ,我们只研究了LS-SVM,LSVM和WLSVM,这是因为Libsvm会耗尽内存。从表3 中,训练一百万个数据时,WLSVM耗时1. 6018 秒,而LS-SVM耗时6. 85 秒,从而表明,在大数据集上,WLSVM的训练速度明显快于LS-SVM。此外,在PC上WLSVM和LSVM还能训练二百万个数据。结果证明: 与SVM和LS-SVM相比,WLSVM提高了计算效率。

注: * 试验耗尽了内存

4 结语

本文通过引入加权线性损失函数,提出了一个加权线性损失支持向量机( WLSVM) 。通过采用加权线性损失,我们只需计算简单的数学表达式就可获得分类超平面; 且容易处理大规模问题。此外,因为加权损失也具有Hinge的相似性能,可以提高线性支持向量机的泛化能力。在合成和真实数据集上的实验结果表明,WLSVM适合处理大规模问题。然而,其中权重的设定很关键,我们未来的工作会继续努力构建更好的加权函数,进一步提高其泛化能力。而且有兴趣把WLSVM推广到实际应用问题上。

线性支持向量机 篇2

一种改进的支持向量机模式分类方法

支持向量机(Support Vector Machine,SVM)是在统计学习理论基础上发展起来的一种新的机器学习方法,已成为目前研究的热点,并在模式识别领域有了广泛的应用.首先分析了支持向量机原理,随后引入一种改进的径向基核函数,在此基础上,提出了一种改进核函数的SVM模式分类方法.与基于IRIS数据,进行了计算机仿真实验,与基干模糊k-近邻的.模式分类仿真结果比较,结果表明改进的SVM方法分类性能比模糊k-近邻算法(Fuzzy k-Nearest Neighbor,FKNN)的分类性能更好,运算时间更短,更易于实时实现.

作 者:姜斌 和湘 孙月光 黎湘 JIANG Bin HE Xiang SUN Yue-guang LI Xiang  作者单位:姜斌,黎湘,JIANG Bin,LI Xiang(国防科技大学四院空间信息技术研究所,长沙,410073)

和湘,孙月光,HE Xiang,SUN Yue-guang(通信指挥学院,武汉,430010)

刊 名:电光与控制  ISTIC PKU英文刊名:ELECTRONICS OPTICS & CONTROL 年,卷(期): 14(4) 分类号:V271.4 TN95 关键词:支持向量机   径向基核函数   模糊k-近邻   模式分类   模式识别   统计学习理论  

线性支持向量机 篇3

关键词:图像处理;支持向量机;玉米;品种识别

中图分类号: TP391. 41文献标志码: A文章编号:1002-1302(2014)06-0372-03

收稿日期:2013-08-28

基金项目: 山东省自然科学基金(编号:ZR2009GM006)。

作者简介:邓立苗(1978—),女, 山东沂水人,博士,讲师,主要从事图像处理方面研究。Tel:(0532)88030271;E-mail:denglm68@163.com。

通信作者:马文杰,博士,副教授,主要从事农业信息化方面研究。Tel:(0532)88030602;E-mail:wjma@qau.edu.cn。玉米是重要的粮食作物之一,品种众多,不同玉米品种由于受遗传特性影响,生长期间的外观性状表现也有差异。在玉米生长管理和科学研究中,大量的工作须借助形态、颜色和纹理等外观特征判断,而这些特征的提取主要靠人工测量,工作量大且繁琐、主观性强,严重制约了玉米科学研究和生产上先进技术的应用和推广。利用图像处理技术实现不同品种玉米生长期间植株外观性状特征的客观描述,对科学保留不同品种玉米的量化特征信息,建立玉米外观性状特征信息数据库,正确指导玉米生产非常有必要。

图像处理技术已广泛应用于玉米生产管理和品种识别中,主要研究田间杂草识别[1]、病虫害识别[2]、叶面积测定[3]、玉米叶片叶绿素含量测量[4]、种子质量检测与分级[5]。在玉米品种识别方面,研究多定位在籽粒品种识别方面[5-8],而利用玉米生长期间植株特征信息来识别玉米品种的研究未见报道。由于玉米叶片中包含了大量用来区别不同品种的外观特征信息,且存活期长,易于采集。本研究以农业生产中常规栽培的23个玉米品种的叶片作为供试样本,每个品种采集5张样本叶片,对每张叶片采集反射和透射圖像,提取了形态、颜色和纹理共48个统计特征,然后构建了支持向量机模型进行品种识别,并对识别结果进行分析。本研究中特征提取和识别基于Matlab R2008a,分析工具为SPSS 13.0。

1材料与方法

1.1供试材料

供试玉米品种共计23个(表1),均采用大田常规管理方法在试验基地进行统一栽培,目的就是为了保证在完全自然生长状态下实现对不同品种玉米的外观特征量化识别。

编号名称编号名称编号名称1安玉5号9谷育17817农大1082北京德农95810济丰9618农华1013丹玉8611金海5号19齐单1号4德瑞2912金海60420秋乐天泰585登海66213浚单2021三北青贮6登海70114宽城6022中科4号7费玉4号15良玉6623中科11号8丰玉4号16良玉188

1.2图像采集

在玉米的不同生长时期分别对每个品种进行叶片采样,在每个品种的不同单株上采集相同位置的5张叶片,然后用数码相机采集叶片的反射图像和透射图像。由于玉米叶片在自然光照下反光较严重,反射图像采用室内灯光下拍摄,而透射图像则在自制的灯箱(图1)内拍摄,灯箱规格(长×宽×高)为100 cm×75 cm×120 cm。箱体顶部、底部及4个侧面均用双层黑色棉布遮挡,以防止外界光线的射入和光线在箱体内发生漫反射;箱体中间偏下放置厚度4 mm的双面磨砂玻璃载样台,保证采集透射图像时得到均匀的透射光线;箱体底部的照明光源为8支30 W的日光灯管,箱体顶部固定数码相机。反射图像采集使用佳能EOS7D,透射图像采集使用佳能EOS500D。采集的图像如图2所示。

1.3特征提取

为了对叶片图像进行识别分析,对所采集的叶片图像,提取了形态、颜色、纹理共48个外观特征(表2),并将提取的特征保存在Excel文件中。

类别特征形态类

面积、长轴长、短轴长、等面圆直径、椭圆度、凸形面积、伸展度、紧凑度、周长、圆形度、长宽比颜色类

RGB颜色空间的3个分量的均值、方差、偏度和峰度;与HSV颜色空间3个分量的均值、方差、偏度和峰度纹理类

灰度图像均值、方差、平滑度、三阶矩、一致性、熵;包括反映图像灰度值次数分布特点的7个统计不变矩

1.4支持向量机

支持向量机(support vector machine,SVM)是近年来机器学习研究的一项重大成果。它是在统计学习理论、VC维理论和结构风险最小原理基础上建立起来的,根据有限的样本信息在模型的复杂性和学习能力之间寻求最佳折衷,以求获得最好的推广能力。与传统的人工神经网络相比,它不仅结构简单,而且泛化能力明显提高。支持向量机是针对2类模式识别问题的,当解决多类问题时,需要对SVM进行扩展[9]。本研究采用“一对一”的方法,把每类与其余各类分别构成1个2类问题,n个类别共构造C2n个2类SVM。当对一个未知样本进行分类预测时,所有的2类SVM得到C2n识别结果,采用投票法来决定测试样本的类别,出现次数最多的类别即预测为该样本的类别。在本研究中,核函数选用径向基函数,惩罚因子C=128,核参数λ=0.007 812 5,这2个参数由网络化训练得到。

2结果与分析

2.1不类特征识别效果分析

以2011年8月14日采集的23个品种的透射图像作为研究对象,每幅图像提取48个特征,然后进行品种鉴别能力测试,48个特征的整体识别率为89.1%。为了分析不同类别特征对玉米品种识别的影响,分别统计形态、颜色和纹理3类特征的识别率,统计结果如表3所示。同时测试每个特征的识别率,前10个识别率最高的特征及识别率如表4所示。

特征组合的识别效果

类别识别率(%)形态颜色纹理形态61.287.3386.43颜色85.6489.47纹理72.16

由表3和表4可见,形态类、颜色类、纹理类特征的识别率分别为604%、85.64%、72.16%,可见颜色类特征的品种识别率最高,而形态特征的识别率相对较低。形态特征的识别率最低,仅为60%左右,主要是由于玉米叶片的不规则性和不平整,导致特征提取以及识别出现误差。由表3可见,

前10个识别率高的特征

特征名识别率(%)特征名识别率(%)峰度H42紧凑度31标准差G40平均值H30长宽比38标准差B29标准差R37椭圆度28三阶矩36标准差H27

反映形状的特征如紧凑度和长宽比等具有比较高的识别率。颜色类特征识别率比较高,一方面是由于特征数量多达24个,另一方面由单个特征识别结果可见,某些颜色分量(如H分量)具有较高的识别率。对不同类特征组合后,形态+纹理、颜色+纹理和形态+颜色的识别率分别为8643%、8947%、87.33%,而整体识别率仅89.7%。可见当特征达到一定数量时,已经具有较高的识别率,在这种情况下增加特征的数量,识别率也不会有较大的变化。因为特征之间存在一定的冗余信息,特征数量的增加并不能进一步提高识别率。

由以上分析可以看出,提取的特征具有较大的数据冗余度,特征数量太多会增加品种识别的复杂性及效率。为了在不降低识别效果的前提下降低特征维数,减少特征之间的冗余度,提高品种识别效率,对所提取的特征进行主成分分析,前12个主成分贡献率及累积贡献率如图3所示。

仅12个主成分累积贡献率可达到95%以上,在此基础上增加主成分的个数累积贡献率已没有太明显的变化。选用12个主成分进行品种识别可以有效降低特征维数,同时还能尽可能多地反映原来的特征信息,从而提高品种识别效率。

2.2品种数量变化对识别结果的影响分析

为了寻找对品种识别贡献较大的特征,使用SPSS分析工具中的步进式方法进行判别分析,采用Mahalanobis距离作为逐步判别分析方法[10],选取贡献比较大的7个特征:短轴长、V分量均值、B分量均值、B分量方差、H分量均值、纹理方差和不变矩2。对所选择的7个特征,使用支持向量机测试品种数量从1增加到23时的品种识别率,生成的识别率变化曲线如图4所示。

随着品种数量的增加,对23个玉米品种识别率呈下降趋势,在品种数量小于9时,识别率可以达到100%。品种个数大于9时,识别率开始下降,但仍保持比较高的识别率,识别率在87%以上;品种个数达到18时,识别率开始急剧下降至75%,以后一直呈下降趋势;当样本个数达到23时,识别率仅为63%。当品种数量较多时,某些玉米品种会出自同一个父本或者母本,具有比较大的相似性,因此辨别识别率降低。

2.3反射和透射识别分析

对2011年8月14日采集的玉米叶片的反射和透射图像,分别统计不同类特征(形态类、RGB颜色类、HSV颜色类和纹理类)的测试识别率,统计结果如图5所示。

从整体识别效果上看,反射图像和透射图像效果差别不太明显,透射图像稍高一些。对于形状特征,由于形态特征不受光照和拍摄环境的影响,反射和透射的识别结果差别不大。颜色特征中不同的颜色系统具有较大的差别,反射图像RGB颜色特征识别效果较好,而透射图像对HSV颜色特征识别效果较好。对于纹理特征,透射图像的识别效果稍好一些,通过透射使叶片的纹理会变得更加清晰,从而具有较好的识别效果。

3讨论

相对来说,形态特征具有比较低的识别率,一方面,由于玉米叶片的不规则性和叶片不平整,每张叶片只采集1幅二维图像,无法将叶片的形态特征全面描述出来,如果要全面描述玉米叶片形态,须要构建玉米叶片的三维几何模型[11-12];另一方面,在图像采集过程中没有进行标度校准,因此反映大小的特征如面积、周长等特征无法测量实际尺寸,也没有统一的参考标准,从而导致这些特征的识别率较低。为了能够更准确地提取叶片的实际尺寸,需要对所测量的数据进行校准标定,如采用参考物法进行面积等特征的测量[13]。

本研究中由于受采集条件的影响,每个品种的样本数量较少,只有5个,在一定程度上影响了试验结果的准确性和全面性;由于样本数量有限,本研究建立的支持向量机模型仅进行了品种的自我识别,识别率均为样本的自我识别率,没有进行测试识别。在后续的研究中,需要大量增加样本叶片数量。每个品种的样本数量至少要在15以上,以减少同品种玉米叶片的特征提取误差,从而更准确地寻找进行品种识别的关键特征,同时还要结合除叶片之外的其他特征如植株形状、雌雄穗性状等进行综合识别,以此来提高玉米生长期间玉米品种的识别效果。

本研究供试玉米品种数量较多,为23个,从品种数量对识别结果的影响可以看出,当样本数量大于17时,识别率明显下降。由于遗传因素的影响,有些品种可能来自于同一个父本或者母本,从而导致某些外观特征具有很大的相似性,使得品种间的区分度比较小。根据这一特性,在以后的研究过程中可以通过聚类来分析玉米的谱系结构。

4结论

本研究以23个玉米品种的叶片作为研究对象,对每张叶片的图像分别提取了形态、颜色和纹理三大类共48个特征,建立支持向量机模型进行品种识别,并分别从组合特征的识别率、品种数量变化时识别效果及透射和反射图像识别效果3个方面进行分析。相对于神经网络方法来说,支持向量机方法具有比较稳定的识别效果。对不同类别特征,颜色特征具有比较高的识别率,而形态特征识别率比较低。品种的数量越多,由于遗传等因素影响,特征组合的相似性比例越高,识别率越低。不同类别的特征对反射和透射图像的识别效果不同,相对来说,反射图像的RGB颜色特征识别效果稍好些,而透射图像的HSV颜色特征和纹理特征识别效果要好一些。由于采集环境与条件的限制,本研究仅提取了玉米叶片的常规特征进行了品种识别的初步研究与分析。本研究突破了大多数研究仅集中在玉米种子品种识别的局限,虽然仅对玉米叶片品种识别作了初步探讨与研究,但从分析结果可见,使用玉米叶片外观特征进行生长期间玉米品种识别非常有意义,为玉米生长期间品种识别的研究与运用打下基础。

参考文献:

[1]纪寿文,王荣本,陈佳娟,等. 应用计算机图像处理技术识别玉米苗期田間杂草的研究[J]. 农业工程学报,2001,17(2):154-156.

[2]陈丽,王兰英. 概率神经网络在玉米叶部病害识别中的应用[J]. 农机化研究,2011,33(6):145-148.

[3]马彦平,白由路,高祥照,等. 基于数字图像的玉米叶面积测量方法研究[J]. 中国农学通报,2009,25(22):329-334.

[4]朱军伟,张彦娥,王晓敏,等. 基于图像纹理的玉米叶片叶绿素含量分析研究[J]. 微计算机信息,2010,26(10):106-108.

[5]王玉亮. 基于机器视觉的玉米种子品种识别与检测研究[D]. 泰安:山东农业大学,2008:11-12.

[6]闸建文,陈永艳.基于外部特征的玉米品种计算机识别系统[J]. 农业机械学报,2004,35(6):115-118.

[7]史智兴,程洪,李江涛,等. 图像处理识别玉米品种的特征参数研究[J]. 农业工程学报,2008,24(6):193-195.

[8]杨锦忠,郝建平,杜天庆,等. 基于种子图像处理的大数目玉米品种形态识别[J]. 作物学报,2008,34(6):1069-1073.

[9]李晓宇,张新峰,沈兰荪.支持向量机(SVM)的研究进展[J]. 测控技术,2006,25(5):7-12.

[10]林震岩. 多变量分析:SPSS的操作与应用[M]. 北京:北京大学出版社,2007:487-491.

[11]邓旭阳,郭新宇,周淑秋,等. 玉米叶片形态的几何造型研究[J]. 中国图象图形学报,2005,10(5):637-641.

[12]郑文刚,郭新宇,赵春江,等. 玉米叶片几何造型研究[J]. 农业工程学报,2004,20(1):152-154.

线性支持向量机 篇4

支持向量机SVM是一种建立在统计学习理论基础上的机器学习方法, 采用结构风险最小化原理, 是解决分类问题强有力的工具和方法[1]。粗集支持向量机RSSVM (Rough Set Support Vector Machine) 在传统SVM基础上引入粗集理论, 克服了传统SVM对于噪声或孤立野值点敏感的问题[2]。文献[3]分析了RSSVM分类模型构造方法, 实验表明RSSVM相对传统SVM很大程度上提高了分类准确率。与传统SVM相同, RSSVM的输入训练集仍是含有高维特征值的样本数据, 这使RSSVM的分类效率降低。为了提高分类效率, 应当先对输入的高维特征值的样本进行数据降维, 从众多特征中求出那些对分类最有效的特征, 从而实现特征空间维数的压缩[4]。目前典型的数据降维方法主要包括主成分分析PCA、多维尺度分析MDS (Multidimensional Scaling) 以及近年提出的基于流形学习的算法, 如局部线性嵌入LLE (Locally Linear Embedding) 等[5]。PCA和MDS等传统降维方法主要研究在高维空间中如何设计线性模型的特征向量, 这种全局线性假设往往无法有效探寻高维数据中非线性结构[6], 甚至无法处理非线性数据。LLE算法是一种非线性降维方法, 主要思想是利用样本局部线性的性质来逼近全局的非线性, 将流形上的邻域点映射到低维空间的邻域点[4], 该算法可保持样本固有的几何性质, 具有平移、旋转不变性等特性。文献[7]将LLE和SVM相结合用于人脸识别, 文献[8]提出LLE和SVM相结合的用于检测苹果粉质化的分类方法, 训练准确率和分类准确率都有所提高。文献[9]利用SVM对LLE算法进行改进, 有效地解决了基于内容的图像检索中的高维特征向量的降维问题。文献[10]针对数据点分布不均匀的数据集, 提出一种基于数据点松紧度的局部线性嵌入改进算法, 可有效约简高维数据的维数。

然而LLE算法具有样本在高维空间均匀分布的前提条件, 而实际问题中样本间分布并不均匀, 这会导致大量的信息丢失[10]。为克服这一缺陷, 本文采用邻域点之间的分布矩阵表示实际问题中样本之间的分布情况, 并用于LLE的权值矩阵重建中, 提出一种基于邻域分布的局部线性嵌入NDLLE (Neighborhood Distribution Locally Linear Embedding) 算法, 并针对粗集支持向量机面对高维特征值的训练样本, 计算速度慢、分类效率降低的问题, 将该算法应用于RSSVM, 提出了基于邻域分布局部线性嵌入的粗集支持向量机NDLLE-RSSVM (Rough Set Support Vector Machine based on Neighborhood Distribution Locally Linear Embedding) , 有效提高了分类准确率和计算效率。

1 粗集支持向量机分类原理

RSSVM是在传统SVM分类中引入粗集理论的一种SVM分类方法。它利用粗集思想对传统SVM中的分类间隔进行拓展, 分别定义分类间隔的上近似与下近似, 对分布在不同区域的样本采用不同的惩罚[3]。RSSVM通过最大化分类间隔得到最优分类面, 其可转化为如下优化问题:

采用拉格朗日乘子法对式 (1) 求解得:

对偶表示可以通过求对应于ω, b, ξi, ξ'i, ρl, ρu的偏导, 置零得到:

将上面的等式代入式 (2) 得到对偶目标函数:

KKT互补条件变成下式:

对应的分类决策函数是:

2 基于邻域分布的局部线性嵌入算法

2.1 基于邻域分布的局部线性嵌入算法思想及步骤

为克服LLE算法面对样本分布不均匀的问题降维时导致信息丢失的缺陷, 本文采用邻域点之间的分布矩阵表示实际问题中样本之间的分布情况, 并定义邻域分布矩阵表示如下:

且邻域分布矩阵中各元素使用定义如下:

式中:

表示k个邻域点中的每两个点之间的分布程度。

文献[10]根据采样数据点分布信息, 给出数据点分布信息的松紧度计算公式, 并利用松紧度校正已求得的重建权值, 借鉴该思想, 本文将邻域分布矩阵应用于LLE的权值矩阵重建中, 提出一种基于邻域分布的局部线性嵌入NDLLE算法。设输入的传统数据集为X={x1, x2, …, xn}, xi∈RD, 映到新的数据集合为Y={y1, y2, …, yn}, yi∈Rd中, 且d<

步骤1在高维空间X中寻找每个样本点xi的k个最近的点作为其邻域点:采用欧氏距离度量两点间距离, 即:

步骤2计算样本点xi和邻域点间的重建权值矩阵:定义新的误差函数:

其布中矩阵, υi为邻域分

步骤3将所有样本点映射到低维空间中:定义新的损失函数值, 并保证映射条件满足损失函数值最小, 即:

式 (15) 又写作:

式中, M*= (I-W*) (I-W*) T, W*=ω (i) υi=[ω1 (i) , ω2 (i) , …, ωk (i) ]T[υ1, υ2, …, υk]。ε (Y) 最小化的解为矩阵M, 其最小的d个非零特征值对应特征向量构成的矩阵, 即为低维嵌入矩阵Y={y1, y2, …, yn}, yi∈Rd。

2.2 NDLLE算法效率分析

NDLLE算法效率改进主要体现在步骤2、步骤3中线性相乘了邻域分布矩阵, 它是1×k维矩阵, 因此NDLLE算法的时间复杂度是O (n×d+n×k) , 空间复杂度与O (n×d+n×k) 成正比, 而LLE算法的时间复杂度是O (n×d) , 其中n代表训练样本数。而邻域点个数k<

3 基于邻域分布局部线性嵌入的粗集支持向量机

本文针对RSSVM面对高维特征值的训练样本存在计算速度慢、分类效率低的问题, 结合NDLLE的降维优势, 提出一种基于邻域分布局部线性嵌入的粗集支持向量机 (NDLLE-RSSVM) 。

3.1 NDLLE-RSSVM分类器

为提高RSSVM的分类效率, 在RSSVM上引入NDLLE, 对输入训练集进行数据降维操作, 再送入RSSVM进行分类。其具体步骤如下:

步骤1收集训练样本。

步骤2数据预处理, 对原始样本进行数据的补齐、离散化等操作。

步骤3数据降维, 将预处理后的样本数据输入NDLLE算法, 计算得到低维嵌入空间向量。

步骤4数据分类, 将低维嵌入空间向量作为新的训练样本, 输入RSSVM进行分类测试。

3.2 NDLLE-RSSVM分类效率分析

NDLLE-RSSVM的分类效率改进主要体现在步骤3的NDLLE数据降维中, 由于降维操作是从众多特征中求出那些对分类最有效的特征以实现特征空间维数的压缩, 因此通过步骤3可以将原来的D维特征空间的样本数据降维为d维嵌入矩阵, 且NDLLE不改变输入样本的个数, 故步骤4中的RSSVM的输入仅和NDLLE输出维数d有关。

因此NDLLE-RSSVM分类时间复杂度和2.2节中NDLLE算法效率类似, 也是O (n×d+n×k) , 空间复杂度也和O (n×d+n×k) 成正比, 而RSSVM的时间复杂度则是O (n×D) , 其中n代表训练样本数。由于d<

4 实验结果与分析

4.1 实验设计

实验采用Rosetta软件包进行数据预处理[11], 采用Matlab7.0编制实现NDLLE算法, 并在Matlab7.0的SVM工具箱中修改代码以实现RSSVM。实验所用计算机处理器为Intel Core2, 主频为2.0GHz, 内存为2.0GB, 测试平台是Matlab 7.0。实验数据分别是splice、german.numer和sonar三个标准数据集, 其数据集具体信息见表1所示, 其特征值空间维数都比较大。

实验对三个数据集分别采用传统支持向量机 (SVM) 、粗集支持向量机 (RSSVM) 和基于邻域分布局部线性嵌入的粗集支持向量机 (NDLLE-RSSVM) 进行数据分类测试。其中三种支持向量机使用的核函数均为径向基函数RBF (Radial Basis Function) 函数, C=1, g=0.5, RSSVM中v=0.1, NDLLE-RSSVM中邻域点个数k=12, 输出维数d=6。对比的性能分别以准确率 (%) 、训练时间 (s) 、测试时间 (s) 和支持向量机个数四个参数作为衡量标准。每个数据集独立实验20次, 对四个参数各自取平均值作为最后的实验结果。

4.2 结果分析

三个数据集分别使用SVM、RSSVM和NDLLE-RSSVM分类测试的对比结果见表2-表4。从三个表可以看出, 分类的准确率逐渐呈上升趋势, 并且以NDLLE-RSSVM分类准确率最高;从效率上看, 对训练样本数量较大、高维特征值的splice和german.numer数据集来说, NDLLE-RSSVM的训练时间大大缩短, 测试时间也大大缩短;而对样本数量较小、高维特征值的sonar数据集, NDLLE-RSSVM的训练时间和测试时间也有所缩短, 但是缩短的尺度不是很大。这是因为三个数据集在使用NDLLE算法数据降维时输出维数d均为6, 如3.2节分析所知, NDLLE-RSSVM分类时间复杂度是O (n×d+n×k) , 故而NDLLE-RSS-VM对大样本数据、高维特征值的训练样本数据进行训练和测试时, 其时间效率提高的程度非常明显。此外, 支持向量机个数也说明NDLLE-RSSVM优于RSSVM。因此, 实验表明NDLLE-RSSVM有效提高了分类准确率和计算效率。

5 结语

本文采用了邻域点之间的分布矩阵用于改进LLE的权值矩阵重建, 并针对粗集支持向量机面对高维特征值的训练样本, 计算速度慢、分类效率降低的问题, 将基于邻域分布的局部线性嵌入算法应用于RSSVM, 提出了一种基于邻域分布局部线性嵌入的粗集支持向量机。对传统支持向量机的输入训练集进行数据降维操作后, 再送入粗集支持向量机进行分类。实验表明NDLLE-RSSVM可有效提高分类准确率及分类计算效率。由于NDLLE算法中邻域点个数k和输出维数d均是自由参数, 本文还有待进一步讨论k和d的最优选取方法。

摘要:针对粗集支持向量机面对高维特征值的训练样本分类效率低的问题, 采用邻域点间的分布矩阵用于改进局部线性嵌入的权值矩阵重建, 在粗集支持向量机上引入该邻域分布局部线性嵌入算法, 对输入训练集进行数据降维操作。对三个数据集分别采用传统支持向量机、粗集支持向量机和基于邻域分布局部线性嵌入的粗集支持向量机进行数据分类测试, 结果表明改进的支持向量机对于高维特征值的训练样本, 可有效提高分类准确率及计算效率。

线性支持向量机 篇5

针对现有的.外场数据统计法在确定飞机机载产品寿命指标上的局限性,建立了机载产品使用影响因素体系,利用某型机载产品在不同典型使用环境下的故障率数据,建立支持向量机回归分析模型,通过机器学习掌握已知机载产品使用影响因素向量和故障率数据的相互关系,根据已知的产品故障率数据对未知寿命进行预测.利用8个单位的产品故障率来预测另一单位的产品故障率,并给出了算例分析.计算结果与实际情况相吻合,表明该方法具有一定的应用价值.

作 者:李郑琦 何宇廷 邵青 魏鹏 作者单位:李郑琦(中国飞行试验研究院,陕西,西安,710089)

何宇廷,邵青,魏鹏(空军工程大学,工程学院,陕西,西安,710038)

线性支持向量机 篇6

【关键词】改进的支持向量机;参数自动寻优;商业银行评级

目前运用支持向量机的研究中,主要用传统的支持向量机,对评级分类器则较少考虑。如果传统支持向量机算法来对银行进行分评级,不考虑评级分类器的优化,则最终的评级效果不会达到最优。

一、SVM原理

支持向量机(SVM)的主要思想有两点:一是针对线性可分的情况来分析,对于线性不可分的情况,通过核函数将低维空间中的线性不可分的样本映射到高维空间使得其线性可分。二是基于结构风险最小化理论,能够求得全局最优解。

(1)假设训练集T={(x1,y1),(x2,y2),…,(xi,yi),…,(xk,yk)}∈(X,Y)k,其中,X=Rn,Y={-1,+1},i=1,2,…,,k为训练样本的数量。(2)用非线性映射G(·)将线性不可分的低维空间X映射到高维线性空间Z中。将优化问题变为:

(1)

通过拉格朗日法,求得(1)的对偶式,再采用对称核函数K(xi,xj)代替点积G(xi)G(xi),(1)式转化成(2)式:

(2)

然后,将训练样本代入式(2),求解出€%Zi、b之后,带入(3),就可用来对新样本数据进行分类。

分类器为=sgn(3)

二、基于改进的SVM企业银行评级分类器

在SVM中,核函数K(xi,x)的作用就是把低維空间中非线性的数据映射到高维空间,它代替了高维空间中的内积运算,不需要映射后的样本在高维空间进行运算。本文运用以下三种函数:多项式核函数:K(x,y)=[(x隯y)+]d;高斯径向基核函数(RBF核函数):K(x,y)=e;神经网络核函数:K(x,y)=tanh(k隯x隯y)。进行组合得到新的组合核函数:

K组合核函数(x,y)=€%d1[(x隯y)+]d+€%d2e+€%d3tanh(k隯x隯y)其中€%di=1并且€%di>0。

三、银行评级分类系统设计与实现

1.系统架构。本文以基于多核函数的SVM,设计和实现了一个能够对银行信用进行评级的系统,系统架构(如图1所示):

2.系统实现。该系统硬件采用Inter Pentium D 3.0GHz CPU,1G内存,软件采用Eclipse3.6,JAVA语言来设计。系统共四个模块,功能和实现方法如下:(1)财务数据读取模块从财务数据集当中随机选取出4/5的数据作为训练数据,1/5的作为待评级数据,并且将读取的数据传到分类器模块。(2)分类器模块采用3.3所示基于改进的SVM企业银行评级算法来进行分类和泛化推广。(3)输出模块打印出训练财务数据类型、训练财务数据数目、训练时间、分类时间、被正确分到某一级的银行、被错误分到某一级的银行、属于某一级,但是被错误分到其它级的银行数目、准确率、召回率、F1值,以及相应的核函数参数。

四、实验结果与分析

(1)实验数据。在本文中,使用的财务数据来自于国泰安数据服务中心提供的企业财务数据数据(http://www.gtarsc.com/p/user/home.aspx)。(2)实验方案及实验结果。设算法I为基于传统的SVM企业银行评级算法,算法II为基于组合核函数的SVM银行评级算法。最后,采用准确率(设为p)、召回率(设为r)、F1指标来评价分类结果。其中,设a为被正确分到某一类的银行数,b为被错误分到某一类的银行数,c为属于某一类但是被错误分到其它类的银行数。则r、p被分别定义为r=,p=。F1指标定义为:F1=。(3)实验结果。从表1可以看出,分类算法II的准确率、召回率和F1值比分类算法I的都要高;从而提高了银行信用评级的准确度。

表1 不同银行评级算法的实验结果

线性支持向量机 篇7

由于非线性系统的复杂性, 精确建模比较难, 成为实际应用中的瓶颈之一。神经网络以其自学习能力, 强大并行处理能力和容错能力而被广泛应用于模式识别、图形处理、非线性控制等领域。文献[6]提出了由神经网络建模的方法, 具有优良的控制性能。但神经网络存在局部极小点, 过学习以及结构和类型的选择过分依赖于经验等固有的缺陷, 在一定程度上限制了其应用范围。

Vapnik提出了一种新的小样本机器学习方法SVM (支持向量机) , 克服了神经网络的种种缺陷。本文给出了基于标准支持向量机的建模方法, 在改进核函数的基础上, 对焊接过程进行的辨识, 表明SVM辨识能力强。

1SVM回归

SVM回归的基本思想[1,5,7]是:首先用非线性映射将训练数据映射到一个高维特征空间, 然后在这个空间中建立一个线性回归函数, 依据结构风险最小化原则, SVM回归的学习可用优化问题来描述:

undefined (1)

式中, C为正常数, ξj、ξj*为松弛变量。引入Lagrange函数, 优化问题 (1) 等价于二次规划:

这里, α、α*为Langrage乘子, 二次规划的解中只有部分系数 (αi-α*i) 不为零, (αi-αi*) 不为零所对应的样本就是支持向量。由支持向量得到SVM非线性回归函数:

undefined (3)

式中, 常值偏差b可以利用KKT条件解出, 使最优点的拉格朗日乘子和约束条件的乘积为零, 即:

从而, 得到常值偏差b:

2核函数

设x、x′∈X, X⊆Rn, 非线性函数ϕ实现输入空间X到输出空间F的映射, 其中F⊆Rm, n<

K (x, x′) =〈ϕ (x) , ϕ (x′) 〉

可以看出, 核函数将m维高维空间的运算转化为n维低维空间的运算, 巧妙地解决了高维空间的维数灾问题, 进而可以很好地在高维空间进行回归运算[4]。

定理k:X×X→R是核函数当且仅当它是正定的[2]。

核函数的引入极大地提高了学习机器的非线性处理能力, 同时也保持了学习机器在高维空间中的内在线性, 从而使得学习很容易得到控制。SVM通过使用核函数, 实现了在高维特征空间中样本的线性分类, 即核函数将原空间的数据隐含地表示在高维的特征空间中, 并在其中训练了一个线性的分类器, 训练过程并不需要知道具体的非线性映射。每一种核函数都有自己的优点和缺点, 不同的核函数所表现出的特点各不相同, 由它们所构成的SVM的性能也完全不同。如下是非线性建模时, 常用的rbf核函数:

undefined (6)

因为减少支持向量 (Support Vector) 个数可以提高SVM的推广能力, 即提高辨识性能, 根据这个原理, 本文对rbf核函数进行了改进:

undefined (7)

3SVM建模方法

对于一个离散单输入单输出非线性模型:

y (k+1) =f [y (k) , y (k-1) , …, y (k-n) , u (k) , u (k-1) , …, u (k-m) ] (8)

式中u (k) 和y (k) 分别代表系统在k时刻的输入和输出。记:

x (k) =[y (k) , y (k-1) , …, y (k-n) , u (k) , u (k-1) , …, u (k-m) ] (9)

从而建立SVM学习样本集 (y (i) , u (i) ) , 此时由SVM回归便可估计系统的模型为:

undefined (10)

4焊接过程的辨识

焊接技术[3]是工业制造领域的一种重要技术, 它被广泛地应用于制造业的各个领域。

图1 所示的HPDDL WELDING是一种高功率的直接二极管激光焊接技术, 在焊接过程中, 激光束角度, 激光电流和焊接速度是输入变量, 焊缝宽度是输出变量。

因激光电流变化微弱, 我们固定激光电流和激光束角度, 从而采样得到焊接速度和焊缝宽度的两组数据。该数据是在美国肯塔基大学自动检测和应用控制实验室, 经严格的实验而采样得到的。

第一组数据:为了精确得到动态性能, 我们采用PRTS信号 (伪随机三阶信号) 作为输入, 采样得100个点, 用作训练样本。

第二组数据: 阶跃信号可以很好地检验系统是动态和稳态特性, 因此, 给定阶跃输入信号, 采66个点, 用作测试样本。

但由于焊接过程的强非线性, 系统建模并不容易, 本文针对焊接过程的非线性模型, 提出了一种SVM建模方法, 仿真表明该方法的有效性。

SVM建模时所选的设计参数: σ=2, ε=0.01, C=100。

从图2可以看出, 基于rbf核函数的辨识, 振荡比较严重; 从图3可以看出, 基于改进核函数的辨识, 动态性能明显改善, 系统可以很快趋于稳定。但是, 由于焊接过程的强非线性、强噪声、扰动, 图中超调部分未能完全拟合。

5结论

本文用SVM解决非线性未知焊接过程的建模问题, 给出了基于标准支持向量机的建模方法。在修改核函数的基础上, 得到了很好的辨识效果。实验表明SVM有很好的建模性能。

本文的创新点:针对激光弧焊接过程, 提出了基于支持向量机的建模方法, 而且改进了核函数, 辨识性能比较好。

摘要:针对激光焊接过程非线性系统建模困难的问题, 研究基于支持向量机的非线性系统回归建模方法。支持向量机由核函数与训练集完全刻画, 进一步提高支持向量机性能的关键是针对给定的系统设计恰当的核函数。用改进的核函数, 对具有典型非线性特性的焊接过程进行辨识。仿真结果验证了该方法的有效性。

关键词:支持向量机,核函数,非线性系统,焊接过程,辨识

参考文献

[1]张浩然, 韩正之.基于支持向量机的未知非线性系统辨识与控制[J].上海交通大学学报, 2003, 37 (6) .

[2]王国胜.核函数的性质及其构造方法[J].计算机科学, 2006, 33 (6) .

[3]Peiyong Duan, Yuming Zhang.CMAC Based Modeling and Closed LoopControl of HPDD Laser Welding System[J].Intelligent Control andAutomation, the Sixth World Congress on, 2006.

[4]王华忠, 俞进寿.核函数方法及其模型选择[J].江南大学学报, 2006, 5 (4) .

[5]Johan A, Suykens K.Nonlinear Modelling and Support Vector Machines[J].IEEE Instrumentation and Messurement, 2001:21-23.

[6]赵彤, 谭永红.迟滞非线性动态系统神经网络自适应控制[J].计算机仿真, 2004, 21:104-107.

支持向量机研究现状 篇8

SVM的应用同其理论的发展相对比要滞后许多, 其应用的范围和取得的效果同SVM的优越性很不匹配, 主要原因是算法的限制, 即运行效率低。因为标准SVM运行要消耗大量的时间, 并且随着训练样本数量的增加训练时间也会增加, 尤其对大量数据的处理更为棘手。现实当中所处理的问题一般数据量是非常大的, 所以在很多情况中受到约束。

目前, 对SVM的研究主要集中在以下几个方面:改进训练算法;提高测试速度;核函数的构造、改进以及相应参数的调整;利用SVM解决多类问题。

(一) 支持向量机

支持向量机主要是用来处理二类问题的。在原始数据空间中, 如果存在一个线性函数无错误的把数据分开, 那么称该数据集完全线性可分;如果存在一个线性函数可以以低错误率把数据分开, 则称该数据集是近似线性可分;如果存在非线性函数把数据集分开, 则称该数据集非线性可分。以下将详细介绍支持向量机的分类模型。

1. 线性可分问题

对于给定的一组数据

可以被一个超平面

分开, 如果这个向量集合可以被超平面没有错误的分开, 并且离超平面最近的向量与超平面之间的距离 (margin) 是最大的, 则我们说这个向量集合被这个最优超平面 (或最大间隔超平面) 分开。在超平面上的点称为支持向量 (support vectors) , 如图1所示:

我们用下面的方式来描述分类超平面H2 H3

由于margin越大分类器的泛化能力越强, 要得到最大的margin只需要使|w|最小。可以通过求解以下的最优化问题来得到最优解。

利用Lagrange优化方法可以把上述最优分类面问题转化为其对偶问题即:

解上述问题后得到的最优分类函数是:

2. 线性不可分问题

最大间隔超平面是在线性可分的前提下讨论的, 在线性不可分的情况下, 目标函数w (α) 的值将是无穷大的。可以在约束条件上加入一个松弛变量ξi≥0, 这时的最大间隔超平面称为广义最优分类超平面。

引入ξi的目的就是允许错分的情况出现, C是一个由用户自己选择的惩罚参数, C越大意味着对错误出现进行的惩罚更高, 参数C也可以被认为是一个调整因子。SVM更倾向于在使分类间隔margin最大化的前提下使C最小。C越大出现错分数据的可能性也就越小。

相应的, 广义最优分类超平面可以通过解下面的对偶问题得到:

3. 非线性SVM

对于非线性问题, 可以通过非线性变换转化为某个高维空间中的线性问题, 在变换空间求最优分类面。这种变换可能比较复杂, 因此这种思路在一般情况下都不容易实现, 但是注意到在以上的对偶问题中, 无论寻求最优函数还是分类函数都只涉及到训练样本之间的内积, 这样, 在高维空间实际只需要进行内积运算, 而这种内积运算是可以在原空间中的函数实现的, 甚至没有必要知道变化的形式。即使变换空间的维数增加很多, 在其求解最优分类面的问题中并没有增加多少的计算复杂度。其基本思想如下:支持向量机利用某种事先选择的非线性映射, 将输入向量x映射到一个高维特征空间, 然后在高维空间中求最优分类面。如图2所示。

可得在特征空间中的最优分类如下;

(二) 多分类支持向量机

SVM本身是解决两类分类问题的, 人们在两类算法的基础上, 对多类算法进行了深入的研究。目前处理多类SVM问题的方法主要有一对一方法、一对多方法、有向无环图方法、层次方法和纠错编码方法等。以下主要介绍一对一方法、一对多方法。

1. 一对多的方法 (One-against-the-rest Method)

支持向量机多类分类方法最早使用的算法就是一对多方法, 要构造多类分类器, 通常的方法是构造一系列的两类分类器, 其中的每一个分类器都把其中的一类同余下的各类分开。然后根据此推断输入的向量归属。一对多的方法是对于k类问题构造k个分类器, 在构造某个分类器的时候, 将属于这类的数据样本标记为正类, 不属于此类的样本标记为负类。测试时, 对测试数据分别计算各个子分类器的决策函数值, 选取函数值最大所对应的类别为测试数据的类别。

此种算法一个很明显的优点是只需要训练k个两类分类器, 所以得到的分类函数的个数也比较少, 分类速度也比较快。

这种算法的缺点也是很明显的, 每个分类器的训练都是将全部的样本作为训练样本, 这样就需要求解k个n个变量的二次规划问题, 因为支持向量机的训练时间是随着训练样本数量的增加而增加的, 所以这种方法的训练时间比较长。另外, 此种算法还会出现不对称的问题, 处理这类问题的时候我们通常采用的方法是对不同类别使用不同的惩罚因子。

2. 一对一的方法 (One-against-the rest Method)

这种方法也是基于两类问题的分类方法, 不过这里的两类问题是从原来的多类问题中抽取的。具体做法是:分别选取两个不同类别构成一个子分类器, 这样共有k (k-1) /2个SVM子分类器。在构造类别i和类别j的SVM子分类器时, 在样本数据集中选取属于类别i、类别j的样本数据作为训练数据, 并将属于类别i的数据标记为正, 将属于类别j的数据标记为负。

测试时, 将测试数据对k (k-1) /2个SVM子分类器分别进行测试, 并累计各类别的投票, 选择得分最高者所对应的类别为测试数据。

在一对一的方法中, 需要多个两类的分类器。对k类问题就需要构造k (k-1) /2个两类分类器, 比介绍的一对多的分类方法得到的分类器数目多很多, 但是每个分类器的规模却要小很多。如果k很大就会严重的影响算法的执行速度。

总的来说, 这种方法的优点是其训练速度较一对多方法快, 缺点是分类器的数目k (k-1) /2随分类数k急剧增加, 导致在决策时速度很慢, 且存在不可分区域。

此外还有其它的一些方法, 基于二叉树的多类支持向量机分类方法, 这种方法需要训练的两类支持向量机的数量少, 随着训练的进行, 总共训练样本数和一对多方法相比减少了许多。多级支持向量机方法, 采用先聚类再分类的策略, 不存在明显的不可分区域。因此它的测试精度明显高于上述几种方法, 而且测试速度也较快。但是, 这种方法在处理维数很高的数据时需要构造邻接矩阵, 这就导致训练时间比较长。对于大规模问题, 一对一方法和决策有向无环图方法更适于实际应用。二者所需的训练时间相当, 测试阶段决策有向无环图方法更快一些, 但其结构使实现过程更为复杂。

(三) 支持向量机反问题

对于给定的一组没有决策属性的样本点, 我们可以随机的把其分为两类。此时我们可以利用前面的知识来求出最优分类超平面, 并计算出最大间隔。若划分为两类的样本点线性不可分, 间隔计为0。显然, 间隔的大小取决于对原样本点的随机划分, 支持向量机反问题就是如何对样本点进行划分, 才能使最优分割超平面的间隔达到最大。对支持向量机反问题的研究是源自于设计一种新的决策树生成算法。现有的很多决策树算法如C4.5, 往往得不到好的执行效果, 由于支持向量机中最优超平面的间隔与其推广能力的关系, 具有最大间隔的样本划分, 被认为是生成决策树的新的启发式信息。

支持向量机是一个优化问题, 其数学描述如下:设S={x 1, x 2, ..., xN}为一个包含N个事例的给定数据集合, 且mx∈R, i=1, 2, ..., N,

另外

对于给定的一个函数f∈Ω, 样本集s被划分为两个子集, 并可以计算出相应的间隔 (margin) , 我们用Margin (f) 表示由函数f所决定的间隔 (泛函) , 那么SVM反问题就是要求解如下问题:

由于此优化问题的复杂度随着训练样本个数的增加而呈指数级增长, 枚举出Ω中所有的函数来求最大间隔是不现实的, 而且目前也很难给出一个十分严格的算法, 可以用减少Ω中函数个数的方法来降低其复杂度。

(四) 结论

本文综合介绍了现有的SVM经典训练方法, 说明了各种SVM在处理各类问题上的优缺点, 今后SVM的主要研究方向是确定不同的优化目标, 根据KKT约束优化条件寻找大规模训练样本下的实用算法, 反问题算法的提出扩展了SVM的应用领域, 成为新的研究热点之一。

参考文献

[1]Christopher J.C.Burges.A tutorial on support vector machinesfor pattern recognition[J].Data Mining and Knowledge Discovery, 1998, 2 (2) :121-167.

[2]Danny Roobaert, Marc M.Van Hulle.View-based3d-object recognition with support vector machines.IEEE Neural Networks for Signal Processing Workshop, 1999.

[3]刘胜利.基于SVM的网络入侵检测研究[R].江苏:大连海事大学硕士论文, 2004:4-11.

[4]柳回春, 马树元.支持向量机的研究现状[J].中国图象图形学报, 2002, 7 (6) :619-623.

支持向量机理论研究 篇9

支持向量机(Support Vector Machine,SVM)是借助于最优化方法解决数据挖掘中若干问题的有力工具,是近年发展起来的一种通用机器学习方法。SVM是建立在统计学理论基础之上的一种算法,既有简洁的数学形式、直观的几何解释,又能够较好地解决线性、非线性、小样本、维数灾难、局部极小值和“过学习”等问题。

支持向量机理论是20世纪90年代由Vapnik提出的,在提出以后一直处于飞速发展的阶段。SVM发展到今天,已经形成了支持向量机的理论基础和各种算法的基本框架,并在语音识别、遥感图像分析、故障识别和预测、文本分类、生物信息、时间序列预测、信息安全等众多领域有了成功的应用。

支持向量机最初是解决分类问题(模式识别、判别分析)和回归问题,现在发展出了很多的变形和拓展。支持向量机模型采用结构风险最小化原则和核函数方法来构造分类模型,模型比较简单,解具有唯一性。由于支持向量机理论是把对已有问题的求解转化为对二次规划问题的求解,而二次规划的计算量是很大的,这导致了支持向量机算法的计算量也很大。为了解决计算量大、多分类等问题,于是又提出了最小二乘支持向量机、多类支持向量分类机、中心支持向量分类机、顺序回归机等支持向量机的变形和拓展。

1 理论基础

分类问题(Classification)和回归问题(Regression)是支持向量机最常解决的问题。本文采用C-支持向量分类机来解决分类问题,而采用支持向量回归机来解决回归问题。

1.1 C-支持向量分类机

(1)给定训练集,其中T={(xi,yi,)},i=1,…,l;xi∈Rn,yi∈{1,-1}。

(2)选择适当的惩罚参数(C>0)以及核函数K(x,x')。

(3)构造并求解凸二次规划问题:

求得此凸二次规划的解为α*=(αi*,…,αl*)T。

(4)根据式(3)计算b*,其中求解b*中的yi是0<αj

(5)求得决策函数:

1.2 ε-支持向量回归机

(1)给定训练集,其中T={(xi,yi,)},i=1,…,l;xi∈Rn,yi∈R。

(2)选择适当的惩罚参数C>0、适当的精度

ε>0和适当的核函数K(x,x')。

(3)构造并求解凸二次规划问题:

求得此凸二次规划的解为

(4)计算,其中求解中的yi是(7)或者是(8)中对应的某一个。

或者是

(5)构造决策函数:

2 仿真

本文选取一个回归问题来描述如何使用支持向量机理论来解决问题的方法。本文数据选取为:x1为-2:0.1:2;x2为-2:0.1:2,y为sin(x1)+(x2)2。其中的输入x为二维输入[x1;x2]。

使用台湾大学林智仁博士研发的基于最小二乘支持向量机原理的libsvm工具箱进行仿真。仿真可以得到输出仿真图(图一)和误差绝对值输出仿真图(图二)。

通过图一和图二可以看出,使用支持向量机理论对输出y进行预测,可以得到很好的预测效果,输出y的误差绝对值在0~0.25这一范围内,因而效果比较好。

3 结束语

支持向量机算法的理论与应用都取得了长足的进步,但在有大量训练数据的实际应用中,仍然存在着计算速度和存储容量的问题。而且在求解非线性问题时,核函数的选取工作也没有形成一套很有效的理论,现在主要是依靠经验来选取,这就存在着局限性。这些都是以后需要研究的课题。

摘要:如何解决分类问题和回归问题是支持向量机算法的基本内容。本文研究了使用支持向量机算法解决线性和非线性分类问题和回归问题的原理和方法。

关键词:支持向量机,分类,回归,非线性

参考文献

[1]邓乃扬,田英杰.支持向量机[M].北京:科学出版社,2009.

[2]邓乃扬,田英杰.数据挖掘中的新方法[M].北京:科学出版社,2004.

[3]王书舟.持向量机方法及其应用研究[D].哈尔滨:哈尔滨工业大学,2009.

用支持向量机建模学习过程 篇10

1 支持向量机

支持向量机(SVMs)是学习分类器。例如,神经网络学习分类器。但它们使用的概念略有不同。支持向量机(SVMs)是一个线性分类器的概括,与神经网络相比,SVMs关键的优越性是其创建和训练算法[2]。

1.1 线性分类器

在超平面的帮助下,线性分类器可以把输入空间分成两个部分:类A为类B。位于超平面上部的每一点属于类A,面位于超平面下部的每一点属于类B。图1显示了一个已分类的数据集。在式(1)定义的平面D是分类器的唯一参数。如果xi被分为类A和类B,如果分类器是经过训练的,这些数据的分类可以由式(2)和式(3)来实现。

x,y〉代表标准点积 〈x,y〉=xy1+xy2+…

D≡〈w,x〉+d=0 (1)

xiA⇒⇐ 〈w,xi〉+d>0 (2)

xiB⇒⇐ 〈w,xi〉+d<0 (3)

然而,由两个约束条件组成系统的训练并非无足轻重。如果具备式(4)和式(5),那么分类的条件就变成了式(6)

y1=1⇒⇐ xiA (4)

y1=-1⇒⇐ xiB (5)

yi·(〈w,xi〉+d)>0 (6)

正如式(6)验证的每个点,训练就是要寻找wd。但这里存在着无数个分离平面,需要从这些平面中选择一个。尽量选择一个最能概括分类器的平面。也就是说,使用一些没有包含在训练集合中的数据,也能得到比较好的结果。这决定使用式(7),如同在图3中显示的那样,有两个分离平面,每一个平面对应一个yi值,平面间的距离称为边界。可以表明,边界是与1|w|成比例的[4]。

为获得更概括的分类器,必须把边缘最大化,或者最小化|w|,这将被用于训练算法

yi·(〈w,xi〉+d)≥0 (7)

验证式(8)的那些点称为支持向量。这些点支持此解决方法,其分布在限定平面上,并且位于它们类的边缘

yi·(〈w,xi〉+d)=0 (8)

可以证明,向量w是支持向量的一个线性组合[1]。式(8)和式(9)的组合可被改写为式(10),现在分类的条件与训练数据无关

w=∑ajyjxjaj≥0 (9)

aiyixi,x〉+d≥1 (10)

现在的训练在于寻找aid。每个不能验证式(8)的点,系数ai将为空。因此可以把它从解决方法中移走,这是训练所要达到的目标。支持向量及其相应的系数作为分类器的参数。

图4表明的解决平面都依赖于支持向量,因为它们都共享法线w,这些平面必定互相平行。可以证明,去掉一个非支持向量的向量,解决方法并不改变。这是合乎逻辑的,因为它们的ai为空,所以不会改变分类器的参数。

如果想用一个新数据集来训练系统,没有必要添加整个旧数据集,需要的仅是旧数据集中的支持向量。

1.2 非线性可分离数据集的扩展

如果输入空间被转换成一个高维空间,非线性可分离数据集也可以变成线性可分离的。图5就显示了这样一个空间转化的概念。

图6(a)显示了一个具体的例子。如果试图用线性分类器为这些数据集分类,则无法获得分离平面。如果在式(11)的帮助下,把一维的空间转换成一个二维的空间,那么这时候数据集就是线性可分离的。图6(b)表示转换过程和一个成功的分离平面。这个举例虽然简单,但也表明这种转化为更高维空间的可行性。

Ø(x)=(x,x2) (11)

1.3 核心函数

如果转换应用于每一个向量xiw,式(10)就变成了式(12)。〈Ø(xi),Ø(x)〉是两个转换向量的点积。尽管转换空间已成为高维的,但返回值将总是一个标量值。可以把〈Ø(i),Ø(x)〉当成一个简单的函数,其功能就是要返回一个标量。这个函数称为kernel(K)。式(13)给出了这个函数K(x,y)定义。现在不需要强求知道Ø(x)的值。此时的Ø(x)也可以转换数据到一个无限纬度空间。作为一个举例,式(11)表示的等价核心的转换将在式(14)中计算。现在可以重写分类条件,最后形式如式(15)所示

核心函数必须验证在文献[1]中可以看到的条件。这种情况下,一些Ø(x)与核心函数匹配。式(16)中的核心函数具有如下的一些重要属性

式(17)展示了一些经典的核心函数。它们可以同式(16)中显示的属性相结合

1.4 训练

如前所述,在式(7)的约束下,训练在于寻找wb。使用式(9),在式(15)的约束下,训练就是要寻找aib。目标是要找到一个最概括的分离平面。必须最大化边界或最小化|w|。于是算法训练就变成了式(18),这是一种有条件的优化。

应用拉格郞日优化理论,式(18)就变成了式(19)[2]。式(19)是一种二次优化问题。二次优化理论表明问题是凸起的,不存在局部最小化问题。在这个优化问题中,通常可以找到最好的结果。这是支持向量机(SVM)的一个重要优势:当给定数据集并选中核心函数后,通常可以找到最好的结果。多次训练这个系统都是得到一个完全相同的结果。虽然二次优化算法有很多种,此处仅介绍支持向量机,更多的信息可以在文献[3]中找到

minw12|w|2withaiyiΚ(xi,x)+d0 (18)

maxaiai-12i,jaiajyiyjΚ(xi,xj) (19)

2 短期记忆模型化

分类器系统是采用收集的数据集进行训练。在一个神经网络中,不可能决定或者知道何时网络忘记过去学到的东西。在支持向量机(SVM)中,分类是支持向量和它们的系数ai来描述的。这些向量是收集到的数据集的一部分。这样就有可能给每个向量标定日期。然后,经过一定的时间段,为取消向量的影响,可以把它从解法集中移走。整个数据集就可以不断地减少最老的向量,增加最新的向量。图7显示了移走一个过时的支持向量时,相应的解法集的变化情况。图8显示了添加一个新的支持向量时,相应的解法集的变化情况。

一方面,只要支持向量没有改变,训练就会给出完全一样的结果,解法集也不会改变,并且训练速度也非常快。另外一方面,如果移走一个支持向量,与第一情况相比,训练需要的时间会更长一些,但训练速度也很快,因为非支持向量的数据权重(ai)仍然为零。

系统派生可能会是一个问题,而且除了支持向量和它们的系数ai,解法也受到所选择核心函数的约束。虽然这或许是一个优点,或是一个缺点,因为要选择这样的一个核心就可能会非常棘手。

这种技术在一个充满变化的环境中相当有用,因为过去学习到的知识对现在不会有无止境的影响。对于神经网络,如果环境发生了变化,一些决策可能就不再有效。有时为了纠正这种趋势,会犯多次错误。而对于带有标定日期的支持向量机(SVM),只会有一次错误或一次长时间的等待。

虽然只在SVM中介绍了这种技术,显然,这种技术也可适用到其他的分类器,只要分类器是从训练数据集中得到的数据来表示它们的参数,例如最邻近算法(KNN,K-Nearest Neighbors)。在加强学习方面,这种SVM可以代替神经网络。

3 CPU的消耗限制

评估点x的值,需要计算方程。这种分类需要计算K(x,y)的值和每个支持向量的两个乘积。重要的是限制分类器对CPU的消耗。降低CPU消耗的唯一方法是限制支持向量的数目,并限制到一个固定值。使用这些带有日期的系统,支持向量数目太高时,最老的支持向量在评估时可以抛开不计。然而,抛开不计的支持向量不能从训练数据集中移走。由此,支持向量必将被另外一个取代。这种行为将会降低分类器的有效性。在游戏中,限制支持向量的数目非常重要,因为它在决策中引入了一些噪音,所以效率下降并非总是坏事

4 结束语

介绍了支持向量机(SVMs),引出了老化数据的概念。尽管这一概念可以用于大多数的分类器系统,但SVM是个很好的候选者,因为分类器的参数是用训练数据集来表示的,还为支持向量的数量限制和CPU消耗的限制提出了解决方法。

参考文献

[1] BURGES C.A tutorial on support vector machines for pattern recognition[J].Knowledge Discovery and Data Mining,1998,2(2):955-974.

[2] CRISTIANINI N.Tutorial on support vector machines and kernel methods[EB/OL].(2010-08-26)[2011-12-19]http://www.support-vector.net/icml-tutorial.pdf.

[3]GOULD N,PHILIPPE T.A quadratic programming page[EB/OL].(2010-03-17)[2011-12-10]http://www.numeri-cal.rl.ac.uk/qp/qp.html.

线性支持向量机 篇11

关键词:支持向量机;SVM;PRP-SVM;CGM-OC-SVM

中图分类号:TP391文献标识码:A文章编号:1009-3044(2007)15-30814-02

A Algorithm of SVM for any Kernel

TAO Mei, Wushour·Silamu

(School of Information and Engineering Xinjiang University,Wulumuqi 830046, China)

Abstract: Taking support vector machines (SVM) and the traditional statistics classification method as the research object, introduces the classification method theory of SVM algorithms,and based on PRP-SVM,then puts forward the orthogonal adjustment conjugate gradient iteration algorithm of support vector machines (CGM-OC-SVM), meanwhile the CGM-OC-SVM algorithm is carried out by the C programming language,and doing a graphic simulation using Matlab.

Key words: Support vector machine; SVM; PRP-SVM; CGM-OC-SVM

1 引言

数据挖掘中,数据的分类与回归问题是其重要的研究对象。常用于分类和回归的方法,如Bayes 分类、Logistic 回归、神经元网络等在实现机器学习时,都是基于经验风险最小化原则的。然而,一般在有限样本的情况下,经验风险最小不一定意味着期望风险最小,在有些情况下会出现“过学习”和推广性不好等情况,得到的实验结果并不是很理想。

Vapnik 于上世纪90年代初提出的支持向量机(SVM),是数据挖掘中的一项新技术。它是在统计学习理论的基础上,借助于最优化方法解决机器学习问题的新工具。该算法是一个凸优化问题,即局部最优解就是全局最优解,这是其他学习算法所不及的。SVM 基于结构风险最小化原则,能很好地解决有限数量样本的高维模型构造和“过学习”问题,具有良好的推广性和较好的分类精确性,已被应用于人脸识别、医疗诊断等方面。

尽管SVM 的应用领域很广,但其理论研究还相对滞后,其中就包括算法本身改进和算法的实际应用。支持向量机分类器最终可以转化为解决一个二次规划问题,目前的研究大都集中于如何在训练数据较多的情况下来解决这个二次规划问题。现基于改进共轭梯度迭代PRP-SVM 算法的基础,提出一种对任何SVM 核通用的正交校正共轭梯度迭代支持向量机算法(CGM-OC-SVM),并通过程序实现此算法,利用Matlab进行算法结果的图形模拟。

2 支持向量机(SVM)

SVM与传统统计学的大样本量研究方向不同,它最大的特点是遵循“结构风险最小化原则”,尽量提高学习机的泛化能力,即由有限的训练样本集获得小的误差的特性,保证对独立的测试集有小的误差,从而解决了有限样本的“过学习”问题(即机器复杂性越高,则置信范围越大,导致真实风险与经验风险可能的差别越大)。目前,该技术已应用到手写体识别、人脸识别、指纹识别、语音识别、数据挖掘等领域。

SVM的核心理论包括:(1)VC维理论,不仅要使机器学习的经验误差最小,而且应该最小化函数集的VC维,从而控制学习机的结构误差,使SVM分类器具有较强的泛化能力;(2)引入最优超平面概念,使函数的VC维上届达到最小,而最优超平面问题可以转化为二次规划问题;(3)核空间理论,通过非线性映射将输入空间映射到高维特征空间,使低维输入空间线性不可分问题转化为高维特征向量空间线性可分问题,并通过核函数绕过高维空间,使计算在低维输入空间进行,从而不需知道非线性映射的具体形式。

2.1 线性SVM最优分界面

2.1.1 线性可分情况

假定训练数据为 个观测样本(x1,y1),(x2,y2)…(xn,yn),xi∈Rp,yi∈{+1,-1},则存在超平面(w·x)+b=0线性可分,使训练点中的正类输入和负类输入分别位于该超平面的两侧,或者说存在参数对(w,b),使得yi=sgn((w·xi)+b),i=1,…,n这样的超平面通常不止一个,因此,我们的目的是要找到一个最优分类超平面,使分类面经验风险最小(即错分最少),并且推广能力最大(即空白最大)。如图1中(a)、(b)所示:

图1 2-class分类

SVM问题的数学表示为:

2.1.2 线性不可分情况

2.2 非线性SVM最优分界面

在很多情况下,数据是线性完全不可分的,这就属于非线性划分问题。我们可以通过非线性映射将向量x映射到一个高维特征空间Z,在这个高维特征空间中构造最优平面或推广的最优分类超平面。即通过函数Φ:Rn→Z将所有样本点映射到高维空间,将原来的xi·xj变为Φ(xi)·Φ(yi)形式,记核函数K(xi,xj)=Φ(xi)·Φ(yi)。常见的满足Mercer条件的核函数有多项式核函数K(xi,xj)=[(xixj)+1]d和高斯径向基核函数(即RBF核)

该策略的主要思想是对N分类问题构建N个支持向量机,每个支持向量机负责区分本类数据和非本类数据。最后结果由输出离分界面w·b+b距离最大的那个支持向量机决定。

2.3.3 层次策略

该策略的主要思想是对N分类问题构建若干个支持向量机,且它们之间是有层次地连接成一个有向无环图的结构,分类结果根据图经过的若干个支持向量机的判别得到。

3 算法模拟

CGM-OC-SVM算法是用C语言编写的,并选择RBF核作为核函数,现应用该算法分别对平面上两点和多点训练样本点进行分类训练、算法模拟。

(1)设x,y平面上的2个训练样本点为α=(1,1),b=(2,3)

假设训练集为S={(a,-1),(b,1)},其中a是-1类点,b是+1类点。取核参数δ=1,惩罚参数C=2时,采用改进的CGM-OC-SVM算法求解得α*=(1,1),设定x,y平面上的一点为k=(x,y),分类函数为:,

内层迭代次数为1,外层迭代次数为1。利用Matlab分别作其三维、二维模拟图,见图3(a)和(b)。

图3

(2)设x,y平面上的5个训练样本点为a=(3,1),b=(4,2),c=(8,0.3),d=(2,3),e=(3,4)

假定训练集为S={(a,-1),(b,-1),(c,-1),(d,1),(e,1)},其中a,b,c是-1类点,d,e是+1类点。取核参数δ=1,惩罚参数C=2时,采用改进的CGM-OC-SVM算法求解得α*=(0.801222,0.799457,0.799498,1.200462,1.20044),设定x,y平面上的一点为k=(x,y),分类函数为:

内层迭代次数为1,外层迭代次数为1。利用Matlab分别作其三维、二维模拟图,见图4(a)和(b)。

图4

4 结束语

由于支持向量机是建立在统计学习理论的VC维理论和结构风险最小原理的基础上,根据有限样本在学习精度和学习能力之间寻求最佳折衷,因此具有最好的推广能力。提出的CGM-OC-SVM算法改进了PRP-SVM算法只能选择多项式核函数的缺点,具有通用性。

参考文献:

[1] 邓乃扬, 田英杰. 数据挖掘中的新方法——支持向量机[M]. 北京:科学出版社,2004.

[2] 张学工. 关于统计学习理论与支持向量机[J]. 自动化学报,2000,26(1).

[3] 黄琼英. 支持向量机多类分类算法的研究与应用[D]. 河北:河北工业大学,2005.

[4] E.Osuna, R.Freund, and F.Girosi Support Vector Machines: Training and Applications A.I. Memo 1602, MIT Artificial Intelligence Laboratory, 1997.

[5] Zhang Ling, Zhang Bo. Relationship between Support Vector Set and Kernel Functions in SVM, J.Comput.Sci.&Technol,2002,17(5):549.

[6] O Chapelle,V Vapnik et al.Choosing Multiple Parameters for Support Vector Machine[J]. Machine Learning,2002,46:131-159.

线性支持向量机 篇12

关键词:线性规划,支持向量回归,经验风险,结构风险,置信风险

0 引言

支持向量机算法是根据统计学习理论[1,2,3,4]SLT(Statistical Learning Theory)给出的,该算法既可以处理分类问题,也可以处理回归问题。支持向量机在优化过程中改变了传统的经验风险最小化原则,而是根据结构风险最小化原则进行优化,因此具有更好的泛化能力。另外,支持向量机还通过引入一个核函数来解决非线性问题,该算法能有效克服局部极小问题。在传统的支持向量机算法中,经验风险和置信风险需要一个折中参数C来控制,当参数C的取值大时,这时经验风险起主要作用,反之,当参数C取值小时,对经验风险的要求就不高。实际中,参数C的取值一般根据经验选取,但最优的参数C往往并不容易确定。关于参数C的选择方法已经有了一些研究成果[5,6]。文献[7,8]在二次规划情况下提出了给定风险水平的支持向量机分类和回归模型,达到了在给定经验风险水平下最小化结构风险的目的。本文将这一思想推广到线性规划支持向量回归模型中,给出确定风险水平的线性规划支持向量回归模型。本文最后以拟合一个回归函数为例给出仿真实验,同时在数据中加入一些噪声来验证算法的可行性和有效性。

1 传统的线性规划支持向量回归算法

基于线性规划的支持向量回归模型,采用下面的风险函数:

其中,‖α‖1表示参数空间中的l1-范数()。

回归模型采用核函数展开:

其中,k(x,y)为核函数,本文取高斯核函数。

此时的结构风险函数为:

其中,Remp[f]表示经验风险,表示置信风险,参数λ控制二者之间的比例。

绝对值符号不易处理,采用两个参数αi和去掉绝对值符号,同时应用ε-不敏感损失函数,回归问题归结为如下优化问题:

约束为:

这就是线性规划下的支持向量回归算法,不但有良好的学习性能,而且运算速度明显快于二次规划下的支持向量回归算法。

2 给定经验风险水平的线性规划支持向量回归模型

在模型式(4)中,参数C的作用是分配经验风险和置信风险之间的比例,参数C越大,就要求经验风险越小,但具体多大的参数C能保证多大的经验风险却无法知道。为了在模型中体现出经验风险水平的大小,这里把经验风险从目标函数中移出,在约束条件中加入一个体现风险水平的限制。回归问题的优化变成如下的形式:

该模型可以清楚地控制误差的大小,并且可以事先根据精度要求给出误差的限制,当然误差限制过小同样可以产生过拟合现象。实际应用中可以根据具体问题设置误差限制参数。

另外,模型式(8)中将总体风险用一个参数进行控制,这在数据中不存在异方差的情况下是可行的。然而,在建立实际问题的回归模型时,经常会出现某些因素随着观测值的变化而对被解释变量产生不同的影响,导致随机误差产生不同的方差,即异方差。这时,如果仍然采用一个参数来控制误差就显得不合理了。在这种情况下,可以根据不同的样本中含有的噪声不同而采用不同的参数进行误差控制。将约束条件式(11)改为:

就可以对不同的样本进行不同的误差控制,从而可以实现对含有不同噪声的样本给出不同的惩罚,这样使得该算法不容易被异常值所影响,具有更好的鲁棒性。

当样本点含有的噪声方差大时,参数ρ取大一点的值,反之取较小的值,比如取,其中是第i个观测值误差项的方差。在实际应用中,误差项的方差一般是未知的,但是当误差项方差随自变量水平以系统的形式变化时,可以利用这种关系确定误差项方差。比如,知道与成比例,那么,其中k是比例系数。参数,也可以去掉比例系数k。另外,在社会、经济研究中,经常会遇到误差项的方差与x的幂函数xm成比例,此时参数ρi可以取为。异方差大小的确定并没有一个统一的方法,不同的实际问题其确定方法也不一样。

为了说明方便,我们将修改约束条件后的模型称为模型式(13),目标函数及其它的约束条件不变。

3 实验分析

下面举例说明所给算法的有效性,并采用两种实验方式进行比较说明。

3.1 实验1

首先采用模型式(8)进行实验,所用数据由Matlab中的sinc函数产生。自变量∈[0,3π],间隔为0.1,因变量y=sinc(x)。核函数采用高斯函数:

这里取σ2=0.03,ε=0.001。用Matlab 6.1编程实现,在区间[0.1,3π]中间隔为0.37取不同于训练样本的测试样本。“-”表示的是实际值,“*”表示的预测值,图1显示的是参数ρ=0.1时的预测结果,图2显示的是参数ρ=5时的预测结果。实验结果表明,当误差控制参数ρ=0.1 (较小)时,预测精度很高,而当误差控制参数ρ=5 (比较大)时,预测精度明显降低,表明了控制参数ρ起到了控制误差的效果。

3.2 实验2

我们对含有噪声的数据采用模型式(13)进行实验,在前面的数据中加入适当的噪声,其中前10个样本中加入均值为0,方差为0.8的服从正态分布的随机噪声,其余样本加入均值为0,方差为0.1的服从正态分布的随机噪声。对加入噪声后的样本分别采用模型式(8)和模型式(13)进行拟合,图3显示的是模型式(8)的模拟结果,图4显示的模型式(13)的模拟结果,其中模型式(8)中的参数ρ=0.1,模型式(13)中的参数为:ρi=0.8,i=1,2,…,10;ρi=0.1,i=11,12,…,n;n为训练样本的个数。

测试指标采用均方误差:

式中,yi为实际值,yi为预测值,k为测试样本的数量。这里yi取未加入噪声的真实数据,以便为了比较模型对真实数据的拟合精度。其中,模型式(8)的预测结果为MSE=0.2255,模型式(13)的预测结果为MSE=0.0639。均方误差结果都表明,模型式(13)由于加入了不同的控制参数,起到了对不同噪声采用不同的惩罚,从而能更好地预测真实数据。

4 结语

本文将线性规划支持向量回归模型的目标函数中的经验风险加入到约束条件中,从而能够清楚地给定经验风险的控制范围,并且能有效避免传统支持向量回归模型中参数C的选择问题。由于算法中采用的是线性规划,因此运算速度要远远快于二次规划下的回归算法。另外,由于算法中还可以针对不同样本加入不同的误差控制参数,从而达到加权支持向量回归算法的效果。文中的仿真实例说明了所给算法的有效性。

参考文献

[1]Vapnik V N.The Nature of Statistical Learning Theory[M].Berlin: Springer-Verlag,1995:198-210.

[2]邓乃杨,田英杰.数据挖掘中的新方法-支持向量机[M].北京:科学出版社,2004:259-262.

[3]Burges C J C.A tutorial on support vector machines for pattern recognition [J].Knowledge Discovery and Data Mining,1998,2(2):34 -38.

[4]Smola A J,Scholkopf B.A tutorial on support vector regression[R]. NeuroCOLT TR NC-TR 98-030,Royal Holloway College University of London,UK,1998.

[5]刘靖旭,蔡怀平,谭跃进.支持向量回归参数调整的一种启发式算法[J].系统仿真学报,2007,19(7):1540-1543.

[6]闫国华,朱永生.支持向量机回归的参数选择方法[J].计算机工程,2009,35(13):218-220.

[7]Luo L K,Lin C D,Peng H,et al.Some new support vector machine models under given empirical risk[C]//Proceeding of the 4ht IEEE Conference on Industrial Informatics.Piscataway:IEEE Press,2006: 1207-1210.

上一篇:建筑地基工程下一篇:用好高中生物新教材