版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
模式识别大作业--fisher线性判别和近邻法学号:021151**姓名:**任课教师:张**I.Fisher线性判别A.fisher线性判别简述在应用统计方法解决模式识别的问题时,一再碰到的问题之一是维数问题.在低维空间里解析上或计算上行得通的方法,在高维里往往行不通.因此,降低维数就成为处理实际问题的关键.我们考虑把维空间的样本投影到一条直线上,形成一维空间,即把维数压缩到一维.这样,必须找一个最好的,易于区分的投影线.这个投影变换就是我们求解的解向量.B.fisher线性判别的降维和判别1.线性投影与Fisher准那么函数各类在维特征空间里的样本均值向量:,(1)通过变换映射到一维特征空间后,各类的平均值为:,(2)映射后,各类样本“类内离散度”定义为:,(3)显然,我们希望在映射之后,两类的平均值之间的距离越大越好,而各类的样本类内离散度越小越好。因此,定义Fisher准那么函数:(4)使最大的解就是最正确解向量,也就是Fisher的线性判别式。2.求解从的表达式可知,它并非的显函数,必须进一步变换。:,,依次代入上两式,有:,(5)所以:(6)其中:(7)是原维特征空间里的样本类内离散度矩阵,表示两类均值向量之间的离散度大小,因此,越大越容易区分。将(4.5-6)和(4.5-2)代入(4.5-4)式中:(8)其中:,(9)因此:(10)显然:(11)称为原维特征空间里,样本“类内离散度”矩阵。是样本“类内总离散度”矩阵。为了便于分类,显然越小越好,也就是越小越好。将上述的所有推导结果代入表达式:可以得到:其中,是一个比例因子,不影响的方向,可以删除,从而得到最后解:(12)就使取得最大值,可使样本由维空间向一维空间映射,其投影方向最好。是一个Fisher线性判断式.这个向量指出了相对于Fisher准那么函数最好的投影线方向。C.算法流程图左图为算法的流程设计图。II.近邻法近邻法线简述K最近邻(k-NearestNeighbor,KNN)分类算法,是一个理论上比拟成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,那么该样本也属于这个类别。KNN算法中,所选择的邻居都是已经正确分类的对象。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。KNN方法虽然从原理上也依赖于极限定理,但在类别决策时,只与极少量的相邻样本有关。由于KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适合。将与测试样本最近邻样本的类别作为决策的结果。对一个类别问题,每类有个样本,,那么第类的判别函数为:(1)因此,最近邻决策规那么:假设(2)那么决策III.实验仿真实验设计:实验内容对以下数据进行判别。在每一类里面随机选一半作为训练样本,另一半作为测试样本。来判别属于第一类的是否都正确,属于第二类中是否都属于第二类。文件名类别数维数样本数Sonar.xls260208Wdbc.data230569用fisher判别法和对这两组数据进行判别。B.代码设计1.fisher判别%%clc,clear;M=xlsread('E:\power\专业课程\大作业们\sonar.xls');%读取数据sum1=0;sum2=0;foriii=1:10[aa,bb]=size(M);num1=1;num2=1;forn=1:aaifM(n,bb)==1Data1(num1,:)=(M(n,1:bb-1));num1=num1+1;elseData2(num2,:)=(M(n,1:bb-1));num2=num2+1;endendd1=Data1(randsample([1:num1-1],floor(num1/2)),:);d2=Data2(randsample([1:num2-1],floor(num2/2)),:);m1=mean(d1);m2=mean(d2);S1=zeros(bb-1,bb-1);forii=1:floor(num1/2)S1=S1+(d1(ii,:)-m1)'*(d1(ii,:)-m1);endS2=zeros(bb-1,bb-1);forii=1:floor(num2/2)S2=S2+(d2(ii,:)-m2)'*(d2(ii,:)-m2);endSw=S1+S2;w=inv(Sw)*(m1-m2)';forii=1:floor(num1/2)dd1(ii)=w'*d1(ii,:)';endforii=1:floor(num2/2)dd2(ii)=w'*d2(ii,:)';endmm1=mean(dd1')';mm2=mean(dd2')';yo=(mm1+mm2)/2;forii=1:208y=w'*M(ii,1:bb-1)';if(y>=yo)result(ii)=1;elseify<yoresult(ii)=2;%else%result(ii)=4;endenderr=M(:,61)-result';err1=err(1:num1-1);err2=err(num1:aa);ErrRate1=sum(abs(err1))/(num1-1);sum1=sum1+ErrRate1;ErrRate2=sum(abs(err2))/(num2-1);sum2=sum2+ErrRate2;endcorrectrate1=1-sum1/10correctrate2=1-sum2/10figure(1)holdonplot(dd1,'^');plot(dd2,'*')figure(2)holdonplot(d1,'^');plot(d2,'*')近邻法%对wdbc数据求解clc;clear;M=csvread('E:\power\专业课程\大作业们\wdbc.csv');[aa,bb]=size(M);%求行数(aa),求列数(bb)sum1=0;sum2=0;foriii=1:10num1=1;num2=1;forn=1:aaifM(n,1)==1Data1(num1,:)=M(n,2:bb);%按行抽取数据num1=num1+1;elseData2(num2,:)=M(n,2:bb);%抽取数据num2=num2+1;endendvector1=randsample([1:num1-1],floor(num1/2));vector2=randsample([1:num2-1],floor(num2/2));d1=Data1(vector1,:);%取一半的数据d2=Data2(vector2,:);forii=1:aamin1=inf;%初始化min1为最小值forjj=1:floor(num1/2)x=norm(M(ii,2:bb)-d1(jj,:));if(x<min1)min1=x;endend%训练样本和第一组样本比拟min2=inf;forjj=1:floor(num2/2)x=norm(M(ii,2:bb)-d2(jj,:));if(x<min2)min2=x;endend%训练样本和第二组样本比拟%找出最短欧氏距离ifmin1<min2result(ii,1)=1;elseresult(ii,1)=2;endendcounter1=0;counter2=0;forii=1:aaifM(ii,1)-result(ii,1)==-1counter1=counter1+1;elseifM(ii,1)-result(ii,1)==1counter2=counter2+1;endendcorrectrate1=1-abs(counter1)/aa;%第一类错分到第二类(第一类被判别为第一类)correctrate2=1-counter2/aa;%第二类错分到第一类(第二类被判别为第二类)correctrate1sum1=correctrate1+sum1;sum2=correctrate2+sum2;endcorrectrate1=sum1/10correctrate2=sum2/10C.实验结果及分析1〕sonar数据fisher判别图1,sonar数据的fisher判别识别率分析:随机在第一类里面选取一半的数据作为训练样本,然后与全部的数据进行作差比拟,看剩下的原本属于第一类的样本是否也属于第一类,假设测试样本仍然属于第一类,就计数得到正确率;假设不为第一类,那么计数得到错误率。在sonar样本中,用fisher判别得到的上组数据的识别率如上图。识别率的上下意味着原本分类的正确程度。这就说明原本这两类数据的给出已经分的较开。图2,sonar数据fisher判别的降维分类图上图是sonar六十维度的数据经过降维得到的二维图像,可以很明显的看出,在第二类里面有一个‘*’被错分。而w*也可以清晰的看出他的大致范围。我不太会把他们投影到一条一线上,像网上得到的那种图,但是用这个图也可以清晰的看出他的划分程度。近邻法图3,sonar数据的近邻法识别率分析:近邻法同样是在两类里面选取一半的数据作为实验样本,另一半作为测试样本,过程是用测试的样本与第一类里的实验样本和第二类里的实验样本分别做欧氏距离。假设用第一类的测试样本中的一个数据做测试,假设与第一类中得到的欧式距离最近那么划分为第一类,同时也证明了原来划分是正确的;假设与第二类中的得到的欧式距离最近那么划分为第二类,计数它为错误的划分。近邻法得到的识别率比fisher得到的识别率高,这也说明了近邻法比fisher更优。2.wdbc数据1〕fisher判别图4,wdbc数据的fisher判别识别率Wdbc是30维度的数据测试结果如上图。得到的识别率相对较高。图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO 19045-2:2024 EN Ophthalmic optics - Contact lens care products - Part 2: Method for evaluating disinfecting efficacy by contact lens care products using trophozoites of
- GB 4407.2-2024经济作物种子第2部分:油料类
- 总经理聘用协议+合同范本
- 2024版物联网技术研究与应用开发合同
- 全新委托进口代理合同模板下载
- 质损车销售协议完整
- 物理化学教学课件:12-06
- 二零二四年度跨境电商合作运营合同2篇
- 品质保证协议书
- 铝合金门窗产业链合作协议2024
- 直肠癌MDT教学讲解课件
- 挖掘机安全操作规程
- 注意力训练教案
- 2023年北京市公务员考试《行测》真题【完整+答案+解析】
- 人教版小学数学三年级上册全册课件(第八单元全部)
- 学宪法《法律伴我成长》
- 临床科室年终总结(三篇)
- 多重耐药菌病例分析
- 变压器教学设计
- 国军淞沪会战
- GB/T 12688.8-2011工业用苯乙烯试验方法第8部分:阻聚剂(对-叔丁基邻苯二酚)含量的测定分光光度法
评论
0/150
提交评论