《模式识别基础》实验报告[ 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),试对观察的结果进行分类。决策表如下:
最小风险贝叶斯决策表
      状态
决策
0
4
4
0
三、实验要求
(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表示该点属于第二类 '); 
%显示分类矩阵,其中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小时内删除。