模式识别论文

1

1 1

1 支持向量机

支持向量机支持向量机

支持向量机

1

11

1.

..

.1

1 1

1 线性

线性线性

线性SVM

SVMSVM

SVM

最优超平面 SVM方法是从线性可分的情况下的最优分类面

(OptimalHyperplane)提出的。设线性可分样本集为(,)iixy

,i=1,?,n;Y={+1,

-1}是类别标号,分类面方程为:

W*X + b = 0 (1)这个平面将两类样本没有错误的分开,并且使得离分类面最近

的样本到分类面的距离最大,即分类间隔最大,等价于使2||||

w最小,W为分类

面的法向量。而要求分类面对所有样本正确分类,约束条件为:

[(*)]10iiywxb

+?≥,i = 1,2,L,n (2)

因此,满足上述条件且使得ll W 最小的分类面就是最优分类面。过两类样本中

离分类面最近的点且平行于最优分类面的超平面H.、H 上的训练样本就是式(2)

中使等号成立的那些样本叫做支持向量。最优分类面可以表示为如下约束的优化

问题,

即在式(2)的约束下,求函数 211

()||||(*)

22

wwww

?== (3)

的最小值。为此,可以定义如下的拉格朗日函数: 211

(,,)||||{[(*)]1}

2n

ii

iLwbawaywxb==?+?∑ (4)

(4)式中,ia>0为拉格朗日系数。把原问题转化为如下较简单的对偶问题: 11,11

max()(|)

2nn

iijijij

iijQaaaayyxx====?∑∑ .

st 10n

ii

iya==∑ 0,ia

≥i = 1,……n。

1

11

1.

..

.2

2 2

2 非线性

非线性非线性

非线性SVM

SVM SVM

SVM

上面讨论的是最优和广义线性分类函数,要解决一个特征空间中的最优线性

分类问题,我们只需知道这个空间中的内积运算即可。按照广义线性判别函数的

思路,要解决一个非线性问题,我们可以设法将它通过非线性变换转换为另一个

空间的线性问题,在这个变换空间求最优或最广义分类面。考虑Mercer条件:

对于任意的对称函数'(,)

Kxx,它是某个特征空间的内积运算的充分必要条件是,对与任意的()x?恒不为0,且2()xdx?∫∫,显然

这一条件不难满足 。如果用内积K(x,Y)代替最优分类面的点积,就相当于把

原特征空间变换到了某一新的特征

空间,此时的支持向量机为: 11,11

()(,)

2nn

iijijij

iijMAXQaaaayyKxx====?∑∑ 1.0n

ii

istya==∑ 0,1,....

aCin≤≤=

相应的判别函数也应变为: *

1()sgn(*(,))n

iii

ifxayKxxb==+∑。

其它的条件不变,这就是支持向量机。支持向量机的思想可以概括为:首先通过

非线性变换将输入空间变换到一个高维空间,然后就这个新空间中求取最优线性

分类面,而这种非线性变换是通过定义适当

的函数实现的,这些函数叫做核函数。

选择不同的核函数就构成不同的支持向量机,常用的有以下

三类核函数:

linear:K(x,y) = x*y;

ploy:K(x,y) = q[(x*y)+1];

rbf:K(x,y) = 2

2||

exp{}

xyσ?

?; 2

2 2

2 支持向量机分类算法的实现

支持向量机分类算法的实现支持向量机分类算法的实现

支持向量机分类算法的实现

支持向量机算法是在训练样本的特征空间求取能把两类样本没有错误分开的最

大间隔超平面,在数学上表示为一个凸二次规划的问题。也可以说算法求解的主

要内容是通过求解二次规划(QP)问题,这个优化问题的求解是支持向量机算法的

核心,可以说支持向量机的算法就得到了实现。前面所述支持向量机算法可以表

示为在式(6)和式(7)的约束下求式(5)取最小值时的拉格朗日乘子 12(,.....,)T

nA

=???为训练样本的个数。 ()1/2TTQAAIADA=?+ (5) 0AC≤≤ (6) 0TAy= (7)

其中: 12(,,....,)T

nA

=???为n元列向量,是要求的拉格朗日乘子;(,)ijijijDyyKxx= 是一个正定矩阵; 12(,,...)T

nyyyy

=是样本的所属类别,由1

或一1组成的列向量;xi为训练样本。可以看出,求解支持向量机就是求解上

述的一个二次规划问题,求解后得到拉格朗日乘子12(,,....,)T

nA

=??? ,也就求

得了最大间隔超平面。求解这个二次规划问题需要深厚的数学功底数值计算方面

的技能,在主流程序语言中实现算法又需要专业的计算机程序设计的知识。

在MATLAB环境下求解这一问题会变得非常简单,这得益于MATLAB软件强大的优

化工具箱,提供了一个求解二次规划的函数,可以直接调用。二次规划问题

(quadratic programming)的标准形式为:

''1

min

2

fxxHx+

sub.to Axb

Aeqx=beq

lbxub

≤≤

其中,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的下界与上界,满足不等式约bxub

≤≤;Aeq、beq满足等约束条件Aeq*x=beq;x0为设置的初值,这个值是

人为赋予x的值,一般x为零;fval为目标函数最小值,可以看出,支持向量

机算法是一个标准的二次规划问题; (,)ijijijHDyyKxx

==,根据训练样本数据

求出;f = -1;支持向量机算法没形式的不等式

约束条件,所以A、b为空矩阵;TAeqAy

= ,beq=Y,实现A Y=0等式约束;Lb=0、ub=C,实现 0AC≤≤不等

式约束;x0=0,赋予A的初始值为零。样本数据已知,c是人工赋于的值。

3

33

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([-3 8 -3 8]);

title('C-SVC')

hold on;

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:0.1:7);

[rows,cols] = size(x1);

nt = rows*cols; % 2测试样本数

Xt = [reshape(x1,1,nt);reshape(x2,1,nt)];

tic

Yd = svmSim(svm,Xt); % 测试输出

t_sim = toc

Yd = reshape(Yd,rows,cols);

contour(x1,x2,Yd,[0 0],'m'); %分类面

hold off;

3.2实验结果

1

1 1

1 支持向量机

支持向量机支持向量机

支持向量机

1

11

1.

..

.1

1 1

1 线性

线性线性

线性SVM

SVMSVM

SVM

最优超平面 SVM方法是从线性可分的情况下的最优分类面

(OptimalHyperplane)提出的。设线性可分样本集为(,)iixy

,i=1,?,n;Y={+1,

-1}是类别标号,分类面方程为:

W*X + b = 0 (1)这个平面将两类样本没有错误的分开,并且使得离分类面最近

的样本到分类面的距离最大,即分类间隔最大,等价于使2||||

w最小,W为分类

面的法向量。而要求分类面对所有样本正确分类,约束条件为:

[(*)]10iiywxb

+?≥,i = 1,2,L,n (2)

因此,满足上述条件且使得ll W 最小的分类面就是最优分类面。过两类样本中

离分类面最近的点且平行于最优分类面的超平面H.、H 上的训练样本就是式(2)

中使等号成立的那些样本叫做支持向量。最优分类面可以表示为如下约束的优化

问题,

即在式(2)的约束下,求函数 211

()||||(*)

22

wwww

?== (3)

的最小值。为此,可以定义如下的拉格朗日函数: 211

(,,)||||{[(*)]1}

2n

ii

iLwbawaywxb==?+?∑ (4)

(4)式中,ia>0为拉格朗日系数。把原问题转化为如下较简单的对偶问题: 11,11

max()(|)

2nn

iijijij

iijQaaaayyxx====?∑∑ .

st 10n

ii

iya==∑ 0,ia

≥i = 1,……n。

1

11

1.

..

.2

2 2

2 非线性

非线性非线性

非线性SVM

SVM SVM

SVM

上面讨论的是最优和广义线性分类函数,要解决一个特征空间中的最优线性

分类问题,我们只需知道这个空间中的内积运算即可。按照广义线性判别函数的

思路,要解决一个非线性问题,我们可以设法将它通过非线性变换转换为另一个

空间的线性问题,在这个变换空间求最优或最广义分类面。考虑Mercer条件:

对于任意的对称函数'(,)

Kxx,它是某个特征空间的内积运算的充分必要条件是,对与任意的()x?恒不为0,且2()xdx?∫∫,显然

这一条件不难满足 。如果用内积K(x,Y)代替最优分类面的点积,就相当于把

原特征空间变换到了某一新的特征

空间,此时的支持向量机为: 11,11

()(,)

2nn

iijijij

iijMAXQaaaayyKxx====?∑∑ 1.0n

ii

istya==∑ 0,1,....

aCin≤≤=

相应的判别函数也应变为: *

1()sgn(*(,))n

iii

ifxayKxxb==+∑。

其它的条件不变,这就是支持向量机。支持向量机的思想可以概括为:首先通过

非线性变换将输入空间变换到一个高维空间,然后就这个新空间中求取最优线性

分类面,而这种非线性变换是通过定义适当

的函数实现的,这些函数叫做核函数。

选择不同的核函数就构成不同的支持向量机,常用的有以下

三类核函数:

linear:K(x,y) = x*y;

ploy:K(x,y) = q[(x*y)+1];

rbf:K(x,y) = 2

2||

exp{}

xyσ?

?; 2

2 2

2 支持向量机分类算法的实现

支持向量机分类算法的实现支持向量机分类算法的实现

支持向量机分类算法的实现

支持向量机算法是在训练样本的特征空间求取能把两类样本没有错误分开的最

大间隔超平面,在数学上表示为一个凸二次规划的问题。也可以说算法求解的主

要内容是通过求解二次规划(QP)问题,这个优化问题的求解是支持向量机算法的

核心,可以说支持向量机的算法就得到了实现。前面所述支持向量机算法可以表

示为在式(6)和式(7)的约束下求式(5)取最小值时的拉格朗日乘子 12(,.....,)T

nA

=???为训练样本的个数。 ()1/2TTQAAIADA=?+ (5) 0AC≤≤ (6) 0TAy= (7)

其中: 12(,,....,)T

nA

=???为n元列向量,是要求的拉格朗日乘子;(,)ijijijDyyKxx= 是一个正定矩阵; 12(,,...)T

nyyyy

=是样本的所属类别,由1

或一1组成的列向量;xi为训练样本。可以看出,求解支持向量机就是求解上

述的一个二次规划问题,求解后得到拉格朗日乘子12(,,....,)T

nA

=??? ,也就求

得了最大间隔超平面。求解这个二次规划问题需要深厚的数学功底数值计算方面

的技能,在主流程序语言中实现算法又需要专业的计算机程序设计的知识。

在MATLAB环境下求解这一问题会变得非常简单,这得益于MATLAB软件强大的优

化工具箱,提供了一个求解二次规划的函数,可以直接调用。二次规划问题

(quadratic programming)的标准形式为:

''1

min

2

fxxHx+

sub.to Axb

Aeqx=beq

lbxub

≤≤

其中,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的下界与上界,满足不等式约bxub

≤≤;Aeq、beq满足等约束条件Aeq*x=beq;x0为设置的初值,这个值是

人为赋予x的值,一般x为零;fval为目标函数最小值,可以看出,支持向量

机算法是一个标准的二次规划问题; (,)ijijijHDyyKxx

==,根据训练样本数据

求出;f = -1;支持向量机算法没形式的不等式

约束条件,所以A、b为空矩阵;TAeqAy

= ,beq=Y,实现A Y=0等式约束;Lb=0、ub=C,实现 0AC≤≤不等

式约束;x0=0,赋予A的初始值为零。样本数据已知,c是人工赋于的值。

3

33

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([-3 8 -3 8]);

title('C-SVC')

hold on;

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:0.1:7);

[rows,cols] = size(x1);

nt = rows*cols; % 2测试样本数

Xt = [reshape(x1,1,nt);reshape(x2,1,nt)];

tic

Yd = svmSim(svm,Xt); % 测试输出

t_sim = toc

Yd = reshape(Yd,rows,cols);

contour(x1,x2,Yd,[0 0],'m'); %分类面

hold off;

3.2实验结果


相关内容

  • 完整论文格式
  • 河北工业大学成人高等教育 2013级学生毕业设计(论文)前期工作材料 学生姓名: XXX 学 号: 2013107XXX 教学管理单位: 河北工业大学塘沽教学点 专 业: 工程管理 设计(论文)题目: 工程总承包模式下施工分包合同风险 管理 指导教师: 俞建勇 讲师 材 料 目 录 2015年 9 ...

  • 人工智能的日常应用--论文
  • 研究生学位课程论文 论 文 题 目:人工智能的日常应用 人工智能的日常应用 摘 要:人工智能(Artificial Intelligence),英文缩写为AI,是一门由计算机科学.控制论.信息论.语言学.神经生理学.心理学.数学.哲学等多种学科相互渗透而发展的综合性学科.21世纪是计算机科技飞速发展 ...

  • 基于GSM网络智能家居系统设计_毕业论文
  • 天津工业大学 毕业设计(毕业设计(论文)论文) 基于GSM网络智能家居系统设计 网络智能家居系统设计 姓 名 名: 院(系)别: 电子与信息工程学院 电子与信息工程学院 专 业 业: 通信工程 通信工程 通信工程 班 级 级: 通信 通信 通信 指导教师:指导教师: 2012年 6 月 6 日 天津 ...

  • 计算机科学与技术博士后科研流动站
  • 计算机科学与技术博士后科研流动站 一.本流动站简介 安徽大学计算机科学与技术博士后科研流动站2003年获准设立,该学科拥有计算机应用技术博士点. "计算智能与信号处理"教育部重点实验室,"计算机应用技术"国家重点学科,设有教育部"长江学者" ...

  • 指纹识别系统的设计
  • 郑州轻院轻工职业学院 专科毕业设计(论文) 题 目:____________________ 学生姓名:____________________ 专业班级:____________________ 学 号:____________________ 院 (系):____________________ ...

  • 创业机会识别的过程解构与机制探讨
  • 第3l卷第3期 技术 与创新管 理 V01.3lNo.3 2010年5月TECHNOLOGYANDINNOVATIONMANAGEMENT May.2010 [管理科学] 创业机会识别的过程解构与机制探讨 林嵩 (中央财经大学商学院,北京100081) 摘要:创业机会识别是创业过程的第一步.在现有的 ...

  • 人工智能味觉系统_概念.结构与方法
  • 第l8卷第4期2006年4月 化学进展 PROGRESS IN CHEMISTRY VoI.l8No.4Apr. ,2006 人工智能味觉系统:概念.结构与方法! 2 黄赣辉l , 邓少平2!! 杭州3l0035) (l. 南昌大学食品科学教育部重点实验室 摘 要 南昌330047:2. 浙江工商大 ...

  • 物流系-1102-王彬-第三方物流模式下的同城配送问题研究
  • 本科毕业设计(论文) 题目:第三方物流模式下的同城配送问题研究 院 系:商学院物流管理与工程系 专 业:物流管理 班 级:物流管理1102 姓 名:王彬 学 号:[1**********]3 指导教师:李晓光 李岩 烟台南山学院教务处 二〇一五年五月 烟台南山学院毕业设计(论文)原创性声明 本人郑重 ...

  • 机器人视觉识别系统研究毕业论文设计
  • 西南科技大学城市学院 毕业论文(设计) 论文题目: 机器人视觉识别系统研究 系 别: 机电工程系 专 业: 自动化 毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教 师的指导下进行的研究工作及取得的成果.尽我所知,除文中特别加 以标注和致 ...

  • 最新国际会议论文投稿指南
  • 最新国际会议论文投稿指南 资料一: 第二届IEEE 教育与计算机科学国际会议(EI和ISTP检索) The 2nd International Workshop on Education Technology and Computer Science (ETCS 2010) 3月6-7,2010,武 ...