fisher算法及其matlab实现.doc_第1页
fisher算法及其matlab实现.doc_第2页
fisher算法及其matlab实现.doc_第3页
fisher算法及其matlab实现.doc_第4页
fisher算法及其matlab实现.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Fisher判别法讲解以及matlab代码实现 两类的线形判别问题可以看作是把所有样本都投影到一个方向上,然后在这个一维空间中确定一个分类的阈值。过这个预置点且与投影方向垂直的超平面就是两类的分类面。第一个问题,如何确定投影方向?这里只讨论两类分类的问题.训练样本集是X=x1,x2.xn,每个样本是一个d维向量,其中第一类w1=,.,第二类w2=,.。我们要寻求一个投影方向w(w也是一个d维向量),投影以后样本变成:=(y是一个标量),i=1.n在原样本空间中,类均值为: i=1,2(一共两类的均值)(ps.是一个d*1的矩阵,假设每个维度是一个变量值,mi中的每一维度就是这些变量值的均值,如下图所示: 图1特别注明:有些例子给的矩阵是这样的: 图2这里的单个样本是1*d的矩阵,要注意计算的时候将其转置,不然套用fisher算法公式的时候就会发现最后得到的矩阵维数不对。定义各类类内的离散度矩阵为:(类内离散度矩阵其实就是类协方差矩阵,类在多于一个样本,且样本维度1时是一个矩阵)(因为,是一个d*1的矩阵,也可称作d维向量,也是一个d*1的矩阵,所以最后得到的一定是一个d*d的矩阵)(在用matlab计算的时候直接用cov(wi)即可得到想要的协方差矩阵,故直接计算不探究细节时图2可直接cov算协方差,不用根据公式转置来转置去,不过matlab中算的协方差被缩小了(n1-1)倍,计算时=cov(w1)*(n1-1)总的类内离散度矩阵:类间离散度矩阵定义为:在投影以后的一维空间里,两类的均值分别是; i=1,2故类内离散度不再是一个矩阵,而是一个值 i=1,2总类内离散度为:类间离散度:要使得需求的方向投影能在投影后两类能尽可能的分开,而各类内部又尽可能的聚集,可表示成如下准则,即fisher准则:将公式代入并通过拉格朗日求极值的方法,可得投影方向:(w是一个d*1的矩阵,或者说亦是一个d维向量)阈值可表示为:最后将待确定样本代入判断的符号和哪个类相同,确定其属于哪个类别。例子(注意表格中所给的样本维度和公式中变量维度的问题)代码已经运行无误代码:%读取excel中特定单元格的数据w12=xlsread(E:模式识别理论学习胃病分类问题.xls,C2:F16);%分别选取类1和类2、测试样本的数据w1=w12(1:5,:);w2=w12(6:12,:);sample=w12(13:15,:);%计算类1和类2的样本数r1=size(w1,1);r2=size(w2,1);r3=size(sample,1);%计算类1和类2的均值(矩阵)m1=mean(w1);m2=mean(w2);%各类类内离散度矩阵(协方差矩阵)s1=cov(w1)*(r1-1);s2=cov(w2)*(r2-1);%总类内离散度矩阵sw=s1+s2;%投影向量的计算公式w=inv(sw)*(m1-m2);%计算投影后的一位空间内,各类的均值y1=w*m1;y2=w*m2;%计算阈值w0=-1/2*(y1+y2);%和类相同符号被归为同类for i=1:r3 y(i)=sample(i,:)*w+w0; if y(i)*(w*w1(1,:)+w0)0 y(i)=1; else y(i)=2; endEnd判断得出第一个待测样本属于类1,第二,三个待测样本属于类2如果想进一步知道样本矩阵是如何转置得到最后结果的,可看下面这个例子,这个例子没有用到matlab内置的cov协方差函数(用cov可以直接用样本数据直接进行矩阵运算,不用转置成样本维度向量),所以要进行转置后代入fisher准则公式求解.x=xlsread(E:模式识别理论学习污染水域问题.xls,C3:F14);x1=x(1:5,:);x2=x(6:10,:);sample=x(11:12,:);m1=zeros(size(x1,1),1);% 求类内离散度矩阵m1=mean(x1,2)m2=mean(x2,2)% 求类内离散度矩阵s1=zeros(size(x1,1),size(x1,1);for i=1:size(x1,2)s1=s1+(x1(:,i)-m1)*(x1(:,i)-m1);ends2=zeros(size(x2,1),size(x2,1);for i=1:size(x2,2)s2=s2+(x2(:,i)-m2)*(x2(:,i)-m2);endsw=s1+s2;w=inv(sw)*(m1-m2);y1=w*m1;y2=w*m2;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论