《模式识别基础》实验报告.docx

上传人:太** 文档编号:39131617 上传时间:2022-09-06 格式:DOCX 页数:22 大小:273.95KB
返回 下载 相关 举报
《模式识别基础》实验报告.docx_第1页
第1页 / 共22页
《模式识别基础》实验报告.docx_第2页
第2页 / 共22页
点击查看更多>>
资源描述

《《模式识别基础》实验报告.docx》由会员分享,可在线阅读,更多相关《《模式识别基础》实验报告.docx(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、模式识别基础实验报告1 专业班级实验时间2022年4月29日学生学号实验地点学生姓名指导教师实验工程贝叶斯分类器设计实验类别基础实验实验学时2学时实验目的及要求本实验旨在对模式识别有一个初步的理解,能够根据分类器的设计对 贝叶斯决策理论算法有一个深刻地认识,理解两类分类器的设计原理。成绩评定表类 另IJ评分标准分值得分合计上机表现按时出勤 遵守纪律 认真完成各项实验内容30分报告质量程序代码规范 功能正确 填写内容完整、表达收获70分说明:评阅教师:日期:2022年月日实验内容(说明:此局部应包含:实验原理、实验内容、实验要求、实验数据与分析过程等)一、实验原理最小风险贝叶斯决策可按以下步骤进

2、行:在2卬,0,,c及给出待识别的x的情况下,根据贝叶斯公式计 算出后验概率:2.032.601.272.151.732.94;Yl = 1.080.910.941.410.800.931.151.080.801.291.411.430.711.421.340.971.261.130.880.520.500.930.900.711.231.191.200.701.261.331.180.531.481.150.791.12;Zl =0.601.360.580.680.321.430.980.740.541.431.050.741.291.391.180.980.610.631.381.440.

3、690.800.511.390.310.791.390.820.960.730.780.730.690.81x4=x4 (:);x5=x5 (:);x6=x6 (:);%计算第二类的样本均值向量m2m2(1)=mean(xl);m2(2)=mean(yl);m2(3)=mean (zl);%计算第二类样本类内离散度矩阵S2 S2 = zeros (3,3);for i=l:361.391.18;S2=S2+-m2(1)+xl(i) -m2(2)+yl(i)-m2(3)+zl(i); end-m2(3)+zl (i) 1 *-m2(1)+xl (i) -m2(2)+yl (i)%总类内离散度矩阵

4、SwSw=zeros (3,3);Sw=Sl+S2;%样本类间离散度矩阵SbSb=zeros (3,3);Sb=(ml-m2) * *(ml-m2);%最优解WW=SwA-l*(ml-m2)1%将W变为单位向量以方便计算投影W=W/sqrt(sum(W人2);%计算一维Y空间中的各类样本均值Ml及M2 for i=l:36y(i)=Wf*x(i) y(i) z(i)1;endMl=mean(y)for i=l:36y(i)=W*xl(i) yl(i) zl (i) f;endM2=mean(y)%利用当P(wl)与P(w2)时的公式计算WO pl = 0 . 7;p2 = 0 . 3;W0=-

5、(M1+M2)/2+(log(p2/pl)/(36+36-2);%计算将样本投影到最正确方向上以后的新坐标 Xl=xl*W(l)+x2*W(2)+x3*W(3) 1 ;X2=x4*W(l) +x5*W(2) +x6*W(3) ,得到投影长度XX1=W(1)*x;W(2)*y;W(3)*z;XX2=W(1) *X1;W(2) *yl;W(3) *zl ; %得到新坐标 %绘制样本点 figure (1)plot3 (x, y, z, 1 r* T ) %第一类 hold onplot3 (xl, yl, zl, fbpf)省第二类 legend ( 1第一类点1 , 1第二类点,) title

6、(。Fisher线性判别曲线1 ) W1=5*W;%画出最正确方向line(-W1(1),W1(1), -W1(2)zW1 (2), -W1(3)fW1(3), fcolor1, fbf);%判别已给点的分类al=0.5,1.3,0.71;a2=1.6,0.8,0.91;a3=1.8,1.0,0.61;a4=0.9Z1.9,0.8 f;a5=0.3, 2.3,1.4 f;A= 3.1 3.2 33 cl4 a.5 n=size(A,2);%下面代码在改变样本时都不必修改 %绘制待测数据投影到最正确方向上的点 for k=l:nA1=A(:,k)1*W;Al 1=W夫Al; %得到待测数据投影y

7、=W,*A (:, k)+W0;皆计算后与0相比以判断类别,大于0为第一类,小于0为第二类 if y0plot3(A(l,k) ,A(2,k) ,A(3,k) JgoD ; %点为“rp”对应第一类plot3 (All (1) , All (2) , All (3) ,) ; %投影为“r+”对应 go 类elseplot3 (A(l, k) , A(2, k) , A(3, k) Jm+D ; %点为“bh”对应 m+类 plot3 (All (1) , All (2) , All (3) Jm+D ; %投影为“ b* ”对应 m+类 endend%画出最正确方向line(-W1(1)ZW

8、1 (1), -W1(2),W1 (2) , -W1(3),W1(3), olor1, fkf);view( -37.5, 30);axis ( -2,3,一1,3,一05,15);grid on hold off实验图如下:文件(F)编辑查看(V)插入工具(T)桌面(D) W(W)帮助(H)实验图如下:文件(F)编辑查看(V)插入工具(T)桌面(D) W(W)帮助(H)2 .最正确投影方向如图:W =-0.07360.13393 -0.01284 .各类样本均值Ml与M2如图:Ml =1. 4632M2 =5.-0. 08304 .待测数据投影到最正确方向上的点如图:0.50001.3000

9、0.70001.60000.80000.90001.80001. 00000.60000.90001.90000.80000.30002.30001.4000实验结果分析:通过运行结果图可知:al(0.5, 1.3, 0.7), a2(1.6, 0.8, 0.9), a3(1.8, 1.0, 0.6)为第一类;a4(0.9, 1.9, 0.8), a5(0.3, 2.3, 1.4)为第二类;实验总结(说明:总结实验认识、过程、效果、问题、收获、体会、意见和建议。)本次实验通过代码设计Fisher准那么的线性分类器,由于网上代码很全,不过还需要我们 认真的分析,在输入相关数据后,通过运行后显示出

10、最后的效果图,但是必要的公式还需要 掌握和理解的。模式识别基础实验报告3 专业班级实验时间2022 年 4 月 30H学生学号实验地点学生姓名指导教师实验工程基于感知器算法的线性分类器设计实验类别设计型实验实验学时2学时实验目本实验旨在理解感知器算法的原理,通过软件编程模拟线性分类器,理解感知函数准那么确实定过程,掌握梯度下降算法求增广权向量,进一步深刻认识线性分类器。实验内容成绩评定表类 另评分标准分值得分合计上机表现按时出勤 遵守纪律 认真完成各项实验内容30分报告质量程序代码规范、功能正确 填写内容完整、表达收获70分说明:评阅教师:李璇日期:2022年月日(说明:此局部应包含:实验原理

11、、实验内容、实验要求、实验数据与分析过程等) 一、实验原理感知准那么函数是五十年代由Rosenblatt提出的一种自学习判别函数生成方法,由于 Rosenblatt企图将其用于脑模型感知器,因此被称为感知准那么函数。其特点是随意确定的判 别函数初始值,在对样本分类训练过程中逐步修正直至最终确定。感知准那么函数利用梯度下降算法求增广权向量的做法,可简单表达为:任意给定一向量 初始值,第k+1次迭代时的权向量(% + 1)等于第k次的权向量(口加上被错分类的所 有样本之和与4的乘积。可以证明,对于线性可分的样本集,经过有限次修正,一定可以 找到一个解向量2,即算法能在有限步内收敛。其收敛速度的快慢

12、取决于初始权向量Z和 Pk 二、实验内容有两个样本空间叱和,这些点对应的横纵坐标的分布情况是:%二2,1,3,2,4;1,2,-3,-1,-2; 2, 1, 3, 2, 4x2 2,4,1.5,3,1,2;y2 =0.5,1,2.5,1,3,2.5;三、实验要求(1)用MATLAB完成感知器准那么函数确定程序的设计,画出上述两个样本空间叱和 明内样本点的二维空间分布图,程序语句要求有注释。(2)请确定以下样本属于哪个样本空间,根据数据画出分类的结果。sample = (1,-2), (0,5), (-1,3.5), (2.5,3.5), (-2,4), (2,-3), (-4.5,-1), (

13、0,1), (-2.5,1), (-1,-0.5), (1,-0.5)四、实验数据与结果分析(请附上主要的程序截图)clear alla(l,:) = 2,4;y=zeros (11,2) ; %划分区域 pk = 1;xl=2,l,3,2,4 ; %样本点yl=lz2,-3r-l,-2;xbl=-xl;ybl=-yl; %对第一类的样本点做规范化处理x2= -2, -4, -1.5, - 3, -1, -2 ;y2=0.5,-l,-2.5z 1,3,2.5 ; %第二类样本点不变sample=1,-2;0,5;-1,3.5;2.5,3.5;-2,4;2,-3;-4.5,-1;0,1;-2.5

14、,1;-1,-0.5; 1, -0.5 ; % 测试的样本点 for i=l:5y(i, : ) = xbl(i),ybl (i);endfor i=l:6y (i + 5, :) = x2 (i) , y2 (i); endk=l;while (1)flag =1;yk=0,0;for j=l:11temp = y (j , :) *a (kz :) 1 ;招在这里求两个向量内积,不要交换a和y的位置 if temp0plot(sample(i,1),sample(i,2), !b* *);hold on elseplot(sample(i,1),sample(i,2),rs);hold o

15、n endendline ( 0,a (k, 1) z 0,a (k,2) , 1 color f , fbf ) ;hold on 之画出解向量 line(bplot(1)rbplot(2) , -6, 6 , 1 color 1 , 1g * z 1 Linewidth 2); hold on %画出分界面grid onaxis ( -6, 6,-6, 6 ) %坐标轴范围xlabel ( 1 x 1 ) z ylabel ( 1 y * ) , title ( f由分界面对测试样本分类1 ) legend(1w21z 1wl1)运行结果如下图:D Figure 1一 口义文件(F)编辑(

16、E)查看(V)插入 IM(T)桌面(D)窗口(/)帮助(H),n国$忑1诗或“e史明 国实验分析:由实验结果分析可得:(-1,3.5), (2.5,3.5), (-2,4), (-4.5,-D, (0),(-251), (-1,-05)为第一类;(1,-2), (0,5), (2,-3), (1,-0.5)为第二类;实验总结(说明:总结实验认识、过程、效果、问题、收获、体会、意见和建议。)通过本次实验的运行结果分析,对感知器的算法进一步加深,深刻认识线性分类器。但 是在具体的运行中依然存在问题,结果图总是运行不对,在最终设计下最终运行出来模式识别基础实验报告4 专业班级实验时间2022年4月3

17、0日学生学号实验地点学生姓名指导教师实验工程基于K均值聚类的人脸识别算法设计实验类别开放式实验实验学时2学时实验目的及要求本实验旨在理解K均值聚类算法的原理,掌握K均值聚类算法的软件实现,并能利用K均值算法解决实际的图像分类问题。成绩评定表类 另评分标准分值得分合计上机表现按时出勤 遵守纪律 认真完成各项实验内容30分报告质量程序代码规范 功能正确 填写内容完整、表达收获70分说明:评阅教师:日期:2022年月日实验内容(说明:此局部应包含:实验原理、实验内容、实验要求、实验数据与分析过程等) 一、实验原理算法首先随机从数据集中选取K个点作为初始聚类中心,然后计算各个样本到聚类中的 距离,把样

18、本归到离它最近的那个聚类中心所在的类。计算新形成的每一个聚类的数据对象 的平均值来得到新的聚类中心,如果相邻两次的聚类中心没有任何变化,说明样本调整结束, 聚类准那么函数已经收敛。本算法的一个特点是在每次迭代中都要考察每个样本的分类是否正 确。假设不正确,就要调整,在全部样本调整完后,再修改聚类中心,进入下一次迭代。如果 在一次迭代算法中,所有的样本被正确分类,那么不会有调整,聚类中心也不会有任何变化, 这标志着已经收敛,因此算法结束。二、实验内容利用ORL人脸库作为实验数据库完成识别实验。有ORL人脸图像库有40个人,每 个人有10张人脸,总共400张人脸。选择每个人的前5张人脸作为训练集,

19、后5张人脸作为 测试集。从测试集选择一张人脸,使用K均值算法对该人脸进行识别分类。三、实验要求(1)令k=5,展示任意一个测试人脸的识别结果,计算200个测试人脸的正确识别率, 及其中错误识别的人脸编号(例如,第几个人的第几幅人脸)。(2)通过设置不同的参数k,计算不同参数下的正确识别率。分析参数k对于人脸识别 的影响。四、实验数据与结果分析(请附上主要的程序截图)Clear;clc;n=5;k=5; %k的值indata=zeros (40*n, 92*112) ;%创立训练样本空间for i=l:40for j=l:nad=strcat( F:Face0RL_Faces, , num2st

20、r (j),. bmp);a=imread(ad) 从地址中读入图像b=a(l:92*112); %把图像a矩阵按列顺序转为行向量bindata(n*(i-l)+j, :)=b; %把b的转置矩阵存放到imdata矩阵的第5* (iT)+j行endend_idx, C=kmeans(indata, k, distance , sqeuclidean,);%使用kmeans函数进行操作,其中:卬/ Zp(XIq)PQ)六1(2)利用计算出的后验概率及决策表,按下面的公式计算出采取的条件 风险R(% | X) = (%,叼)。3 X) i= 12,a j=i(3)对(2)中得到的a个条件风险值RQ

21、 | X) 1=1,a进行比拟,找出使其条件风险最小的决策cn,那么就是最小风险贝叶斯决策。 二、实验内容假定某个局部区域细胞识别中正常(叫)和非正常(灯)两类先验概率分别为:正常状 态月(可)=0.8;异常状态PM)= 02。现有一系列待观察的细胞,其观察值1为:-3. 72-3.68-1.35-0. 89-2. 76-3. 72-3. 54-2.26-3. 992.87-0.970. 79-1. 57-1.48-0. 74-0. 42-1.79-3.451. 18-1. 11-2.85-3. 073. 064. 25类条件概率服从正态分布Na,,/) ,)和p(x|例)的正态分布参数分别为

22、(T,0. 16)和(2,2),试对观察的结果进行分类。决策表如下: 最小风险贝叶斯决策表三、实验要求状态决策以a)2a04a?40(1)用MATLAB完成分类器的设计,要求程序相应语句有说明文字,要求有子程序的调用过程。(2)根据例子画出后验概率的分布曲线以及分类的结果示意图。四、实验数据与结果分析(请附上主要的程序截图)1.最小错误率的贝叶斯决策 clcclear%导入数据y = -3,72-3.68-1.35-0.89-1.79-2.85-2.76-3.72-3.54-2.26-3.45-3.07-3.992.87-0.970.791.183.06-1.57-1.48-0.74-0.42

23、-1.114.25 ;pxwl = normpdf (y, T , 0.16) ; %计算每个数据在第一类的类条件概率 pxw2 = normpdf (y, 2,2) ; %计算每个数据在第二类的类条件概率%x N*P的数据矩阵,每一行为一组数据%K表示将划分为几类,为整数%Idx N*1的向量,存储的是每一个样本所属的聚类标号%C K*P的矩阵,存储的是K个聚类质心位置m=zeros (1, 40) ;%记录每组人脸属于哪一个类矩阵for i=l:40m(i)=mode(idx(n*(i-l)+l:n*(i-l)+5, :) ;%记录每组人脸属于哪个类end%导入测试数据intest=zer

24、os (40*n, 92*112) ;%测试集空间for i=l:40forj=l:10-nad=strcat ( F: FaceORL_Facess,, num2str ,, num2str (10-j). bmp);a=imread(ad) ;%从地址中读入图像(序号倒序读)b=a(l:92*H2);%把图像a矩阵按列顺序转为行向量bintest (n* (i-1) +j, :)=b; %把b的转置矩阵存放到imdata矩阵的第5* (i-l) +j行endend刎壬意一个人脸测试结果(假设取第1个人的第1张脸)d二zeros (1, k) ; %存储到每类的距离 num_test=12;

25、for i二l:ksum=0;for j=l:92*112sum=sum+ (C (i, j) -intest (num_test, j) 2;%计算欧氏距离和的平方endd(i)=sqrt (sum) ; %距离和开平方endC, kc=min(d) ; %min()函数,kc返回最小值的标号,即所属类别if kc=m(l) %得到判断结果fprintfC第1个人的第1张脸和第三个人样本在同一类n);elsefprintfC测试照片和样本不在同一类,分类失败n);endclear numtest kc disjnin sum i j dis%测试200张人脸分类情况error=0; %记录分

26、类错误个数d=zeros (200, k)外存储每幅照片到每一类的欧式距离for i=l:40for j=l:10-nfor m=l:ksum=0;for n=l:92*112 %计算每幅照片到每一类的距离的平方sum=sum+ (C (m, n) -intest (n* (i-l) +j, n)厂2;endd (n* (i-1) + j, m) =sqrt (sum);endendend广,kc=min(d, 口, 2) ; %kc记录每张照片所属类别for i=l:40for j=l:10-nif kc(n*(iT)+j, l)=m(i) %测试照片分类与样本分类不一致error二erro

27、r+1;%记录错误个数fprintfC第%d个人第%d张照片分类错误! n, i, 10-j+l) ; %输出分类错误的照片endendendsout=error/200; % 计算错误率sout=(l-sout) *100; %计算正确率fprintf (分类的正确率为:%. 2f%, sout);运行结果:第2个人第:蛛0片分类槽谀, 就3个人第6张照片分餐信遥 第3个人第:张照片分震僧迷 筑11个人第6号照片分食僧谍, 筑15个人氤:既修片分穴Mh勺 第16个人第8非照片分穴Uh勺 旗16个人藏:张照片分a1谍第31个人濡:张辫片分震信澳! 旗32个人第8蛛照片分;酊上 帚3:个人第10

28、张照片分宾婚设,艰3:个人第8张照片分类值遽, 分穴的正辜为:84. 00%实验结果分析:经过测试发现,本系统识别的准确率达84.0%。依据理论,K值越大,那么样本平均更接近 总体平均,那么正确率提高;(说明:总结实验认识、过程、效果、问题、收获、体会、意见和建议。)本次实验比拟难,整体来说设计的依然存在很大的问题,代码总是跑不通,一些相应的问题 也没有得到解决,但最后在同学的帮助下顺利的完成了调试。pwl=0.8;%先验概率pw2 = 0 . 2;px= (pxwl*pwl+pxw2*pw2) ;%全概率%计算数据属于第一,二类的后验概率(.防止pw强制转换带来的错误) pwlx=pxwl*

29、pwl./px;pw2x=l-pwlx;%画出后验概率subplot(2,1,1),plot(pwlx);subplot(2,1,2),plot (pw2x);%判断哪个一个后验概论较大R=zeros (1,24) ;%建立初始分类矩阵for i=l:24%如果第i个数据属于第一类的后验概率大于第二类if pwlx(i)pw2x(i)R(i)=l; %该数据属于第一类,分类矩阵中该数据所对应的位置置为1elseR(i)=2;endi=i+l;enddisplay (基于最小错误率的贝叶斯分类结果:,); display。1表示该点属于第一类,2表示该点属于第二类);R %显示分类矩阵,其中1表

30、示第一类,2表示第二类实验结果如下图:工、最小错误率的贝叶斯分类结果:基于最小错误率的贝叶斯分类结果:1表示该点属于第一类,2表示该点属于第二类R =Columns 1 through 21Columns 22 through 242222、后验概率的分布曲线如以下图:最小风险贝叶斯决策: clcclear%导入数据-3.72-3.68-3.72-3.68-1.35 -0.89-1.79-2.85pxwl = normpdf (yz-l,0.16) ; %计算每个数据在第一类的类条件概率-2.76-3.72-3.54-2.26-3.45-3.07-3.992.87-0.970.791.183.

31、06-1.57-1.48-0.74-0.42-1.114.25 ;pxw2 = normpdf (y, 2,2) ; %计算每个数据在第二类的类条件概率 pwl = 0 . 8;pw2 = 0 . 2;px= (pxwl*pwl+pxw2*pw2) ;%全概率pwlx=pxwl*pwl. /px; %计算数据属于第一类的后验概率 pw2x=l-pwlx; %计算数据属于第二类的后验概率 %风险决策表 lossll=0;lossl2=4;Ioss21=4;loss22=0;Rl = lossll*pwlx+lossl2*pw2x;2属于第一类的条件风险R2 = loss21*pwlx+loss2

32、2*pw2x ;%属于第二类的条件风险Y=zeros (1,24) ;%建立初始分类矩阵for i=l:24if RI(i)叱-MX叱-X”使用Fisher准那么方法确定最正确线性分界面的方法是一个著名的方法,尽管提出该方法的 时间比拟早,仍有广泛地应用。二、实验内容有两类数据他和赳二者的概率3)= 0.7 ,2(口2)=。.3 O例中数据点的三维坐标如下:x = 0.211.570.690.771.051.190.280.250.660.520.900.13-0.310.97-0.260.57-0.650.750.351.02-0.070.130.310.650.581.531.230.87

33、-0.330.510.76-0.250.40-0.17-1.03-0.29y = 2.332.161.301.651.742.052.062.132.471.181.921.801.872.481.142.391.481.292.272.481.731.612.831.792.062.262.371.872.282.071.992.012.232.141.952.26z = 0.580.841.010.441.110.360.610.490.480.911.271.061.020.420.430.990.411.921.090.771.040.460.841.150.750.411.050.7

34、60.880.840.910.700.481.050.730.98g数据点对应的三维坐标如下:x2 = 1.401.212.141.151.401.191.721.992.422.502.721.991.201.241.242.712.111.791.321.161.771.502.531.462.931.891.802.562.782.382.032.601.272.151.732.94y2= 1.080.910.941.410.800.931.151.080.801.291.411.430.711.421.340.971.261.130.880.520.500.930.900.711.23

35、1.191.200.701.261.331.180.531.481.150.791.12z2 = 0.601.360.580.680.321.430.980.740.541.431.050.741.291.391.180.980.610.631.381.440.690.800.511.390.310.791.390.820.960.730.780.730.690.811.391.18三、实验要求(1)画出两类数据31和g的样本点在三维空间的分布图。把数据作为样本,根据Fisher选择投影方向W的原那么,使样本向量在该方向上的投影满足类间分布尽可能分开,类内样本投影尽可能密集的要求,求出评价投影

36、方向w的函数,求使/MW)取极大值的用MATLAB完成Fisher线性分类器的设计,程序语句要求有注释。(2)根据上述的结果判断(0.5, 1.3, 0.7), (1.6, 0.8, 0.9), (1.8, 1.0, 0.6), (0.9, 1.9, 0.8), (0.3, 2.3, 1.4)分别属于哪个类别,并画出数据分类相应的结果图,要求画出其在W上 的投影。四、实验数据与结果分析(请附上主要的程序截图)function fisher;%wl中数据点的坐标X =0.211.570.690.771.051.190.280.250.660.520.900.13-0.310.97-0.260.57-0.650.750.351.02-0.070.130.310.650.581.531.230.87-0.330.510.76-0.250.40-0.17-1.03-0.29y =2.332.161.301.651.742.052.062.132.471.181.921.80i.872.481.142.391.481.292.272.481.731.612.831.792.062.262.371.872.282.071.992.012.232.14

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁