feisher线性判别分类器的设计实验报告

上传人:豆浆 文档编号:37529692 上传时间:2018-04-17 格式:DOC 页数:5 大小:90.50KB
返回 下载 相关 举报
feisher线性判别分类器的设计实验报告_第1页
第1页 / 共5页
feisher线性判别分类器的设计实验报告_第2页
第2页 / 共5页
feisher线性判别分类器的设计实验报告_第3页
第3页 / 共5页
feisher线性判别分类器的设计实验报告_第4页
第4页 / 共5页
feisher线性判别分类器的设计实验报告_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《feisher线性判别分类器的设计实验报告》由会员分享,可在线阅读,更多相关《feisher线性判别分类器的设计实验报告(5页珍藏版)》请在金锄头文库上搜索。

1、实验二实验二 Fisher 线性判别实验线性判别实验一、实验目的一、实验目的应用统计方法解决模式识别问题的困难之一是维数问题, 低维特征空间的分类问题一 般比高维空间分类问题简单。 因此, 人们力图将特征空间进行降维, 降维的一个基本思 路是将 d 维特征空间投影到一条直线上, 形成一维空间, 这在数学上比较容易实现。 问题的关键是投影之后原来线性可分的样本可能变为线性不可分。 一般对于线性可分的样 本, 总能找到一个投影方向, 使得降维后样本仍然线性可分。 如何确定投影方向使得降 维以后, 样本不但线性可分, 而且可分性更好(即不同类别的样本之间的距离尽可能远, 同一类别的样本尽可能集中分布

2、) ,就是 Fisher 线性判别所要解决的问题。 本实验通过编制程序让初学者能够体会 Fisher 线性判别的基本思路,理解线性判别 的基本思想,掌握 Fisher 线性判别问题的实质。 二、实验原理二、实验原理Fisher 线性判别分类器(Fisher Linear Discriminant Analysis,FLDA),此方法 的基本思想是在 Fisher 准则下,先求解最佳鉴别矢量,然后将高维的样本投影到最佳鉴别 矢量张成的空间,使投影后的样本在低维空间有最大类间距离和最小类内距离,这样在低 维空间中样本将有最佳的可分性,分类是一项非常基本和重要的任务,并有着极其广泛的 应用。分类是利

3、用预定的已分类数据集构造出一个分类函数或分类模型(也称作分类器), 并利用该模型把未分类数据映射到某一给定类别中的过程。分类器的构造方法很多,主要 包括规则归纳、决策树、贝叶斯、神经网络、粗糙集、以及支持向量机(SVM)等方法。其中 贝叶斯分类方法建立在贝叶斯统计学v1 和贝叶斯网络s1 基础上,能够有效地处理不完整 数据,并且具有模型可解释、精度高等优点,而被认为是最优分类模型之一9。尤其是最 早的朴素贝叶斯分类器l0l 虽然结构简单,但在很多情况下却具有相当高的分类精度,可 以达到甚至超过其它成熟算法如 c4.5l的分类精度,而且对噪声数据具有很强的抗干 扰能力。因此,对贝叶斯分类算法的深

4、入研究,无论对其理论的发展,还是在实际中的应 用,都具有很重要的意义。三、实验说明及要求三、实验说明及要求1.Fisher 准则函数为:2 22 12)21()(SSmmwJF2各类样本均值向量im=,i=1,2imxN13样本类内离散矩阵和总类内离散矩阵iSwS2 , 1,)( )(imxmxST i xiii21SSSw. 4样本类间离散矩阵bS=bSTmmmm)(2121三、实验过程及结果三、实验过程及结果1、 给出样本及确定类别 m1 和 m2 第一类样本放在 m1 中,第二类样本放在 m2 中。 2、 编程产生样本的协方差矩阵、平均值、总协方差,用 Fisher 线性判别方法对三维数

5、 据求最优方向 W 的通用函数。 求取数据分类的 Fisher 投影方向的程序如下:其中 w 为投影方向,总类内散度 Sw,均值是 u1,u2。 clear clc . w=inv(Sw)*(u1-u2); 3、 对下面表 1-1 样本数据中的类别 m1 和 m2 计算最优方向 W。 4、 画出最优方向 W 的直线,并标记出投影后的点在直线上的位置。表 1-1 Fisher 线性判别实验数据类别m1m2样本X1X2X3X1X2X31-0.40.580.0890.831.6-0.0142-0.310.27-0.041.11.60.483-0.380.055-0.035-0.44-0.410.32

6、4-0.150.530.0110.047-0.451.45-0.350.470.0340.280.353.160.170.690.1-0.39-0.480.117-0.0110.55-0.180.34-0.0790.145、 画出投影前的两类样本点和投影线。 a)figure(1) b)plot3(x1,y1,z1,r*,x2,y2,z2,b*); 6、画出投影后的两类样本点和投影线。 c)figure(2) d)x=-1:0.1:1; e)y=w(2,1)/w(1,1)*x; f)z=w(3,1)/w(1,1)*x; g)plot3(x,y,z); hold on 7、选择决策边界,实现新样

7、本 xx1=(-0.7,0.58,0.089 ) ,xx2= (0.047,- 0.4,1.04)的分类编程判断 xx1 和 xx2 分别属于哪一类?8、程序运行结果如图 1-1 和图 1-2 所示。 图 1-1试验程序试验程序(matlab(matlab 版版) ):clearclearclcclccloseclose all;all;%m1,m2%m1,m2 均为均为 1010 个样本个样本% % m1=-0.4,0.58,0.089;-0.31,0.27,-0.04;0.38,0.055,-0.035;-0.15,0.53,0.011;-m1=-0.4,0.58,0.089;-0.31,

8、0.27,-0.04;0.38,0.055,-0.035;-0.15,0.53,0.011;-0.35,0.47,0.034;0.17,0.69,0.1;-0.011,0.55,-0.18;0.35,0.47,0.034;0.17,0.69,0.1;-0.011,0.55,-0.18;% % m2=0.83,1.6,-0.014;1.1,1.6,0.48;-0.44,-0.41,0.32;0.047,-0.45,1.4;0.28,0.35,3.1;-0.39,-m2=0.83,1.6,-0.014;1.1,1.6,0.48;-0.44,-0.41,0.32;0.047,-0.45,1.4;0.

9、28,0.35,3.1;-0.39,-0.48,0.11;0.34,-0.079,0.14;0.48,0.11;0.34,-0.079,0.14;% % a)a) 对类别对类别 m1,m2,m1,m2,利用利用 fisherfisher 原则计算投影方向原则计算投影方向 w wm1=0m1=0 0 0 0;0; 1 1 0 0 0;0; 1 1 0 0 2;2; 1 1 1 1 0;0; 0.50.5 0 0 0.5;10.5;1 0.50.5 0;10;1 0 0 0.5;0.5;m2=0m2=0 0 0 1;1; 0 0 1 1 0;0; 0 0 1 1 1;1; 1 1 2 2 1;01

10、;0 0.50.5 1;01;0 1 1 0.5;0.5; 0.50.5 1 1 2;2;u1=mean(m1);%u1=mean(m1);%求均值求均值u2=mean(m2);u2=mean(m2);% %计算类内散度计算类内散度 SiSi 和总类内散度和总类内散度 SwSw% % S1=(m1(1,:)-u1)*(m1(1,:)-u1)S1=(m1(1,:)-u1)*(m1(1,:)-u1)% % S2=(m2(1,:)-u2)*(m2(1,:)-u2)S2=(m2(1,:)-u2)*(m2(1,:)-u2)% % forfor i=2:7i=2:7% % S1=S1+(m1(i,:)-u

11、1)*(m1(i,:)-u1);S1=S1+(m1(i,:)-u1)*(m1(i,:)-u1);% % S2=S2+(m2(i,:)-u2)*(m2(i,:)-u2);S2=S2+(m2(i,:)-u2)*(m2(i,:)-u2);% % endendOne1=ones(7,1);One1=ones(7,1);One2=ones(7,1);One2=ones(7,1);S1=(m1-One1*u1)*(m1-One1*u1);S1=(m1-One1*u1)*(m1-One1*u1);S2=(m2-One2*u2)*(m2-One2*u2);S2=(m2-One2*u2)*(m2-One2*u2

12、);Sw=S1+S2;Sw=S1+S2;% %变换向量变换向量w=inv(Sw)*(u1-u2);w=inv(Sw)*(u1-u2);%b)%b) 画出投影前的两类样本点和投影线画出投影前的两类样本点和投影线.(.(即特征向量:各类方差即特征向量:各类方差) )x1=m1(1:7,1);y1=m1(1:7,2);z1=m1(1:7,3);x1=m1(1:7,1);y1=m1(1:7,2);z1=m1(1:7,3);x2=m2(1:7,1);y2=m2(1:7,2);z2=m2(1:7,3);x2=m2(1:7,1);y2=m2(1:7,2);z2=m2(1:7,3);%subplot(1,2,

13、1);%subplot(1,2,1);figure(1)figure(1)plot3(x1,y1,z1,r*,x2,y2,z2,b*);plot3(x1,y1,z1,r*,x2,y2,z2,b*); %plot3%plot3 为三维线图为三维线图title(title(原样本分布图原样本分布图);%);%画出原两类样本点画出原两类样本点holdhold ononx=-2:0.1:2;x=-2:0.1:2;y=w(2,1)/w(1,1)*x;y=w(2,1)/w(1,1)*x;z=w(3,1)/w(1,1)*x;z=w(3,1)/w(1,1)*x;plot3(x,y,z);%plot3(x,y,

14、z);%画出投影线画出投影线legend(legend(第一类样本第一类样本,第二类样本第二类样本,投影线投影线,2);,2);%rotate3D%rotate3D onon % %鼠标移动可以旋转三维坐标鼠标移动可以旋转三维坐标% % c)c) 画出投影后的两类样本点和投影线画出投影后的两类样本点和投影线%subplot(1,2,2);%subplot(1,2,2);figure(2)figure(2)x=-2:0.1:2;x=-2:0.1:2;y=w(2,1)/w(1,1)*x;y=w(2,1)/w(1,1)*x;z=w(3,1)/w(1,1)*x;z=w(3,1)/w(1,1)*x;pl

15、ot3(x,y,z);%plot3(x,y,z);%画出投影线画出投影线holdhold onon% % 对对 w1w1 中的点投影中的点投影forfor i=1:7i=1:7x1=(m1(i,1)+w(2,1)/w(1,1)*m1(i,2)+w(3,1)/w(1,1)*m1(i,3)/(1+(w(2,1)/w(1,1)2+(w(3,1)/w(1,1)2);x1=(m1(i,1)+w(2,1)/w(1,1)*m1(i,2)+w(3,1)/w(1,1)*m1(i,3)/(1+(w(2,1)/w(1,1)2+(w(3,1)/w(1,1)2);y1=w(2,1)/w(1,1)*x1;y1=w(2,1)/w(1,1)*x1;z1=w(3,1)/w(1,1)*x1;z1=w(3,1)/w(1,1)*x1;plot3(x1,y1,z1,r*);plot3(x1,y1,z1,r*); X1(i,1)=x1;X1(i,1)=x1;X1(i,2)=y1;X1(i,2)=y1;X1(i,3)=z1;X1(i,3)=z1;endend% % 对对 w2w2 中的点投影中的点投影forfor i=1:7i=1:7x2=(m2(i,1)+w(2,1)/w(1,1)*m2(i,2)+w(3,1)/w(1,1)*m2(i,3)/(1+(w(2,1)/w(1,1)2+(w(3,1)/w(1,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号