《模式识别实验报告实验一Bayes分类器设计.docx》由会员分享,可在线阅读,更多相关《模式识别实验报告实验一Bayes分类器设计.docx(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、模式识别实验报告实验一Bayes分类器设计模式识别试验报告试验一Bayes分类器设计 试验一 Bayes分类器设计 对模式识别有一个初步的理解,能够依据自己的设计对贝叶斯决策理论算法有一个深刻地相识,理解二类分类器的设计原理。 最小风险贝叶斯决策可按下列步骤进行: (1)在已知,i=1,,c及给出待识别的的状况下,依据贝叶斯公式计算出后验概率: j=1,,x (2)利用计算出的后验概率及决策表,按下面的公式计算出实行,i=1,,a的条件风险 ,i=1,2,a (3)对(2)中得到的a个条件风险值,i=1,,a进行比较,找出访其条件风险最小的决策,即 则就是最小风险贝叶斯决策。 假定某个局部区域
2、细胞识别中正常()和非正常()两类先验概率分别为 正常状态: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 -1.4885 -0.7431 -0.4221 -1.1186 4.2532 已知类条件概率是的曲线如下图: 类条件概率分布正态分布分别为N(-2,0.25)、
3、N(2,4) 试对视察的结果进行分类。 1) 用matlab完成基于最小错误率的贝叶斯分类器的设计,要求程序相应语句有说明文字,要求有子程序的调用过程。 2) 依据例子画出后验概率的分布曲线以及分类的结果示意图。3) 假如是最小风险贝叶斯决策,决策表如下: 最小风险贝叶斯决策表: 状态 决策 1 0 4 2 2 0 请重新设计程序,完成基于最小风险的贝叶斯分类器,画出相应的条件风险的分布曲线和分类结果,并比较两个结果。 u 最小错误率贝叶斯决策 分类器设计 x=-3.9847 -3.5549 -1.2401 -0.9780 -0.7932 -2.8531 -2.7605 -3.7287 -3.
4、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的后验概率矩阵 results=zeros(1,m) %存放比较结果矩阵 for i = 1:m %计算在w1下的后验概率 p
5、w1_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 result(i)=1 %异样细胞 end end a=-5:0.05:5 %取样本点以画图 n=
6、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 figure(1) hold on plot(a,pw1_plot,k-,a,pw2_pl
7、ot,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 ; 试验内容仿真 x = -3.9847 , -3.5549 , -1.2401 , -0.9780 , -0.7932 , -2.8531 ,-2.7605 , -3.7287 ,
8、 -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 disp(x) pw1=0.9 pw2=0.1 result=bayes(x,pw1,pw2) u 最小风险贝叶斯决策 分类器设计 function R1_x,R2_x,result=danger(x,pw1,pw2) m=numel(x) %得到待测细胞个数 R1_x=zeros(1,m)
9、%存放把样本X判为正常细胞所造成的整体损失 R2_x=zeros(1,m) %存放把样本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),
10、e2,a2)/(pw1*normpdf(x(i),e1,a1)+pw2*normpdf(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
11、 result(i)=1 %判为异样细胞,用1表示 end end a=-5:0.05: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*no
12、rmpdf(a(j),e1,a1)/(pw1*normpdf(a(j),e1,a1)+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)%异样细胞用圆表示
13、end; end; legend(正常细胞,异样细胞,Location,Best) xlabel(细胞分类结果) ylabel(条件风险) title(风险判决曲线) grid on return 试验内容仿真 x = -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 , -1.488
14、5 , -0.7431 , -0.4221 , -1.1186 , 4.2532 disp(x) pw1=0.9 pw2=0.1 R1_x,R2_x,result=danger(x,pw1,pw2) u 最小错误率贝叶斯决策 后验概率曲线与判决结果在一张图上:后验概率曲线如图所示,带*的绿色曲线为判决成异样细胞的后验概率曲线;另一条平滑的蓝色曲线为判为正常细胞的后验概率曲线。依据最小错误概率准则,判决结果见曲线下方,其中“上三角”代表判决为正常细胞,“圆圈”代表异样细胞。 各细胞分类结果: 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为判成
15、正常细胞,1为判成异样细胞 图1 基于最小错误率的贝叶斯判决 u 最小风险贝叶斯决策 风险判决曲线如图2所示,其中带*的绿色曲线代表异样细胞的条件风险曲线;另一条光滑的蓝色曲线为判为正常细胞的条件风险曲线。依据贝叶斯最小风险判决准则,判决结果见曲线下方,其中“上三角”代表判决为正常细胞,“圆圈“代表异样细胞。各细胞分类结果: 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为判成异样细胞 图2 基于最小风险的贝叶斯判决 由最小错误率的贝叶斯判决和基于最小风险的贝叶斯判决得出的图形中的分类结果可以看出,样本-3.9934、
16、-3.9847在前者中被分为“正常细胞”,在后者中被分为“异样细胞”,分类结果迥然不同。因为在赐予最小风险的贝叶斯判决中,影响决策结果的因素多了一个“损失”。可以看出,在图1中,这两个样本点下两类决策的后验概率相差很小,当结合最小风险贝叶斯决策表进行计算时,“损失”就起了主导作用,导致出现了相反的结果。另外,最小错误率贝叶斯决策就是在0-1损失函数条件下的最小风险贝叶斯决策,即前者是后者的特例。 试验二 基于Fisher准则线性分类器设计 本试验旨在让同学进一步了解分类器的设计概念,能够依据自己的设计对线性分类器有更深刻地相识,理解Fisher准则方法确定最佳线性分界面方法的原理,以及Lagr
17、ande乘子求解的原理。 Matlab软件 线性判别函数的一般形式可表示成 其中 依据Fisher选择投影方向W的原则,即使原样本向量在该方向上的投影能兼顾类间分布尽可能分开,类内样本投影尽可能密集的要求,用以评价投影方向W的函数为: 上面的公式是运用Fisher准则求最佳法线向量的解,该式比较重要。另外,该式这种形式的运算,我们称为线性变换,其中式一个向量,是的逆矩阵,如是d维,和都是dd维,得到的也是一个d维的向量。 向量就是使Fisher准则函数达极大值的解,也就是按Fisher准则将d维X空间投影到一维Y空间的最佳投影方向,该向量的各重量值是对原d维特征向量求加权和的权值。以上探讨了线
18、性判别函数加权向量W的确定方法,并探讨了使Fisher准则函数极大的d维向量 的计算方法,但是判别函数中的另一项尚未确定,一般可采纳以下几种方法确定如 或者 或当与已知时可用 当W0确定之后,则可按以下规则分类, 运用Fisher准则方法确定最佳线性分界面的方法是一个闻名的方法,尽管提出该方法的时间比较早,仍见有人运用。 function fisher %w1中数据点的坐标 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
19、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.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
20、.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; 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.
21、0085 0.7676 0.8418 0.8784 0.9751 0.7840 0.4158 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)
22、+x3(i); end %w2的数据点坐标 x4 =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 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.9
23、154 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.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.57
24、84 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(x4); m2(2)=mean(x5); m2(3)=mean(x6); %计算其次类样本类内离散度
25、矩阵S2 S2=zeros(3,3); for i=1:36 S2=S2+-m2(1)+x4(i) -m2(2)+x5(i) -m2(3)+x6(i)*-m2(1)+x4(i) -m2(2)+x5(i) -m2(3)+x6(i); end %总类内离散度矩阵Sw Sw=zeros(3,3); Sw=S1+S2; %样本类间离散度矩阵Sb Sb=zeros(3,3); Sb=(m1-m2)*(m1-m2); %最优解W W=Sw-1*(m1-m2) %将W变为单位向量以便利计算投影 W=W/sqrt(sum(W.2); %计算一维Y空间中的各类样本均值M1及M2 for i=1:36 y(i)=
26、W*x1(i) x2(i) x3(i); end M1=mean(y) for i=1:36 y(i)=W*x4(i) x5(i) x6(i); end M2=mean(y) %利用当P(w1)与P(w2)已知时的公式计算W0 p1=0.6;p2=0.4; W0=-(M1+M2)/2+(log(p2/p1)/(36+36-2); %计算将样本投影到最佳方向上以后的新坐标 X1=x1*W(1)+x2*W(2)+x3*W(3); X2=x4*W(1)+x5*W(2)+x6*W(3);%得到投影长度 XX1=W(1)*X1;W(2)*X1;W(3)*X1; XX2=W(1)*X2;W(2)*X2;W
27、(3)*X2;%得到新坐标 %绘制样本点 figure(1) plot3(x1,x2,x3,r*) %第一类 hold on plot3(x4,x5,x6,bp) %其次类 legend(第一类点,其次类点) title(Fisher线性判别曲线) W1=5*W; %画出最佳方向 line(-W1(1),W1(1),-W1(2),W1(2),-W1(3),W1(3),color,b); %判别已给点的分类 a1=1,1.5,0.6;a2=1.2,1.0,0.55;a3=2.0,0.9,0.68;a4=1.2,1.5,0.89;a5=0.23,2.33,1.43; A=a1 a2 a3 a4 a
28、5 n=size(A,2); %下面代码在变更样本时都不必修改 %绘制待测数据投影到最佳方向上的点 for k=1:n A1=A(:,k)*W; A11=W*A1;%得到待测数据投影 y=W*A(:,k)+W0;%计算后与0相比以推断类别,大于0为第一类,小于0为其次类 if y>0 plot3(A(1,k),A(2,k),A(3,k),go); %点为“rp“对应第一类 plot3(A11(1),A11(2),A11(3),go); %投影为“r+“对应go类 else plot3(A(1,k),A(2,k),A(3,k),m+); %点为“bh“对应m+类 plot3(A11(1),
29、A11(2),A11(3),m+); %投影为“b*“对应m+类 end end %画出最佳方向 line(-W1(1),W1(1),-W1(2),W1(2),-W1(3),W1(3),color,k); view(-37.5,30); axis(-2,3,-1,3,-0.5,1.5); grid on hold off 已知数据的样本点分布如下图: 首先依据求出最佳投影方向,然后根据此方向,将待测数据进行投影 。为直观起见,我们将两步画在一张图上,如下: 其中,红色的*是给出的第一类样本点,蓝色的五角星是其次类样本点。下方的实直线是最佳投影方向。待测数据投影在其上,圆圈是被分为第一类的样本点,十字是被分为其次类的样本点。 使取极大值的W= ( -0.0798 , 0.2005 , -0.0478) 的比例因子对于Fisher判别函数没有影响的缘由: 在本试验中,最须要的是W的方向,或者说是在此方向上数据的投影,那么W的比例因子,即它是单位向量的多少倍长就无关紧要了,不管比例因子有多大,在最终求投影时都会被消掉而起不到实际作用。