2.依据最小风险的贝叶斯决策对观察的结果进行分类MATLAB程序代码

一、题目:

>【题目】:假定某个局部区域细胞识别中正常P(w1)和非正常P(w2)两类先验概率分别为:
正常状态:P(w1) =0.9;异常状态:P(W2)=0.1。


现有一系列待观察的细胞,其观察值为:-2.67 -3.55 -1.24 -0.98 -0.79 -2.85 -2.76 -3.73 -3.54 -2.27 -3.45 -3.08 -1.58 -1.49 -0.74 -0.42 -1.12 4.25 -3.99 2.88 -0.98 0.79 1.19 3.07
两类的类条件概率符合正态分布,分别为p(x/w1)=(-2,1.5),p(x|w2)=(2,2)。风险决策表为:λ12=7,λ21=2,λ11=λ22=0。

1)依据最小错误率的贝叶斯决策对观察的结果进行分类。
2)依据最小风险的贝叶斯决策对观察的结果进行分类。

2.依据最小风险的贝叶斯决策对观察的结果进行分类MATLAB程序代码_第1张图片​​​​​​​

二、Matlab代码:

%1.导入数据
clc
clear
 x=[-2.67 -3.55 -1.24 -0.98 -0.79 -2.85 -2.76 -3.73 
     -3.54 -2.27 -3.45 -3.08 -1.58 -1.49 -0.74 -0.42
     -1.12 4.25 -3.99 2.88 -0.98 0.79 1.19 3.07]%导入数据
%2.计算数据的后验概率
 pxw1=normpdf(x,-2,1.5)%计算每个数据在第一类的类条件概率
 pxw2=normpdf(x,2,2)%计算每个数据在第二类的类条件概率
 pw1=0.9;pw2=0.1;
 px=(pxw1*pw1+pxw2*pw2)
 pwx1=pxw1*pw1./px%计算数据属于第一类的后验概率
 pwx2=1-pwx1%计算数据属于第二类的后验概率
 %3.基于最小错误率进行分类决策
 R=zeros(1,24);%建立初始分类矩阵 1x24的全零阵
 for i=1:24
if pwx1(i)>pwx2(i)%如果第i个数据属于第一类的后验概率大于第二类
   R(i)=1;%该数据属于第一类,分类矩阵中该数据所对应的位置置为1
else
   R(i)=2; %该数据属于第二类,分类矩阵中该数据所对应的位置置为2
end
   i=i+1;
 end
%4.显示最小错误率的分类结果
display('基于最小错误率的贝叶斯分类结果:');
display('1表示该点属于第一类,2表示该点属于第二类');
R%显示分类矩阵,其中1表示第一类,2表示第二类


%5.分别计算各数据属于第一类和第二类的条件风险
loss11=0;loss12=7;loss21=2;loss22=0;
R1=loss11*pwx1+loss12*pwx2%属于第-类的条件风险
R2=loss21*pwx1+loss22*pwx2%属于第二类的条件风险
%6.基于最小风险进行决策
Y=zeros(1,24);%建立初始分类矩阵
for i=1:24
if R1(i)

三、运行结果:

2.依据最小风险的贝叶斯决策对观察的结果进行分类MATLAB程序代码_第2张图片

你可能感兴趣的:(机器学习与模式识别,matlab,开发语言,分类,机器学习)