模式识别上机实验报告汇总.doc

上传人:小飞机 文档编号:4046408 上传时间:2023-04-02 格式:DOC 页数:14 大小:262.50KB
返回 下载 相关 举报
模式识别上机实验报告汇总.doc_第1页
第1页 / 共14页
模式识别上机实验报告汇总.doc_第2页
第2页 / 共14页
模式识别上机实验报告汇总.doc_第3页
第3页 / 共14页
模式识别上机实验报告汇总.doc_第4页
第4页 / 共14页
模式识别上机实验报告汇总.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《模式识别上机实验报告汇总.doc》由会员分享,可在线阅读,更多相关《模式识别上机实验报告汇总.doc(14页珍藏版)》请在三一办公上搜索。

1、实验一、二维随机数的产生1、实验目的(1) 学习采用Matlab程序产生正态分布的二维随机数(2) 掌握估计类均值向量和协方差矩阵的方法(3) 掌握类间离散度矩阵、类内离散度矩阵的计算方法(4) 熟悉matlab中运用mvnrnd函数产生二维随机数等matlab语言2、实验原理多元正态分布概率密度函数:其中:是d维均值向量: 是dd维协方差矩阵:(1)估计类均值向量和协方差矩阵的估计 各类均值向量 各类协方差矩阵(2)类间离散度矩阵、类内离散度矩阵的计算类内离散度矩阵:, i=1,2总的类内离散度矩阵:类间离散度矩阵:3、实验内容及要求产生两类均值向量、协方差矩阵如下的样本数据,每类样本各50

2、个。,(1) 画出样本的分布图;(2) 编写程序,估计类均值向量和协方差矩阵;(3) 编写程序,计算类间离散度矩阵、类内离散度矩阵;(4) 每类样本数增加到500个,重复(1)-(3)4、 实验结果(1) 、样本的分布图 (2) 、类均值向量、类协方差矩阵根据matlab程序得出的类均值向量为:N=50 : m1=-1.7160 -2.0374 m2=2.1485 1.7678N=500: m1=-2.0379 -2.0352 m2=2.0428 2.1270根据matlab程序得出的类协方差矩阵为:N=50: N=500: (3) 、类间离散度矩阵、类内离散度矩阵根据matlab程序得出的类

3、间离散度矩阵为:N=50: N=500: 根据matlab程序得出的类内离散度矩阵为:N=50: N=500: 5、结论由mvnrnd函数产生的结果是一个N*D的一个矩阵,在本实验中D是2,N是50和500.根据实验数据可以看出,当样本容量变多的时候,两个变量的总体误差变小,观测变量各个取值之间的差异程度减小。6、实验程序clc;close all;clear all;%parameterN = 50;N_1 = 500; mu_1 = -2,-2;Sigma_1 = 1,0;0,1;r_1 = mvnrnd(mu_1,Sigma_1,N);r_11 = mvnrnd(mu_1,Sigma_1

4、,N_1); mu_2 = 2,2;Sigma_2 = 1,0;0,4;r_2 = mvnrnd(mu_2,Sigma_2,N);r_22 = mvnrnd(mu_2,Sigma_2,N_1); %figuresfigure(1);plot(r_1(:,1),r_1(:,2),.);%将矩阵r_1的第一列当成横坐标,第二列当作纵坐标。title(样本数为50时的第一类样本分布图); figure(2);plot(r_2(:,1),r_2(:,2),.);title(样本数为50时的第二类样本分布图); figure(3);plot(r_11(:,1),r_11(:,2),.);title(样本

5、数为500时的第一类样本分布图); figure(4);plot(r_22(:,1),r_22(:,2),.);title(样本数为500时的第二类样本分布图); %类均值向量和类协方差矩阵m_1 = mean(r_1);%样本数为50时第一类 类均值向量m_2 = mean(r_2);%样本数为50时第二类 类均值向量m_11 = mean(r_11);%样本数为500时第一类 类均值向量m_22 = mean(r_22);%样本数为500时第二类 类均值向量 sum1 = 0,0;0,0;for n = 1:N sum1 =sum1 + (r_1(n,:)-mu_1)*(r_1(n,:)-

6、mu_1);endE_1 = sum1/N;%样本数为50时,第一类 类协方差矩阵 sum2 = 0,0;0,0;for n = 1:N sum2 =sum2 + (r_2(n,:)-mu_2)*(r_2(n,:)-mu_2);endE_2 = sum2/N;%样本数为50时,第二类 类协方差矩阵 sum3 = 0,0;0,0;for n = 1:N_1 sum3 =sum3 + (r_11(n,:)-mu_1)*(r_11(n,:)-mu_1);endE_11 = sum3/N_1;%样本数为500时,第一类 类协方差矩阵 sum4 = 0,0;0,0;for n = 1:N_1 sum4

7、=sum4 + (r_22(n,:)-mu_2)*(r_22(n,:)-mu_2);endE_22 = sum4/N_1;%样本数为500时,第二类 类协方差矩阵 %计算类间离散度和类内离散度Sb_1 = (m_1 - m_2)*(m_1 - m_2);%样本数为50时的,类间离散度矩阵Sb_2 = (m_11 - m_22)*(m_11 - m_22);%样本数为500时的,类间离散度矩阵 S_1 = 0,0;0,0;S_2 = 0,0;0,0;for n = 1:N S_1 = S_1 + (r_1(n,:) - m_1)*(r_1(n,:) - m_1); S_2 = S_2 + (r_

8、2(n,:) - m_2)*(r_2(n,:) - m_2);endSW1 = S_1 + S_2;%样本数为50时的,总的类内离散度矩阵 S_11 = 0,0;0,0;S_22 = 0,0;0,0;for n = 1:N_1 S_11 = S_11 + (r_11(n,:) - m_11)*(r_11(n,:) - m_11); S_22 = S_22 + (r_22(n,:) - m_22)*(r_22(n,:) - m_22);endSW2 = S_11 + S_22;%样本数为500时的,总的类内离散度矩阵实验二、Fisher线性分类器的设计1、实验目的(1) 掌握Fisher线性判别

9、方法(2) 掌握Bayes决策的错误率的计算(3) 掌握分类器错误率的估算方法(4) 对模式识别有一个初步的理解2、实验原理Fisher准则基本原理:如果在二维空间中一条直线能将两类样本分开,或者错分类很少,则同一类别样本数据在该直线的单位法向量上的投影的绝大多数都应该超过某一值。而另一类数据的投影都应该小于(或绝大多数都小于)该值,则这条直线就有可能将两类分开。 准则:向量W的方向选择应能使两类样本投影的均值之差尽可能大些,而使类内样本的离散程度尽可能小。这就是Fisher准则函数的基本思路。 y=WTX+W0 评价投影方向W的函数 :最佳W值的确定:求取使JF达极大值时的 w*:向量就是使

10、Fisher准则函数达极大值的解,也就是按Fisher准则将d维X空间投影到一维Y空间的最佳投影方向,该向量的各分量值是对原d维特征向量求加权和的权值。 w0确定 : 当W0确定之后,则可按以下规则分类,使用Fisher准则方法确定最佳线性分界面的方法是一个著名的方法,尽管提出该方法的时间比较早,仍见有人使用。3、实验内容及要求考虑Fisher线性判别方法,利用实验1中程序产生的数据(分别在各类样本数均为50及500时),计算:1) 求解最优投影方向W;2) 画出表示最优投影方向的直线,并且标记出投影后的点在直线上的位置;3) 计算投影后的阈值权;4) 计算分类器的各类错误率及总的平均错误率;

11、 5) 计算按最小错误率Bayes决策的错误率(各类先验概率相同)4、 实验结果 上图可以看出在N=50时的情况下绿色的点是第一类样本点,蓝色的*给出了第二类样本点,红色的直线是最优投影方向的直线,+标出的点是W0点,直线上不同颜色代表了不同类样本点所投影的点的位置。N=50时,类一的错误概率为0 类二的错误概率为 8% 平均错误概率为 1% Bayes决策错误率为0% 最佳投影方向5、结论通过对实验结果的探究,可以得出当样本数比较大的时候类错误概率会上升。的比例因子对于Fisher判别函数没有影响的原因:在本实验中,最重要的是W的方向,或者说是在此方向上数据的投影,所以W的比例因子,即它是单

12、位向量的多少倍长就没那么重要了,不管比例因子大小是多少,在最后求投影时都会被消掉。6、实验程序N = 50;%样本数为50时mu_1 = -2,-2;Sigma_1 = 1,0;0,1;r_1 = mvnrnd(mu_1,Sigma_1,N); mu_2 = 2,2;Sigma_2 = 1,0;0,4;r_2 = mvnrnd(mu_2,Sigma_2,N); m_1 = mean(r_1);m_2 = mean(r_2); S_1 = 0,0;0,0;S_2 = 0,0;0,0;for n = 1:N S_1 = S_1 + (r_1(n,:) - m_1)*(r_1(n,:) - m_1)

13、; S_2 = S_2 + (r_2(n,:) - m_2)*(r_2(n,:) - m_2);endSW1 = S_1 + S_2;W_0 = -(m_1+m_2)/2;w = (m_1-m_2)*inv(SW1);%投影向量Sk = w(:,2)/w(:,1);%最优投影方向直线的斜率。x=-7:0.01:7;y = k*(x-W_0(:,1) + W_0(:,2);%最优投影方向直线 figure(3);plot(r_1(:,1),r_1(:,2),g.);title(样本数为50时的样本分布图);hold on;plot(r_2(:,1),r_2(:,2),*);plot(W_0(1)

14、,W_0(2),+);plot(x,y,r);%画出最优投影方向直线 A0=k -1;1 k;X0=zeros(2,N);for n=1:N b=k*W_0(:,1)-W_0(:,2) r_1(n,1)+k*r_1(n,2); X0(:,n)=inv(A0)*b;end A1=k -1;1 k;X1=zeros(2,N);for n=1:N b1=k*W_0(:,1)-W_0(:,2) r_2(n,1)+k*r_2(n,2); X1(:,n)=inv(A1)*b1;endplot(X0(1,:),X0(2,:),g);plot(X1(1,:),X1(2,:),b);hold off; en1=

15、0;en2=0;for m=1:N if X0(1,m) W_0(:,1) en1=en1+1; end if X1(1,m) N2 erro1=erro1+1; end end endendfor i=1:N1 for j=1:N2 distance2(i,j)=sqrt(X2(1,i)-Y1(1,j)2+(X2(2,i)-Y1(2,j)2); distance2(i,j+N2)=sqrt(X2(1,i)-Y2(1,j)2+(X2(2,i)-Y2(2,j)2); end zuixiao=min(distance2(i,:); for j=1:2*N2 if distance2(i,j)=zu

16、ixiao if jN2 erro2=erro2+1; end end endenderro_pingjun=(erro1+erro2)/(2*N1)%k近邻k=10;number11=zeros(N1,1);number12=zeros(N1,1);MAX=1e5;k_erro1=0;for ii=1:N1 for i=1:k zuixiao=min(distance1(ii,:); for j=1:2*N2 if distance1(ii,j)=zuixiao if j=N2 number11(ii)=number11(ii)+1; else number12(ii)=number12(i

17、i)+1; end distance1(ii,j)=MAX; end end end if number11(ii)number12(ii) k_erro1=k_erro1+1; endendnumber21=zeros(N1,1);number22=zeros(N1,1);k_erro2=0;for ii=1:N1 for i=1:k zuixiao=min(distance2(ii,:); for j=1:2*N2 if distance2(ii,j)=zuixiao if jnumber22(ii) k_erro2=k_erro2+1; endendk_erro_pingjun=(k_erro1+k_erro2)/(2*N1)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号