模式识别实验3
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三、 SVM 用于模式识别
一、实验目的
1. 理解SVM 的基本原理;
2. 研究SVM 的分类效果;
3. 了解混淆均值的应用,熟悉MATLAB 工具箱。
二、实验原理
支持向量机在统计学习理论的基础上发展了一种新的机器学习方法。如果仅从分类的角度来说,它是一种广义的线性分类器,它是在线性分类器的基础上,通过引入结构风险最小化原则、最优化理论和核函数演化而成的。该方法根据有限的样本信息在模型的复杂性和学习能力之间寻求最佳折中,以期获得最好的推广能力。而且,只要定义不同的核函数,就可以实现其它现有的学习算法。因此,支持向量机己经在众多领域取得了成功的应用。
1.最优分类面
SVM 方法是从线性可分情况下的最优分类面提出的,图1给出了二维两类线性可分情况的最优分类面示意图。图中实心点和空心点分别表示两类的样本,
H 为分类线,1H 和1H 分别为过各类样本中离分类线最近的点且平行于分类线的直线,它们之间的距离叫做分类空隙或分类间隔(margin)。所谓最优分类线就是要求分类线不但能将两类正确分开,而且要使分类间隔最大。前者是保证经验风险最小(为0),分类间隔最大实际上就是使推广性的界中的置信范围最小,从而使真实风险最小。推广到高维,最优分类线就成为最优分类面。
图1 最优分类面示意图
设线性可分样本集(,)i i y X ,1,i =…,n ,d x R ∈,{1,1}y ∈+-是类别标号。d 维空间中线性判别函数的一般形式为()g b =⋅+x W X ,分类面方程为
()0g b =⋅+=x W X (1)
为了描述分类面,使用下面的形式将判别函数进行归一化:
()1g b =⋅+≥x W X ,若1i y = (2)
()1g b =⋅+≤-x W X ,若1i y =- (3)
即使两类所有样本都满足()1g ≥x 离分类面最近的样本的()1g =x ,这样分类间隔就等于
2w
,因此使间隔最大等价于使w (或2
w )最小;而要求分类线对所有样本正确分类,就是要求它满足:
[]10i y b ⋅+-≥w x ,1,i =…,n (4)
因此满足条件式(3一13)且使2
w 最小的分类面就是最优分类面。过两类样本中离分类面最近的点且平行于最优分类面的超平面1H 、2H 上的训练样本就是式(4)中使等号成立的那些样本,称之为支持向量(Support Vectors)。因为它们支撑了最优分类面,如图3.4中用圆圈标出的点所示。
根据上面的讨论,最优分类面问题可以表示成如下的二次规划问题,即在条件(4)的不等式约束下,求函数:
2
()0.50.5(,)Φ=⨯=⨯W w w w (5)
的最小值。为此,可以定义如下的Lagrange 函数
1(,,)0.5(,){[]1}n
i i i i L b y b αα==⨯-⋅+-∑W w w W X (6)
其中0i α≥为Lagrange 系数,我们的问题是对w 和b 求Lagrange 函数的极小值。
把式(6)分别对w 和b 求偏微分并令它们等于0,就可以把原问题转化为如下这种较为简单的对偶问题:在约束条件
1
0n
i i
i y
α==∑ (7)
0i α≥,1,i =…,n (8)
之下对i α求解下列函数的最大值: 若i α*为最优解,则
*
*1n
i i i i y α==∑w x (9)
由此可见,最优分类面的权函数向量是训练样本向量的线性组合。 这是一个不等式约束下二次函数极值问题,存在唯一解。且根据Kuhn-Tucker 条件,这个优化问题的解须满足
{[]1}0i i i y b α⋅+-=W X ,1,i =…,n (10)
因此,对多数样本*i α将为零,取值不为零的*i α对应于式子(4)等号成立的样本即支持向量,它们通常只是全体样本的很少一部分。
求解上述问题后得到的最优分类函数式:
*
*
**1()sgn{()}sgn{()}n
i i i i i f b y b α==⋅+=⋅+∑x w x x x (11)
sgn()为符号函数。由于非支持向量对应的i α均为零,因此式中的求和实际
上之对支持向量进行。而b *是分类的阈值,可以由任意一个支持向量用式(4)求得,或通过两类中任意一对支持向量取中值求得。
三、实验要求
编写一个SVM 算法的程序。按下面方式用下表的数据训练一个SVM 分类
器。对每个样本进行预处理得到新的向量:22
121122
[1,,,,,]x x x x x x 。 (1) 只用第一个样本训练分类器并给出超平面及间隔。
(2) 用前2个样本(共4个点)重复(1),给出分类超平面方程、间隔及支持向量。
(3) 用前3个样本(共6个点)重复(2)。然后再用前4个点,……,直到变换后的样本在变换后的空间中不再是线性可分的。
四、评价参数
总体精度(Overall Accuracy)指混淆矩阵主对角线上所有元素之和除以参与计算混淆矩阵计算的所有像元个数所得到的百分数。
使用者精度(User ’s Accuracy)指分类后的土地覆盖类别,对应到地面真实参
考时,真正为该种类别的像元素的百分比,即依据每一种分类,将对角线元素除以该行的列所有元素相加之和,所产生的百分比数。
生产者精度(Producer ’s Accuracy)(也称制图精度)指属于某一真实地面参考资料类别的检验点,有部分检验点被错误分类,而被正确分类的像元数的百分比,即将混淆矩阵中对一种分类,对角元素除以行中所有元素相加的和,所产生的百分比,本实验采用总体精度进行分析。
五、实验结果及分析
初始样本的空间分布图如下:
the scatter of initial data
图1 初始样本的空间分布
由此可见,这两类样本是线性可分的。但是为了进一步研究支持向量机在高维空间的分类效果,本实验将原始数据映射到高维空间,即把数据先进行预处理。
对每个样本进行预处理得到新的向量:22
121122
[1,,,,,]x x x x x x 。当然这样预处理只是为了简单分析SVM 对高维数据的处理状况,并不影响数据的线性可分特性。下
面我们对三种情况进行讨论及研究。
预处理后的样本为: