模式识别论文支持向量机在模式识别中的应用Word格式.docx
- 文档编号:16145679
- 上传时间:2022-11-20
- 格式:DOCX
- 页数:10
- 大小:144.74KB
模式识别论文支持向量机在模式识别中的应用Word格式.docx
《模式识别论文支持向量机在模式识别中的应用Word格式.docx》由会员分享,可在线阅读,更多相关《模式识别论文支持向量机在模式识别中的应用Word格式.docx(10页珍藏版)》请在冰豆网上搜索。
通过线性svm及非线性svm函数方法的分析,实现支持向量机的算法,并在matlab上实现实例说明
主要任务
及目标
支持向量机实现分类
主要参
考文献
【1】刘霞,卢苇.SVM在文本分类中的应用研究,计算机教育,2007.
【2】唐春生,张磊.文本分类研究进展
【3】张学工.关于统计学习理论与支持向量机,自动化学报,2000.1
【4】秦玉平.基于支持向量机的文本分类算法研究
【5】李红莲,王春花,袁保宗.一种改进的支持向量机NN-SVM[J].计算机学报,2003,26(8):
1015-1020.
进度安排
论文(设计)各阶段名称
日期
选题
第7周
查询资料
第8周
整理资料
论文草拟
第9周
论文成型
指导教师签字:
系主任签字:
主管教学院长签字:
河北大学软件工程课程设计成绩评定表
学院:
河北大学工商学院
学生姓名
专业/年级
2013级网络工程一班
支持向量机在模式识别中的应用
论文(设计)内容提要
1支持向量机
1.1线性SVM
1.2非线性SVM
2支持向量机分类算法的实现
3实例说明及实验结果
指导教师评语
成绩:
指导老师(签名):
年月日
摘要
在VladimirN.VaPnik的统计学习理论基础上发展起来的支持向量机(SupporVectorMachine,SVM)是目前模式识别领域中最先进的机器学习算法。
本文对支持向量机及其在模式识别中应用的若干问题作了研究。
关键词:
支持向量机;
模式识别;
Abstract
VaPnikinVladimirN.BasedonstatisticallearningtheoryofsupportVectorMachine(SupporVectorMachine,SVM)iscurrentlyinthefieldofpatternrecognitionisthemostadvancedMachinelearningalgorithms.Inthispaper,supportvectormachine(SVM)anditsapplicationinpatternrecognitionproblemswerestudied
Keyword:
supportvectormachines;
patternrecognition;
引言
机器学习是现代智能技术中的重要方面,对样本进行训练并寻找规律,利用这些规律对未来数据或无法观测的数据进行预测是基于数据的机器学习的基本思想。
统计学理论是我们面对数据而又缺乏理论模型时最基本的也是唯一的分析手段.传统统计学研究的是渐进理论,即假设样本数目无穷大,但在实际应用中样本数目总是有限的,一些好的基于渐进理论的学习算法在实际应用当中往往表现得并不理想,因此研究小样本的机器学习问题就具有非常重要的实际意义。
VladimirN·
Vapnik等人从20世纪60年代开始就致力于研究有限样本的机器学习问题,经过几十年的研究,终于到90年代中期形成了一个较完整的理论体系,即统计学习理论(StatistiealL’earningTheory).由于神经网络等学习方法在理论上难以有实质性的进展,因此统计学习理论受到人们广泛的重视.近几年来,在统计学习理论的基础上又发展出一种新的学习机器—支持向量机(SupportveetorMaehine),它在解决小样本、非线性及高维模式识别问题中表现出许多特有的优势.支持向量机是建立在统计学习理论的VC维理论和结构风险最小原理基础上的,根据有限的样本信息在模型的复杂性和学习能力之间寻求最佳折衷,以获得最好的推广能力。
目前,统计学习理论和支持向量机己被越来越多地应用到模式识别领域,如手写体文字识别、人脸识别、生物识别、三维对象识别等,并取得了良好的识别效果。
本文着重介绍支持向量机的基本原理、关键问题、研究状况及其在模式识别领域中的应用,希望今后能有更多的人研究和应用这一优秀的学习机器。
1、支持向量机
1.1线性SVM
最优超平面SVM方法是从线性可分的情况下的最优分类面(OptimalHyperplane)提出的。
设线性可分样本集为
,i=1,⋯,n;
Y={+1,-1}是类别标号,分类面方程为:
W*X+b=0
(1)这个平面将两类样本没有错误的分开,并且使得离分类面最近的样本到分类面的距离最大,即分类间隔最大,等价于使
最小,W为分类面的法向量。
而要求分类面对所有样本正确分类,约束条件为:
,
i=1,2,L,n
(2)
因此,满足上述条件且使得llW最小的分类面就是最优分类面。
过两类样本中离分类面最近的点且平行于最优分类面的超平面H.、H上的训练样本就是式
(2)中使等号成立的那些样本叫做支持向量。
最优分类面可以表示为如下约束的优化问题,
即在式
(2)的约束下,求函数
(3)
的最小值。
为此,可以定义如下的拉格朗日函数:
(4)
(4)式中,
>
0为拉格朗日系数。
把原问题转化为如下较简单的对偶问题:
i=1,……n。
1.2非线性SVM
上面讨论的是最优和广义线性分类函数,要解决一个特征空间中的最优线性分类问题,我们只需知道这个空间中的内积运算即可。
按照广义线性判别函数的思路,要解决一个非线性问题,我们可以设法将它通过非线性变换转换为另一个空间的线性问题,在这个变换空间求最优或最广义分类面。
考虑Mercer条件:
对于任意的对称函数
,它是某个特征空间的内积运算的充分必要条件是,对与任意的
恒不为0,且
,有
,显然这一条件不难满足。
如果用内积K(x,Y)代替最优分类面的点积,就相当于把原特征空间变换到了某一新的特征
空间,此时的支持向量机为:
相应的判别函数也应变为:
。
其它的条件不变,这就是支持向量机。
支持向量机的思想可以概括为:
首先通过非线性变换将输入空间变换到一个高维空间,然后就这个新空间中求取最优线性分类面,而这种非线性变换是通过定义适当的函数实现的,这些函数叫做核函数。
选择不同的核函数就构成不同的支持向量机,常用的有以下
三类核函数:
linear:
K(x,y)=x*y;
ploy:
K(x,y)=
;
rbf:
;
2、支持向量机分类算法的实现
支持向量机算法是在训练样本的特征空间求取能把两类样本没有错误分开的最大间隔超平面,在数学上表示为一个凸二次规划的问题。
也可以说算法求解的主要内容是通过求解二次规划(QP)问题,这个优化问题的求解是支持向量机算法的核心,可以说支持向量机的算法就得到了实现。
前面所述支持向量机算法可以表示为在式(6)和式(7)的约束下求式(5)取最小值时的拉格朗日乘子
为训练样本的个数。
(5)
(6)
(7)
其中:
为n元列向量,是要求的拉格朗日乘子;
是一个正定矩阵;
是样本的所属类别,由1或一1组成的列向量;
xi为训练样本。
可以看出,求解支持向量机就是求解上述的一个二次规划问题,求解后得到拉格朗日乘子
,也就求得了最大间隔超平面。
求解这个二次规划问题需要深厚的数学功底数值计算方面的技能,在主流程序语言中实现算法又需要专业的计算机程序设计的知识。
在MATLAB环境下求解这一问题会变得非常简单,这得益于MATLAB软件强大的优化工具箱,提供了一个求解二次规划的函数,可以直接调用。
二次规划问题(quadraticprogramming)的标准形式为:
sub.to
Aeqx=beq
其中,H、A、Aeq为矩阵;
f、b、beq、lb、ub、x为向量,其它形式的二次规划问题都可转化为标准形式。
MATLAB5.x版中的qp函数已被6.0版中的函数
quadprog取代。
函数quadprog格式如下:
[x,fva1]=quadprog(H,f,A,b,Aeq,beq,lb,ub,x0)
其中H、f、A、b、Aeq、beq、lb、ub为标准形中的参数;
x为求解得到的最优值,也就是二次规划的解析解;
lb、ub分别为x的下界与上界,满足不等式约
Aeq、beq满足等约束条件Aeq*x=beq;
x0为设置的初值,这个值是人为赋予x的值,一般x为零;
fval为目标函数最小值,可以看出,支持向量机算法是一个标准的二次规划问题;
,根据训练样本数据求出;
f=-1;
支持向量机算法没形式的不等式约束条件,所以A、b为空矩阵;
,beq=Y,实现AY=0等式约束;
Lb=0、ub=C,实现
不等式约束;
x0=0,赋予A的初始值为零。
样本数据已知,c是人工赋于的值。
3、实例说明及实验结果
3.1实验程序代码
%定义核函数及相关参数
nu=0.2;
%nu->
(0,1]在支持向量数与错分样本数之间进行折衷
ker=struct('
type'
'
linear'
);
%构造两类训练样本
n=50;
randn('
state'
6);
x1=randn(2,n);
y1=ones(1,n);
x2=5+randn(2,n);
y2=-ones(1,n);
figure;
plot(x1(1,:
),x1(2,:
),'
bx'
x2(1,:
),x2(2,:
k.'
axis([-38-38]);
title('
C-SVC'
)
holdon;
X=[x1,x2];
%训练样本,d*n的矩阵,n为样本个数,d为样本维数
Y=[y1,y2];
%训练目标,1*n的矩阵,n为样本个数,值为+1或-1
%------------------------------------------------------------%
%训练支持向量机
tic
svm=svmTrain('
svc_nu'
X,Y,ker,nu);
t_train=toc
%寻找支持向量¿
a=svm.a;
epsilon=1e-8;
%如果小于此值则认为是0
i_sv=find(abs(a)>
epsilon);
%支持向量下标
plot(X(1,i_sv),X(2,i_sv),'
ro'
%测试输出
[x1,x2]=meshgrid(-2:
0.1:
7,-2:
7);
[rows,cols]=size(x1);
nt=rows*cols;
%²
测试样本数
Xt=[reshape(x1,1,nt);
reshape(x2,1,nt)];
Yd=svmSim(svm,Xt);
%
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模式识别 论文 支持 向量 中的 应用