版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、发现利用Fisher准则函数计算最佳投影方向的公式好像很简单, 就写这个 吧!这个Fisher法就是将高维空间中的样本投影到一维空间中,以降低复杂 度。具体可以参见边肇祺、张学工著,清华大学出版社的模式识别(第二版) P87。用这种方法时使用到了几个概念:样本向量:样本向量是列向量,样本是d维空间中的点,因此它的位置可 以用一个d维列向量表示;各类样本均值向量:一类中所有样本向量的均值,也是d维列向量;样本类内离散度矩阵:x为样本向量,m为C类的均值向量,S为C类的类内离散度矩阵总类内离散度矩阵:S=S1 +3 ; 利用Lagrange乘子法可以求出使Fisher准则函数取极大值的向量:这个向
2、量指出了相对于Fisher准则函数最好的投影线方向虽然推导出这个结果,破费了些周折,但是结果的形式还是相对比较简单 的,所以用Matlab程序实现它应该不麻烦。最终的这个向量仅与总类内离散度矩阵和各类的均值向量有关,我们可以对类内离散度矩阵的表达式变一下形,使程序更容易写:这样的变形也许在数学上的意义不大,但是可以简化程序,使得类内离散度矩阵仅用一次矩阵乘法就可完成。以下程序在Matlab7.0.1下编写。在编写求解最佳投影线方向的代码之前,先得编写生成样本的函数,如下(为这个函数取名困扰了我很久,最后查字典得知样本是swatch,所以这个函数命名为 createSwatch):fun cti
3、 on swatch=createSwatch(xmi n,xmax,ymi n,ymax, nu m,varargi n) xle n=abs(xmax-xm in);yle n=abs(ymax-y min);if numel(varargin)>0 && isa(varargin1,'function_handle')f=varargi n1;elsef=rand;endswatch=xle n*f(1, nu m)+mi n(xmax,xmi n);.yle n*f(1, nu m)+mi n(ymax,ymi n);这次的实验是针对2D空间的样本
4、,所以这个createSwatch函数用来产生 2D空间的样本点。前四个参数 xmin,xmax,ymin,ymax用来设定样本的横纵坐标 的范围,第五个参数num用来指定产生的样本的个数,最后有一个可选的参数, 用来传入一个函数句柄,用来自定义样本的分布率,默认使用rand,均匀分布。最后生成的num个样本以矩阵的形式返回,矩阵的一列代表一个样本,矩 阵的第一行代表样本的横坐标,第二行代表样本的纵坐标。然后是计算最佳投影线方向的函数:fun ctio n w=JF(c1,c2)%用Fisher准则函数确定最佳投影方向%c1和c2分别为两类样本的样本矩阵% 寻到样本矩阵的尺寸信息%样本矩阵的行
5、数代表样本的维数%样本矩阵的列数代表样本的个数size1=size(c1);size2=size(c2); %计算两类样本的均值向量 m1=sum(c1,2)/size1(2); m2=sum(c2,2)/size2(2); %样本向量减去均值向量 c1=c1-m1(:,ones(1,size1(2); c2=c2-m2(:,ones(1,size2(2); %计算各类的类内离散度矩阵S1=c1*c1.'S2=c2*c2.'%计算总类内离散度矩阵Sw=S1+S2;%计算最佳投影方向向量w=SwA-1*(m1-m2);%将向量长度变成 1w=w/sqrt(sum(w.A2);这个
6、函数有两个参数cl , c2,分别是两个类别的样本矩阵; 返回值w是一个2维单位列向量,用来指出最佳投影线的方向 最后编写一个测试用的脚本:clear all;%定义两类样本的空间范围x1min=2;x1max=6;y1min=-4,y1max=0;x2min=6,x2max=10;y2min=2,y2max=6;泸生两类2D空间的样本c1=createSwatch(x1min,x1max,y1min,y1max,100); c2=createSwatch(x2min,x2max,y2min,y2max,80);%获取最佳投影方向w=JF(c1,c2);%计算将样本投影到最佳方向上以后的新坐标
7、cm1=c1(1,:)*w(1)+c1(2,:)*w(2);cm2=c2(1,:)*w(1)+c2(2,:)*w(2);cc1=w(1)*cm1;w(2)*cm1;cc2=w(1)*cm2;w(2)*cm2;%打开图形窗口figure;%绘制多图hold on;%绘制第一类的样本plot(c1(1,:),c1(2,:),'rp');%绘制第二类的样本plot(c2(1,:),c2(2,:),'bp');%绘制第一类样本投影到最佳方向上的点plot(cc1(1,:),cc1(2,:),'r+');%绘制第二类样本投影到最佳方向上的点plot(cc2(1,:),cc2(2,:),'b+');w=10*w;%画出最佳方向line(-w(1),w(1),-w(2),w(2),'color' ,'k');axis(-10,10,-10,10);grid on; hold off;广告:想在自己的空间中贴上上过色的Matlab代码吗?在将m文件转化为html文件里可以找到将m代码转换成html的Python程序通过更改脚本中定义的x1mi n, x1max,y1mi n, y1max,x2m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 贵州大学《机械制图(二)》2023-2024学年第一学期期末试卷
- 贵阳学院《自动控制原理C》2023-2024学年第一学期期末试卷
- 2025黑龙江省安全员-B证考试题库附答案
- 2025年上海建筑安全员考试题库附答案
- 硅湖职业技术学院《广播电视深度报道实务》2023-2024学年第一学期期末试卷
- 2025湖南建筑安全员B证考试题库附答案
- 2025重庆市建筑安全员-B证(项目经理)考试题库
- 广州幼儿师范高等专科学校《建筑、结构识图》2023-2024学年第一学期期末试卷
- 广州新华学院《数字化模具设计》2023-2024学年第一学期期末试卷
- 2025重庆市安全员考试题库
- 潍柴天然气发动机结构及工作原理
- 国家开放大学《理工英语2》形考任务1-8参考答案
- 建筑公司证书津贴支付管理办法
- 招标代理机构选取技术标投标方案(技术方案)
- 2024年电大劳动与社会保障法期末考试题库及答案
- 经桡动脉全脑血管造影术围手术期护理
- 人教版九年级数学上册21.1《一元二次方程》教学设计
- 从古至今话廉洁-大学生廉洁素养教育智慧树知到期末考试答案章节答案2024年吉林大学
- 高中英语外刊-小猫钓鱼50篇
- 开展医院安全应急演练工作计划三篇
- 宜宾市叙州区2021-2022学年七年级上学期期末数学试题
评论
0/150
提交评论