基于支持向量机分类方法 论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于支持向量机的分类方法
摘要:支持向量机是建立在统计学习理论基础上的一种小样本机器学习方法,用于解决二分类问题。
本文阐述了支持向量机的理论基础并对核函数的参数选择进行了分析研究。
关键词:支持向量机最优超平面二分类核函数
中图分类号:tp751 文献标识码:a 文章编号:1672-3791(2011)10(c)-0000-00
1 支持向量机
支持向量机是统计学习理论中最年轻的部分,是vapnik等根据统计学习理论中的结构风险最小化原则提出的。
其主要内容在1992到1995年间才基本完成,目前仍处在不断发展阶段。
支持向量机充分考虑了算法的推广能力,很多传统的机器学习方法都可以看作是支持向量机方法的一种实现,因而统计学习理论和支持向量机被很多人认为是研究机器学习问题的一个基本框架。
最优分类超平面的构造
支持向量机方法是从线性可分情况下的最优分类超平面提出的。
对于两类的分类问题,设训练数据,,可以被一个超平面分开,即存在,使
(2.1)
分类的目的是寻求来最佳分离两类数据。
此时假设空间为:
(2.2)
在这个公式里,为符号函数,和是非零常数,能任意缩放。
为
减少分类超平面的重复,对进行如下约束:
(2.3)
考虑图2.1所示的二维两类线性可分情况,图中实心点和空心点分别表示两类训练样本,为把两类没有错误地分开的分类线,、分别为过各类样本中离分类
图2.1 最优分类超平面
线最近的点且平行于分类线的直线,和之间的距离叫做两类的分类间隔(margin)。
所谓最优分类线就是要求分类线不但能将两类无错误地分开(训练错误率为0),而且要使两类的分类间隔最大。
推广到高维空间,最优分类线就成为最优分类超平面。
由约束条件式得:
(2.4)
3 支持向量机的算法
3.1 线性可分情况
在结构风险最小化原则下的最优超平面可以通过最小化泛函
得到。
按照最优化理论中二次规划的解法,可把该问题转化为wolfe对偶问题来求解。
构造lagrange函数:
(3.1)
式中为lagrange乘子。
可采用优化算法解得最优超平面为:
(3.2)
3.2 非线性可分情况
对于非线性可分的问题,需要将样本通过非线性函数映射到高维特征空间中,使其线性可分,再在该特征空间中建立优化超平面:。
于是,原样本空间的二元模式分类问题可以表示为:
(3.3)
支持向量机利用核函数简便地解决了这个问题。
只要一个核函数满足mercer条件,它就对应某一变换空间的内积,即。
此时的二次优化最终结果为
(3.4)
4 仿真研究
本文采用iris标准数据集进行仿真实验,其数据是用来测试机器学习的uml标准数据库。
iris数据集包括三类数据:versicolor (类1),virginica(类2)和setosa(类3)。
在这三个类别中,类1与其余的两类之间分类比较复杂,所以,我将类1看作一类,类2和类3看作另一类,研究一个二分类问题。
利用s.r.gunn编写的matlab中的支持向量机工具箱。
本文采用目前较为常见的多项式核函数的模型选择问题进行仿真研究。
(4.1)
首先运行svm_stevegunn工具箱中的uniclass.m函数即得图4.1中的界面。
其中,直径较小的点为类1,主要分布于中间的区域;直径较大的点为类2和类3,分布于左下和右上两侧。
在下拉菜单中选择polynomial,表示选用多项式核函数。
可以选择separable(可分的)和不可分的两种算法进行分类,我分别对其
进行了测试并比较。
4.1 可分的情况
首先选择separable的情况,整个模型仅有多项式的阶次(degree)一个参数需要确定,我将其从1开始逐步增大。
取不同degree值时,支持向量机的相关性能参数如下表所示,主要有五项:执行时间、错分样本数、分类间隔、支持向量个数以及支持向量的百分比。
a) 当degree由1变为2时,错分的样本个数显著减小,由此可见核函数的参数对于正确分类起着很大的作用。
b) 当degree取上述四个值的时候,分类间隔都非常小,意味着支持向量机的泛化能力差。
c) 当degree=4时,支持向量机的各项性能较好。
4.2 不可分的情况
不在separable之前打勾,此时引入惩罚参数c,即程序中的bound。
固定可分时性能最佳的参数degree=4,从小到大改变c的大小:
a) 与表4.1对比,不可分情况下支持向量机的执行时间较可分情况明显减小,分类间隔则明显增大,可见引入c参数确实起到了正面的作用。
b) c参数越大,分类的正确率越高,但分类间隔越小。
因为c 参数是在目标函数里对错分的样本点进行惩罚的,所以选取大的c,意味着更强调最小化训练错误,但也同时削弱了泛化能力。
c) c参数增大的过程中,支持向量个数基本呈减小的趋势,但是当c大到一定程度之后,对支持向量的数目影响不大。
d) 当c=50时,支持向量机的综合性能较好。
所谓最优分类面就是要求分类面不但能将两类无错误地分开,而且要使两类的分类间隔最大、支持向量数目最少。
这是一个折衷的过程,也正是核函数模型选择的难点所在。
进一步地,固定c=50,调节degree参数,寻找不可分情况下的最优支持向量机。
5 结论
本文在阐述支持向量机原理的基础上,通过matlab仿真实验探讨了支持向量机模型选择的问题,得到了以下结论:c参数越大,分类的正确率越高,但分类间隔越小。
因为c参数是在目标函数里对错分的样本点进行惩罚的,所以选取大的c,意味着更强调最小化训练错误,但也同时削弱了泛化能力。
当参数时,线性软间隔分类机算法即退化为线性硬间隔分类机,此时可以认为两个算法相同。
参考文献
[1] 李国正,王猛,曾华军译. 支持向量机导论[m]. 北京:电子工业出版社,2004.
[2] 祁享年. 支持向量机及其应用研究综述[j]. 计算机工程,2004,30(10):8-9.
[3] 许建华,张学工,李衍达. 支持向量机的新发展[j]. 控制
与决策,2004,19(5):481.
[4] 谢芳芳. 基于支持向量机的故障诊断方法[d]. 长沙:湖南大学,2006.
[5]刘定平,叶向荣,陈斌源,汤美玉. 基于核主元分析和最小二乘支持向量机的中速磨煤机故障诊断[j]动力工程, 2009,(02).
[6] 吕成岭. 基于支持向量机的故障诊断方法研究[d]. 江南大学, 2009。