2022年模式识别实验 .pdf

上传人:Q****o 文档编号:26171085 上传时间:2022-07-16 格式:PDF 页数:8 大小:151.82KB
返回 下载 相关 举报
2022年模式识别实验 .pdf_第1页
第1页 / 共8页
2022年模式识别实验 .pdf_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《2022年模式识别实验 .pdf》由会员分享,可在线阅读,更多相关《2022年模式识别实验 .pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、1 实验三、 SVM用于模式识别一、实验目的1.理解 SVM 的基本原理;2.研究 SVM 的分类效果;3.了解混淆均值的应用 , 熟悉 MATLAB 工具箱。二、实验原理支持向量机在统计学习理论的基础上发展了一种新的机器学习方法。如果仅从分类的角度来说,它是一种广义的线性分类器,它是在线性分类器的基础上,通过引入结构风险最小化原则、最优化理论和核函数演化而成的。该方法根据有限的样本信息在模型的复杂性和学习能力之间寻求最佳折中,以期获得最好的推广能力。而且,只要定义不同的核函数, 就可以实现其它现有的学习算法。因此,支持向量机己经在众多领域取得了成功的应用。1.最优分类面SVM 方法是从线性可

2、分情况下的最优分类面提出的,图1 给出了二维两类线性可分情况的最优分类面示意图。图中实心点和空心点分别表示两类的样本,H为分类线,1H和1H分别为过各类样本中离分类线最近的点且平行于分类线的直线,它们之间的距离叫做分类空隙或分类间隔(margin)。所谓最优分类线就是要求分类线不但能将两类正确分开,而且要使分类间隔最大。 前者是保证经验风险最小 (为 0),分类间隔最大实际上就是使推广性的界中的置信范围最小,从而使真实风险最小。推广到高维,最优分类线就成为最优分类面。图 1 最优分类面示意图设线性可分样本集(,)iiyX,1,i ,n,dxR,1,1y是类别标号。 d维空间中线性判别函数的一般

3、形式为()gbxWX,分类面方程为()0gbxWX(1) 为了描述分类面,使用下面的形式将判别函数进行归一化: ()1gbxWX,若1iy(2) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - 2 ()1gbxWX,若1iy(3) 即使两类所有样本都满足( )1g x离分类面最近的样本的( )1g x,这样分类间隔就等于2w,因此使间隔最大等价于使w(或2w)最小;而要求分类线对所有样本正确分类,就是要求它满足:10iybwx,

4、1,i ,n(4) 因此满足条件式 (3 一 13)且使2w最小的分类面就是最优分类面。过两类样本中离分类面最近的点且平行于最优分类面的超平面1H、2H上的训练样本就是式(4)中使等号成立的那些样本,称之为支持向量(Support Vectors)。因为它们支撑了最优分类面,如图3.4 中用圆圈标出的点所示。根据上面的讨论, 最优分类面问题可以表示成如下的二次规划问题,即在条件(4)的不等式约束下,求函数:2()0.50.5(,)Www w(5)的最小值。为此,可以定义如下的Lagrange函数1(,)0.5(,)1niiiiLbybWw wWX(6)其中0i为 Lagrange系数,我们的问

5、题是对w和 b 求 Lagrange函数的极小值。把式( 6)分别对w和 b 求偏微分并令它们等于0,就可以把原问题转化为如下这种较为简单的对偶问题:在约束条件10niiiy(7) 0i,1,i ,n(8) 之下对i求解下列函数的最大值:若i为最优解,则*1niiiiywx(9) 由此可见,最优分类面的权函数向量是训练样本向量的线性组合。这是一个不等式约束下二次函数极值问题,存在唯一解。且根据 Kuhn-Tucker条件,这个优化问题的解须满足名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - -

6、- 第 2 页,共 8 页 - - - - - - - - - 3 10iiiybWX,1,i ,n(10) 因此,对多数样本*i将为零,取值不为零的*i对应于式子 (4)等号成立的样本即支持向量,它们通常只是全体样本的很少一部分。求解上述问题后得到的最优分类函数式:*1()sgn()sgn()niiiiifbybxwxxx(11) sgn()为符号函数。由于非支持向量对应的i均为零,因此式中的求和实际上之对支持向量进行。而b*是分类的阈值,可以由任意一个支持向量用式(4)求得,或通过两类中任意一对支持向量取中值求得。三、实验要求编写一个 SVM 算法的程序。按下面方式用下表的数据训练一个SV

7、M 分类器。对每个样本进行预处理得到新的向量:221211221,xxxx xx。(1)只用第一个样本训练分类器并给出超平面及间隔。(2) 用前 2 个样本(共 4 个点)重复( 1) ,给出分类超平面方程、间隔及支持向量。(3) 用前 3 个样本(共 6 个点)重复( 2) 。然后再用前 4 个点, ,直到变换后的样本在变换后的空间中不再是线性可分的。表 3 用于 SVM 分类实验的数据(X1、X2 是两个特征 ) 样本第一类第二类X1 X2 X1 X2 1 -3.0 -2.9 -2.0 -8.4 2 0.5 8.7 -8.9 0.2 3 2.9 2.1 -4.2 -7.7 4 -0.1 5

8、.2 -8.5 -3.2 5 -4.0 2.2 -6.7 -4.0 6 -1.3 3.7 -0.5 -9.2 7 -3.4 6.2 -5.3 -6.7 8 -4.1 3.4 -8.7 -6.4 9 -5.1 1.6 -7.1 -9.7 10 1.9 5.1 -8.0 -6.3 四、评价参数总体精度 (Overall Accuracy)指混淆矩阵主对角线上所有元素之和除以参与计算混淆矩阵计算的所有像元个数所得到的百分数。使用者精度 (Users Accuracy)指分类后的土地覆盖类别, 对应到地面真实参名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - -

9、 - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - 4 考时,真正为该种类别的像元素的百分比,即依据每一种分类, 将对角线元素除以该行的列所有元素相加之和,所产生的百分比数。生产者精度 (Producer s Accuracy)(也称制图精度 )指属于某一真实地面参考资料类别的检验点, 有部分检验点被错误分类, 而被正确分类的像元数的百分比,即将混淆矩阵中对一种分类, 对角元素除以行中所有元素相加的和,所产生的百分比,本实验采用总体精度进行分析。五、实验结果及分析初始样本的空间分布图如下:-10-8-6-4-2024-10

10、-8-6-4-20246810the scatter of initial data图 1 初始样本的空间分布由此可见,这两类样本是线性可分的。 但是为了进一步研究支持向量机在高维空间的分类效果, 本实验将原始数据映射到高维空间, 即把数据先进行预处理。对每个样本进行预处理得到新的向量:221211221,xxxx xx。当然这样预处理只是为了简单分析 SVM 对高维数据的处理状况,并不影响数据的线性可分特性。下面我们对三种情况进行讨论及研究。预处理后的样本为:表 2 第一组样本映射后的结果样本特征 1 特征 2 特征 3 特征 4 特征 5 特征 6 1 1 -3 -2.9 9 8.7 8.

11、41 2 1 0.5 8.7 0.25 4.35 75.69 3 1 2.9 2.1 8.41 6.09 4.41 4 1 -0.1 5.2 0.01 -0.52 27.04 5 1 -4 2.2 16 -8.8 4.84 6 1 -1.3 3.7 1.69 -4.81 13.69 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 8 页 - - - - - - - - - 5 7 1 -3.4 6.2 11.56 -21.08 38.44 8 1 -4.1 3.4 16.

12、81 -13.94 11.56 9 1 -5.1 1.6 26.01 -8.16 2.56 10 1 1.9 5.1 3.61 9.69 26.01 采用这种映射方式, 可使本来线性不可分的数据在新的特征空间变为线性可分,当然这数据自身已经线性可分了,在原始的特征空间中本身就线性可分,所以有点多此一举,不过也让我们熟悉广义线性判别函数方式。表 2 第二组样本映射后的结果样本特征 1 特征 2 特征 3 特征 4 特征 5 特征 6 1 1 -2 -8.4 4 16.8 70.56 2 1 -8.9 0.2 79.21 -1.78 0.04 3 1 -4.2 -7.7 17.64 32.34 5

13、9.29 4 1 -8.5 -3.2 72.25 27.2 10.24 5 1 -6.7 -4 44.89 26.8 16 6 1 -0.5 -9.2 0.25 4.6 84.64 7 1 -5.3 -6.7 28.09 35.51 44.89 8 1 -8.7 -6.4 75.69 55.68 40.96 9 1 -7.1 -9.7 50.41 68.87 94.09 10 1 -8 -6.3 64 50.4 39.69 分类超片面方程为22012345121122, 1,TYdxxxx xxdW Xwwwwww(12) 因此,以下实验给出权重w 和截距 d,通过 (12)式可以获取超片面。

14、1、实验一,仅采用这两类中的第一个样本作为训练样本,然后求取超片面和间隔。在此过程,我们采用每类的第一个样本作为训练样本,其余的18 个样本作为测试样本,对训练结果进一步验证。表 4 混淆矩阵第一类(真实)第二类(真实)第一类(结果)8 3 第二类(结果)1 6 表 4 为实验结果,其中总体分类精度为77.78% 每 个 特 征 的 权 重 矢 量 为w=0.0000 0.0005 -0.0028 -0.0025 0.0041 0.0312;偏差 b=-1.2816;间隔为 1.9922*1000;拉格朗日系数为 5.109,5.109*0.0001;支持向量为训练样本本身。名师资料总结 -

15、- -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 8 页 - - - - - - - - - 6 2、实验二,采用每类中的前两个样本作为训练样本,然后求取超平面和间隔。在此过程,我们采用每类的第一个样本作为训练样本,其余的16 个样本作为测试样本,对训练结果进一步验证。每个特征的权重矢量为w=0.0000 -0.0121 -0.0739 0.0414 0.0534 0.0222;偏差 b= -2.2743;间隔为 187.5741;拉格朗日系数为 0.0012 0.0042 0.0049 0

16、.0004;支持向量为训练样本本身。分类的总体精度为100% 表 5 混淆矩阵第一类(真实)第二类(真实)第一类(结果)8 0 第二类(结果)0 8 3、实验三,采用每类中的前三个样本作为训练样本,然后求取超平面和间隔。每个特征的权重矢量为w=0.0000 -0.0121 -0.0739 0.0414 0.0534 0.0222;偏差 b= -2.2743;间隔为 187.5741;拉格朗日系数为 0.0012 0.0042 0.0049 0.0004;第一类的支持向量为前两个训练样本,第二类的支持向量也是前两个训练样本。即表 2 的前两行和表 3 的前两行样本。分类的总体精度为100% 表

17、6 混淆矩阵第一类(真实)第二类(真实)第一类(结果)7 0 第二类(结果)0 7 4、实验四,采用每类中的前三个样本作为训练样本,然后求取超平面和间隔。每个特征的权重矢量为w=0.0000 -0.0121 -0.0739 0.0414 0.0534 0.0222;偏差 b= -2.2743;间隔为 187.5741;拉格朗日系数为 0.0012 0.0042 0.0049 0.0004;第一类的支持向量仍为前两个训练样本,第二类的支持向量也是前两个训练名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - -

18、 - - - 第 6 页,共 8 页 - - - - - - - - - 7 样本。即表 2 的前两行和表 3 的前两行样本。分类的总体精度为100% 表 7 混淆矩阵第一类(真实)第二类(真实)第一类(结果)6 0 第二类(结果)0 6 当采用前五个样本作为训练样本时,实验结果和实验二也一致。 直至到采用前六个样本时,支持向量的数目为3。测试样本的识别率仍为100%。六、实验程序clear allclose allclcx1(:,1)=-3,0.5,2.9,-0.1,-4,-1.3,-3.4,-4.1,-5.1,1.9;x1(:,2)=-2.9,8.7,2.1,5.2,2.2,3.7,6.2

19、,3.4,1.6,5.1;x2(:,1)=-2,-8.9,-4.2,-8.5,-6.7,-0.5,-5.3,-8.7,-7.1,-8;x2(:,2)=-8.4,0.2,-7.7,-3.2,-4,-9.2,-6.7,-6.4,-9.7,-6.3;sampleji.firstsort(1:2,:)=x1;sampleji.secondsort(1:2,:)=x2;% sampleji=load(E: sampleji.mat); % sampleji is a struct that contains two sample datas(firstsort and% secondsort). For

20、 example,firstsort is a 2*10 matrixscatter(sampleji.firstsort(1,:),sampleji.firstsort(2,:),b);%imshow the initial datahold onscatter(sampleji.secondsort(1,:),sampleji.secondsort(2,:),r);hold offtitle(the scatter of initial data)%mapmapfirst(:,1)=ones(10,1);mapsecond(:,1)=ones(10,1);%have 10 samples

21、in each classmapfirst(:,2)=sampleji.firstsort(1,:);mapsecond(:,2)=sampleji.secondsort(1,:);mapfirst(:,3)=sampleji.firstsort(2,:);mapsecond(:,3)=sampleji.secondsort(2,:);mapfirst(:,4)=(sampleji.firstsort(1,:).2);mapsecond(:,4)=(sampleji.secondsort(1,:).2);mapfirst(:,5)=(sampleji.firstsort(1,:).*sampl

22、eji.firstsort(2,:);mapsecond(:,5)=(sampleji.secondsort(1,:).*sampleji.secondsort(2,:);名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 8 页 - - - - - - - - - 8 mapfirst(:,6)=(sampleji.firstsort(2,:).2);mapsecond(:,6)=(sampleji.secondsort(2,:).2);%the train sample

23、number is NN=2;train_sample=mapfirst(1:N,:);mapsecond(1:N,:);nx,ny=size(train_sample);y=ones(nx/2,1);-1*ones(nx/2,1);my_struct=svmtrain(train_sample,y);%the text sampletext_sample=mapfirst(N+1,:);mapsecond(N+1,:);class=svmclassify(my_struct,text_sample);%5alpha=abs(my_struct.Alpha);% Lagragian multi

24、plier%my_Struct.Alpha is that alpha multiply with the label of suppervectorw=diag(alpha)*my_struct.SupportVectors;w=sum(w);% weight vector of optimal hyperplanemargin=2/(w*w);% margin between two classes名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 8 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁