《模式识别实验报告(共41页).doc》由会员分享,可在线阅读,更多相关《模式识别实验报告(共41页).doc(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上北京邮电大学实验报告题目:模式识别 班级: 27 专业: 信息工程 姓名: 吕则东 序号: 20 目录实验一、Bayes分类器设计1.1实验类型:基础型:Bayes分类器设计1.2实验目的:本实验旨在让同学对模式识别有一个初步的理解,能够根据自己的设计对贝叶斯决策理论算法有一个深刻地认识,理解二类分类器的设计原理。1.3实验条件:matlab软件1.4实验原理: 最小风险贝叶斯决策可按下列步骤进行:(1)在已知,i=1,,c及给出待识别的的情况下,根据贝叶斯公式计算出后验概率:j=1,,x (2)利用计算出的后验概率及决策表,按下面的公式计算出采取,i=1,,a的条件
2、风险,i=1,2,a(3)对(2)中得到的a个条件风险值,i=1,,a进行比较,找出使其条件风险最小的决策,即则就是最小风险贝叶斯决策。1.5实验内容:假定某个局部区域细胞识别中正常()和非正常()两类先验概率分别为正常状态:P()=0.9;异常状态:P()=0.1。现有一系列待观察的细胞,其观察值为:-3.9847 -3.5549 -1.2401 -0.9780 -0.7932 -2.8531 -2.7605 -3.7287 -3.5414 -2.2692 -3.4549 -3.0752 -3.9934 2.8792 -0.9780 0.7932 1.1882 3.0682-1.5799 -
3、1.4885 -0.7431 -0.4221 -1.1186 4.2532 已知先验概率是的曲线如下图:类条件概率分布正态分布分别为(-2,0.25)(2,4)试对观察的结果进行分类。1.6 实验要求:1) 用matlab完成分类器的设计,要求程序相应语句有说明文字,要求有子程序的调用过程。2) 根据例子画出后验概率的分布曲线以及分类的结果示意图。3) 如果是最小风险贝叶斯决策,决策表如下:最小风险贝叶斯决策表:状态决策106210请重新设计程序,画出相应的后验概率的分布曲线和分类结果,并比较两个结果。1.7实验代码和结果最小错误率贝叶斯分类器设计实验程序:x= -3.9847 -3.5549
4、 -1.2401 -0.9780 -0.7932 -2.8531 -2.7605 -3.7287 -3.5414 -2.2692 -3.4549 -3.0752 -3.9934 2.8792 -0.9780 0.7932 1.1882 3.0682 -1.5799 -1.4885 -0.7431 -0.4221 -1.1186 4.2532 pw1=0.9 ; pw2=0.1 e1=-2; a1=0.5 e2=2;a2=2 m=numel(x) %得到待测细胞个数 pw1_x=zeros(1,m) %存放对w1的后验概率矩阵 pw2_x=zeros(1,m) %存放对w2的后验概率矩阵 res
5、ults=zeros(1,m) %存放比较结果矩阵 for i = 1:m %计算在w1下的后验概率 pw1_x(i)=(pw1*normpdf(x(i),e1,a1)/(pw1*normpdf(x(i),e1,a1)+pw2*normpdf(x(i),e2,a2) %计算在w2下的后验概率 pw2_x(i)=(pw2*normpdf(x(i),e2,a2)/(pw1*normpdf(x(i),e1,a1)+pw2*normpdf(x(i),e2,a2) end for i = 1:m if pw1_x(i)pw2_x(i) %比较两类后验概率 result(i)=0 %正常细胞 else r
6、esult(i)=1 %异常细胞 end end a=-5:0.05:5 %取样本点以画图n=numel(a) pw1_plot=zeros(1,n) pw2_plot=zeros(1,n) for j=1:n pw1_plot(j)=(pw1*normpdf(a(j),e1,a1)/(pw1*normpdf(a(j),e1,a1)+pw2*normpdf(a(j),e2,a2) %计算每个样本点对w1的后验概率以画图pw2_plot(j)=(pw2*normpdf(a(j),e2,a2)/(pw1*normpdf(a(j),e1,a1)+pw2*normpdf(a(j),e2,a2) end
7、 figure(1) hold on plot(a,pw1_plot,k-,a,pw2_plot,r-.) for k=1:m if result(k)=0 plot(x(k),-0.1,b*) %正常细胞用*表示 else plot(x(k),-0.1,rp) %异常细胞用五角星表示 end; end;legend(正常细胞后验概率曲线,异常细胞后验概率曲线,正常细胞,异常细胞) xlabel(样本细胞的观察值) ylabel(后验概率) title(后验概率分布曲线) grid on return ;运行结果后验概率分布曲线后验概率曲线与判决结果在一张图上:后验概率曲线如图所示,带*的曲线
8、为判决成异常细胞的后验概率曲线;另一条平滑的曲线为判为正常细胞的后验概率曲线。根据最小错误概率准则,判决结果见曲线下方,其中“*”代表判决为正常细胞,“五角星”代表异常细胞各细胞分类结果: 各细胞分类结果: 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 1 0 1 0为判成正常细胞,1为判成异常细胞最小风险贝叶斯决策分类器设计 实验程序x = -3.9847 , -3.5549 , -1.2401 , -0.9780 , -0.7932 , -2.8531 ,-2.7605 , -3.7287 , -3.5414 , -2.2692 , -3.4549 ,
9、 -3.0752 , -3.9934 , 2.8792 , -0.9780 , 0.7932 , 1.1882 , 3.0682, -1.5799 , -1.4885 , -0.7431 , -0.4221 , -1.1186 , 4.2532 disp(x) pw1=0.9 pw2=0.1 R1_x,R2_x,result=bayes(x,pw1,pw2)function R1_x,R2_x,result=danger(x,pw1,pw2) m=numel(x) %得到待测细胞个数 R1_x=zeros(1,m) %存放把样本X判为正常细胞所造成的整体损失 R2_x=zeros(1,m) %
10、存放把样本X判为异常细胞所造成的整体损失 result=zeros(1,m) %存放比较结果 e1=-2 a1=0.5 e2=2 a2=2 %类条件概率分布px_w1:(-2,0.25) px_w2(2,4) r11=0 r12=2 r21=4 r22=0 %风险决策表 for i=1:m %计算两类风险值 R1_x(i)=r11*pw1*normpdf(x(i),e1,a1)/(pw1*normpdf(x(i),e1,a1)+pw2*normpdf(x(i),e2,a2)+r21*pw2*normpdf(x(i),e2,a2)/(pw1*normpdf(x(i),e1,a1)+pw2*nor
11、mpdf(x(i),e2,a2) R2_x(i)=r12*pw1*normpdf(x(i),e1,a1)/(pw1*normpdf(x(i),e1,a1)+pw2*normpdf(x(i),e2,a2)+r22*pw2*normpdf(x(i),e2,a2)/(pw1*normpdf(x(i),e1,a1)+pw2*normpdf(x(i),e2,a2) end for i=1:m if R2_x(i)R1_x(i)%第二类比第一类风险大 result(i)=0 %判为正常细胞(损失较小),用0表示 else result(i)=1 %判为异常细胞,用1表示 end end a=-5:0.05
12、:5 %取样本点以画图 n=numel(a) R1_plot=zeros(1,n) R2_plot=zeros(1,n) for j=1:n R1_plot(j)=r11*pw1*normpdf(a(j),e1,a1)/(pw1*normpdf(a(j),e1,a1)+pw2*normpdf(a(j),e2,a2)+r21*pw2*normpdf(a(j),e2,a2)/(pw1*normpdf(a(j),e1,a1)+pw2*normpdf(a(j),e2,a2) R2_plot(j)=r12*pw1*normpdf(a(j),e1,a1)/(pw1*normpdf(a(j),e1,a1)+
13、pw2*normpdf(a(j),e2,a2)+r22*pw2*normpdf(a(j),e2,a2)/(pw1*normpdf(a(j),e1,a1)+pw2*normpdf(a(j),e2,a2) %计算各样本点的风险以画图 end figure(1) hold on plot(a,R1_plot,b-,a,R2_plot,g*-) for k=1:m if result(k)=0 plot(x(k),-0.1,b)%正常细胞用上三角表示 else plot(x(k),-0.1,go)%异常细胞用圆表示 end; end; legend(正常细胞,异常细胞,Location,Best) x
14、label(细胞分类结果) ylabel(条件风险) title(风险判决曲线) grid on return运行结果最小风险贝叶斯决策风险判决曲线如上图所示,其中带*的绿色曲线代表异常细胞的条件风险曲线;另一条光滑的蓝色曲线为判为正常细胞的条件风险曲线。根据贝叶斯最小风险判决准则,判决结果见曲线下方,其中“上三角”代表判决为正常细胞,“圆圈“代表异常细胞。 各细胞分类结果: 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 1 0 1 其中,0为判成正常细胞,1为判成异常细胞 分类结果比较:由最小错误率的贝叶斯判决和基于最小风险的贝叶斯判决得出的图形中的分类
15、结果可以看出,样本-3.9934、-3.9847在前者中被分为“正常细胞”,在后者中被分为“异常细胞”,分类结果截然不同。因为在给予最小风险的贝叶斯判决中,影响决策结果的因素多了一个“损失”。可以看出,在图1中,这两个样本点下两类决策的后验概率相差很小,当结合最小风险贝叶斯决策表进行计算时,“损失”就起了主导作用,导致出现了相反的结果。 另外,最小错误率贝叶斯决策就是在0-1损失函数条件下的最小风险贝叶斯决策,即前者是后者的特例。实验二、基于Fisher准则线性分类器设计2.1实验类型:设计型:线性分类器设计(Fisher准则)2.2实验目的:本实验旨在让同学进一步了解分类器的设计概念,能够根
16、据自己的设计对线性分类器有更深刻地认识,理解Fisher准则方法确定最佳线性分界面方法的原理,以及Lagrande乘子求解的原理。2.3实验条件:matlab软件2.4实验原理:线性判别函数的一般形式可表示成 其中 根据Fisher选择投影方向W的原则,即使原样本向量在该方向上的投影能兼顾类间分布尽可能分开,类内样本投影尽可能密集的要求,用以评价投影方向W的函数为: 上面的公式是使用Fisher准则求最佳法线向量的解,该式比较重要。另外,该式这种形式的运算,我们称为线性变换,其中式一个向量,是的逆矩阵,如是d维,和都是dd维,得到的也是一个d维的向量。向量就是使Fisher准则函数达极大值的解
17、,也就是按Fisher准则将d维X空间投影到一维Y空间的最佳投影方向,该向量的各分量值是对原d维特征向量求加权和的权值。以上讨论了线性判别函数加权向量W的确定方法,并讨论了使Fisher准则函数极大的d维向量 的计算方法,但是判别函数中的另一项尚未确定,一般可采用以下几种方法确定如或者 或当与已知时可用当W0确定之后,则可按以下规则分类,使用Fisher准则方法确定最佳线性分界面的方法是一个著名的方法,尽管提出该方法的时间比较早,仍见有人使用。2.5实验内容:已知有两类数据和二者的概率已知=0.6, =0.4。中数据点的坐标对应一一如下: 数据:x = 0.2331 1.5207 0.6499
18、 0.7757 1.0524 1.1974 0.2908 0.2518 0.6682 0.5622 0.9023 0.1333 -0.5431 0.9407 -0.2126 0.0507 -0.0810 0.7315 0.3345 1.0650 -0.0247 0.1043 0.3122 0.6655 0.5838 1.1653 1.2653 0.8137 -0.3399 0.5152 0.7226 -0.2015 0.4070 -0.1717 -1.0573 -0.2099y = 2.3385 2.1946 1.6730 1.6365 1.7844 2.0155 2.0681 2.1213
19、2.4797 1.5118 1.9692 1.8340 1.8704 2.2948 1.7714 2.3939 1.5648 1.9329 2.2027 2.4568 1.7523 1.6991 2.4883 1.7259 2.0466 2.0226 2.3757 1.7987 2.0828 2.0798 1.9449 2.3801 2.2373 2.1614 1.9235 2.2604z = 0.5338 0.8514 1.0831 0.4164 1.1176 0.5536 0.6071 0.4439 0.4928 0.5901 1.0927 1.0756 1.0072 0.4272 0.4
20、353 0.9869 0.4841 1.0992 1.0299 0.7127 1.0124 0.4576 0.8544 1.1275 0.7705 0.4129 1.0085 0.7676 0.8418 0.8784 0.9751 0.7840 0.4158 1.0315 0.7533 0.9548数据点的对应的三维坐标为x2 = 1.4010 1.2301 2.0814 1.1655 1.3740 1.1829 1.7632 1.9739 2.4152 2.5890 2.8472 1.9539 1.2500 1.2864 1.2614 2.0071 2.1831 1.7909 1.3322
21、1.1466 1.7087 1.5920 2.9353 1.4664 2.9313 1.8349 1.8340 2.5096 2.7198 2.3148 2.0353 2.6030 1.2327 2.1465 1.5673 2.9414y2 = 1.0298 0.9611 0.9154 1.4901 0.8200 0.9399 1.1405 1.0678 0.8050 1.2889 1.4601 1.4334 0.7091 1.2942 1.3744 0.9387 1.2266 1.1833 0.8798 0.5592 0.5150 0.9983 0.9120 0.7126 1.2833 1.
22、1029 1.2680 0.7140 1.2446 1.3392 1.1808 0.5503 1.4708 1.1435 0.7679 1.1288z2 = 0.6210 1.3656 0.5498 0.6708 0.8932 1.4342 0.9508 0.7324 0.5784 1.4943 1.0915 0.7644 1.2159 1.3049 1.1408 0.9398 0.6197 0.6603 1.3928 1.4084 0.6909 0.8400 0.5381 1.3729 0.7731 0.7319 1.3439 0.8142 0.9586 0.7379 0.7548 0.73
23、93 0.6739 0.8651 1.3699 1.1458数据的样本点分布如下图:2.6实验要求:1) 请把数据作为样本,根据Fisher选择投影方向的原则,使原样本向量在该方向上的投影能兼顾类间分布尽可能分开,类内样本投影尽可能密集的要求,求出评价投影方向的函数,并在图形表示出来。并在实验报告中表示出来,并求使取极大值的。用matlab完成Fisher线性分类器的设计,程序的语句要求有注释。2) 根据上述的结果并判断(1,1.5,0.6)(1.2,1.0,0.55),(2.0,0.9,0.68),(1.2,1.5,0.89),(0.23,2.33,1.43),属于哪个类别,并画出数据分类相
24、应的结果图,要求画出其在上的投影。3) 回答如下问题,分析一下的比例因子对于Fisher判别函数没有影响的原因。2.7实验代码和实验结果分类器设计和分类结果x1=0.2331 1.5207 0.6499 0.7757 1.0524 1.1974 0.2908 0.2518 0.6682 0.5622 0.9023 0.1333 -0.5431 0.9407 -0.2126 0.0507 -0.0810 0.7315 0.3345 1.0650 -0.0247 0.1043 0.3122 0.6655 0.5838 1.1653 1.2653 0.8137 -0.3399 0.5152 0.72
25、26 -0.2015 0.4070 -0.1717 -1.0573 -0.2099;y1=2.3385 2.1946 1.6730 1.6365 1.7844 2.0155 2.0681 2.1213 2.4797 1.5118 1.9692 1.8340 1.8704 2.2948 1.7714 2.3939 1.5648 1.9329 2.2027 2.4568 1.7523 1.6991 2.4883 1.7259 2.0466 2.0226 2.3757 1.7987 2.0828 2.0798 1.9449 2.3801 2.2373 2.1614 1.9235 2.2604;z1=
26、0.5338 0.8514 1.0831 0.4164 1.1176 0.5536 0.6071 0.4439 0.4928 0.5901 1.0927 1.0756 1.0072 0.4272 0.4353 0.9869 0.4841 1.0992 1.0299 0.7127 1.0124 0.4576 0.8544 1.1275 0.7705 0.4129 1.0085 0.7676 0.8418 0.8784 0.9751 0.7840 0.4158 1.0315 0.7533 0.9548;x2=1.4010 1.2301 2.0814 1.1655 1.3740 1.1829 1.7
27、632 1.9739 2.4152 2.5890 2.8472 1.9539 1.2500 1.2864 1.2614 2.0071 2.1831 1.7909 1.3322 1.1466 1.7087 1.5920 2.9353 1.4664 2.9313 1.8349 1.8340 2.5096 2.7198 2.31482.0353 2.6030 1.2327 2.1465 1.5673 2.9414; y2=1.0298 0.9611 0.9154 1.4901 0.8200 0.9399 1.1405 1.0678 0.8050 1.2889 1.4601 1.4334 0.7091
28、 1.2942 1.3744 0.9387 1.2266 1.1833 0.8798 0.5592 0.5150 0.9983 0.9120 0.7126 1.2833 1.1029 1.2680 0.7140 1.2446 1.3392 1.1808 0.5503 1.4708 1.1435 0.7679 1.1288;z2=0.6210 1.3656 0.5498 0.6708 0.8932 1.4342 0.9508 0.7324 0.5784 1.4943 1.0915 0.7644 1.2159 1.3049 1.1408 0.9398 0.6197 0.6603 1.3928 1.
29、4084 0.6909 0.8400 0.5381 1.3729 0.7731 0.7319 1.3439 0.8142 0.9586 0.7379 0.7548 0.7393 0.6739 0.8651 1.3699 1.1458;%数据录入,整合为矩阵k=0;for i=1:6 for j=1:6 k=k+1; w1(:,k)=x1(i,j);y1(i,j);z1(i,j); w2(:,k)=x2(i,j);y2(i,j);z2(i,j); endend%计算均值向量m1和m2m1=mean(w1,2);m2=mean(w2,2);%计算离散度矩阵for i=1:36 s1=(w1(:,i
30、)-m1)*(w1(:,i)-m1); s2=(w2(:,i)-m2)*(w2(:,i)-m2);endsw=s1+s2;%计算阀值w0w_new=transpose(inv(sw)*(m1-m2);m1_new=w_new*m1;m2_new=w_new*m2;Pw1=0.6; Pw2=0.4;e=exp(1);w0=(m1_new+m2_new)/2-log(Pw1/Pw2)/log(e)/(36+36-2);%分类判断x=1 1.2 2.0 1.2 0.23 1.5 1.0 0.9 1.5 2.33 0.6 0.55 0.68 0.89 1.43;m=0; n=0;result1=; r
31、esult2=;for i=1:5 y(i)=w_new*x(:,i); if y(i)w0 m=m+1; result1(:,m)=x(:,i); else n=n+1; result2(:,n)=x(:,i); endend%结果显示 display(属于第一类的点)result1display(属于第二类的点)result2scatter3(w1(1,:),w1(2,:),w1(3,:),+r),hold onscatter3(w2(1,:),w2(2,:),w2(3,:),sg),hold onscatter3(result1(1,:),result1(2,:),result1(3,:
32、),k),hold onscatter3(result2(1,:),result2(2,:),result2(3,:),bd)title(样本点及实验点的空间分布图)legend(样本点w1,样本点w2,属于第一类的实验点,属于第二类的实验点)实验结果分类结果如下:画出其在w上的投影x1 =0.2331 1.5207 0.6499 0.7757 1.0524 1.1974 0.2908 0.2518 0.6682 0.5622 0.9023 0.1333 -0.5431 0.9407 -0.2126 0.0507 -0.0810 0.7315 0.3345 1.0650 -0.0247 0.1
33、043 0.3122 0.6655 0.5838 1.1653 1.2653 0.8137 -0.3399 0.5152 0.7226 -0.2015 0.4070 -0.1717 -1.0573 -0.2099; x2 =2.3385 2.1946 1.6730 1.6365 1.7844 2.0155 2.0681 2.1213 2.4797 1.5118 1.9692 1.8340 1.8704 2.2948 1.7714 2.3939 1.5648 1.9329 2.2027 2.4568 1.7523 1.6991 2.4883 1.7259 2.0466 2.0226 2.3757
34、 1.7987 2.0828 2.0798 1.9449 2.3801 2.2373 2.1614 1.9235 2.2604; x3 =0.5338 0.8514 1.0831 0.4164 1.1176 0.5536 0.6071 0.4439 0.4928 0.5901 1.0927 1.0756 1.0072 0.4272 0.4353 0.9869 0.4841 1.0992 1.0299 0.7127 1.0124 0.4576 0.8544 1.1275 0.7705 0.4129 1.0085 0.7676 0.8418 0.8784 0.9751 0.7840 0.4158
35、1.0315 0.7533 0.9548; %将x1、x2、x3变为行向量x1=x1(:); x2=x2(:); x3=x3(:); %计算第一类的样本均值向量m1 m1(1)=mean(x1); m1(2)=mean(x2); m1(3)=mean(x3); %计算第一类样本类内离散度矩阵S1 S1=zeros(3,3); for i=1:36 S1=S1+-m1(1)+x1(i) -m1(2)+x2(i) -m1(3)+x3(i)*-m1(1)+x1(i) -m1(2)+x2(i) -m1(3)+x3(i); end %w2的数据点坐标 x4 =1.4010 1.2301 2.0814 1
36、.1655 1.3740 1.1829 1.7632 1.9739 2.4152 2.5890 2.8472 1.9539 1.2500 1.2864 1.2614 2.0071 2.1831 1.7909 1.3322 1.1466 1.7087 1.5920 2.9353 1.4664 2.9313 1.8349 1.8340 2.5096 2.7198 2.3148 2.0353 2.6030 1.2327 2.1465 1.5673 2.9414; x5 =1.0298 0.9611 0.9154 1.4901 0.8200 0.9399 1.1405 1.0678 0.8050 1.
37、2889 1.4601 1.4334 0.7091 1.2942 1.3744 0.9387 1.2266 1.1833 0.8798 0.5592 0.5150 0.9983 0.9120 0.7126 1.2833 1.1029 1.2680 0.7140 1.2446 1.3392 1.1808 0.5503 1.4708 1.1435 0.7679 1.1288; x6 =0.6210 1.3656 0.5498 0.6708 0.8932 1.4342 0.9508 0.7324 0.5784 1.4943 1.0915 0.7644 1.2159 1.3049 1.1408 0.9398 0.6197 0.6603 1.3928 1.4084 0.6909 0.8400 0.5381 1.3729 0.7731 0.7319 1.3439 0.8142 0.9586 0.7379 0.7548 0.7393 0.6739 0.8651 1.3699 1.1458; x4=x4(:); x5=x5(:); x6=x6(:); %计算第二类的样本均值向量m2 m2(1)=mean(