《模式识别基础》实验报告[ 1 ]
专业班级 | 实验时间 | 2022 年 4 月 29 日 | |||||||||||||||||
学生学号 | 实验地点 | ||||||||||||||||||
学生姓名 | 指导教师 | ||||||||||||||||||
实验项目 | 贝叶斯分类器设计 | ||||||||||||||||||
实验类别 | 基础实验 | 实验学时 | 2学时 | ||||||||||||||||
实验目的及要求 | 本实验旨在对模式识别有一个初步的理解,能够根据分类器的设计对贝叶斯决策理论算法有一个深刻地认识,理解两类分类器的设计原理。 | ||||||||||||||||||
成 绩 评 定 表 | |||||||||||||||||||
类 别 | 评 分 标 准 | 分值 | 得分 | 合 计 | |||||||||||||||
上机表现 | 按时出勤、遵守纪律 认真完成各项实验内容 | 30分 | |||||||||||||||||
报告质量 | 程序代码规范、功能正确 填写内容完整、体现收获 | 70分 | |||||||||||||||||
说明: 评阅教师: 日 期: 2022 年 月 日 | |||||||||||||||||||
实 验 内 容 | |||||||||||||||||||
(说明:此部分应包含:实验原理、实验内容、实验要求、实验数据与分析过程等) 一、实验原理 最小风险贝叶斯决策可按下列步骤进行: (1)在已知,,i=1,…,c及给出待识别的X的情况下,根据贝叶斯公式计算出后验概率: j = 1,……,x (2)利用计算出的后验概率及决策表,按下面的公式计算出采取的条件风险 i = 1,2,……, (3)对(2)中得到的个条件风险值,i=1,……,进行比较,出使其条件风险最小的决策,则就是最小风险贝叶斯决策。 二、实验内容 假定某个局部区域细胞识别中正常()和非正常()两类先验概率分别为:正常状态;异常状态。现有一系列待观察的细胞,其观察值为: -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.99 2.87 -0.97 0.79 调用子程序的例子 1.18 3.06 -1.57 -1.48 -0.74 -0.42 -1.11 4.25 类条件概率服从正态分布,和 的正态分布参数分别为(-1,0.16)和(2,2),试对观察的结果进行分类。决策表如下: 最小风险贝叶斯决策表
三、实验要求 (1)用MATLAB完成分类器的设计,要求程序相应语句有说明文字,要求有子程序的调用过程。 (2)根据例子画出后验概率的分布曲线以及分类的结果示意图。 四、实验数据与结果分析(请附上主要的程序截图) 1.最小错误率的贝叶斯决策 clc clear %导入数据 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.99 2.87 -0.97 0.79 1.18 3.06 -1.57 -1.48 -0.74 -0.42 -1.11 4.25 ] ; pxw1 = normpdf(y,-1,0.16);%计算每个数据在第一类的类条件概率 pxw2 = normpdf(y,2,2); %计算每个数据在第二类的类条件概率 pw1=0.8; %先验概率 pw2=0.2; px=(pxw1*pw1+pxw2*pw2); %全概率 %计算数据属于第一,二类的后验概率(.避免pw强制转换带来的错误) pw1x=pxw1*pw1./px; pw2x=1-pw1x; %画出后验概率 subplot(2,1,1),plot(pw1x); subplot(2,1,2),plot(pw2x); %判断哪个一个后验概论较大 R=zeros(1,24); %建立初始分类矩阵 for i=1:24 %如果第i个数据属于第一类的后验概率大于第二类 if pw1x(i)>pw2x(i) R(i)=1; %该数据属于第一类,分类矩阵中该数据所对应的位置置为1 else R(i)=2; end i=i+1; end display(' 基 于 最 小 错 误 率 的 贝 叶 斯 分 类 结 果 :'); display('1表示该点属于第一类,2表示该点属于第二类 '); R %显示分类矩阵,其中1表示第一类,2表示第二类 实验结果如图所示: 1、最小错误率的贝叶斯分类结果: 2、后验概率的分布曲线如下图: 最小风险贝叶斯决策: clc clear %导入数据 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.99 2.87 -0.97 0.79 1.18 3.06 -1.57 -1.48 -0.74 -0.42 -1.11 4.25 ] ; pxw1 = normpdf(y,-1,0.16); %计算每个数据在第一类的类条件概率 pxw2 = normpdf(y,2,2); %计算每个数据在第二类的类条件概率 pw1=0.8; pw2=0.2; px=(pxw1*pw1+pxw2*pw2); %全概率 pw1x=pxw1*pw1./px; %计算数据属于第一类的后验概率 pw2x=1-pw1x; %计算数据属于第二类的后验概率 %风险决策表 loss11=0;loss12=4; loss21=4;loss22=0; R1=loss11*pw1x+loss12*pw2x; %属于第一类的条件风险 R2=loss21*pw1x+loss22*pw2x ; %属于第二类的条件风险 Y=zeros(1,24); %建立初始分类矩阵 for i=1:24 if R1(i)<R2(i) Y(i)=1; else Y(i)=2; end end display(' 基 于 最 小 风险的 贝 叶 斯 分 类 结 果 :'); display('1表示该点属于第一类,2表示该点属于第二类'); Y %显示分类矩阵,其中1表示第一类,2表示第二类 最小风险贝叶斯分类结果如下图: 实验结果分析: 已知先验概率和类条件概率密度,通过程序代码运行出后验概率,并对24个进行分类,实验结果表面,前6个点属于第一类,后18个点属于第二类,这样的决策使得损失降到最低。 | |||||||||||||||||||
实 验 总 结 | |||||||||||||||||||
(说明:总结实验认识、过程、效果、问题、收获、体会、意见和建议。) 本次实验第一次做,刚开始不到入门的方向,随后在参考到网上的相关资料后,到了入门的途径,然后在网上到了相关的代码,简单复制过来后还存在着许多的问题,首先很多代码的符号存在问题,其次代码不全,比如没有出图的代码,在经过以一系列的调试与排除错误之后。最终将结果运行了出来。对matlab的熟练度又增加了不少。 | |||||||||||||||||||
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论