一、 实验目的
1. 了解最小风险判决的基本原理;
2. 掌握最小风险判决规则的算法设计方法及 MATLAB 仿真。
二、实验仪器
安装有 MATLAB 软件的计算机一台。
三、实验内容

①给定样本 X,计算各类后验概率 ,j=1,2,...,c。
②在已知风险矩阵的条件下,按照⑵求各种判决的条件平均风险 ,i=1,2,...,a。
③按照⑶,比较各种判决的条件平均风险,把样本 X 归属于条件平均风险最小的那一张
判决。
四.实验代码
function [R1_x,R2_x,result]=m123344(~,~,~)
x=[-3.9847 -3.5549 -1.2401 -0.9780 -0.7932 -2.8531 -2.7605-3.7287 -2.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;%正常细胞的先验概率为0.9,异常细胞概率为0.1
%[R1_X,R2_x,result]=smalltestbayes (x,pw1,pw2);
m=numel(x);%得到待测细胞数目
R1_x=zeros(1,m);%存放把样本X判为正常细胞所造成的整体损失
R2_x=zeros(1,m);%存放把样本X判为异常细胞所造成的整体损失
result=zeros(1,m);%存放比较结果%类条件概率分布
% px_wl:(-2,0.25)
% px_w2:(2,2)
e1=-2;
a1=0.5;
e2=2;
a2=2;
%风险决策值表
r11=0;
r12=4;
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),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;
else
result(i)=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*normpdf(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')%异常细胞用圆表示
end
end
legend('正常细胞','异常细胞','Location','best')
xlabel('细胞分类结果')
ylabel('风险条件')
title('风险判别曲线')
grid on
return
function [R1_x,R2_x,result]=m123344(~,~,~)
x=[-3.9847 -3.5549 -1.2401 -0.9780 -0.7932 -2.8531 -2.7605-3.7287 -2.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;%正常细胞的先验概率为0.9,异常细胞概率为0.1
%[R1_x,R2_x,result]=m123344 (x,pw1,pw2);
m=numel(x);%得到待测细胞数目
R1_x=zeros(1,m);%存放把样本X判为正常细胞所造成的整体损失
R2_x=zeros(1,m);%存放把样本X判为异常细胞所造成的整体损失
result=zeros(1,m);%存放比较结果%类条件概率分布
% px_wl:(-2,0.25)
% px_w2:(2,2)
e1=-2;
a1=0.5;
e2=2;
a2=2;
%风险决策值表
r11=0;
r12=4;
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),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;
else
result(i)=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
%normpdf(参数,均值,标准差)正态密度函数
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*normpdf(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')%异常细胞用圆表示
end
end
legend('正常细胞','异常细胞','Location','best')%图形标注函数
xlabel('细胞分类结果')%X轴标签
ylabel('风险条件')%y轴标签
title('风险判别曲线')%图像标签
grid on%是否加网格线
Return
五.实验结果
ans =
列 1 至 13
1.8180 0.2752 0.0927 0.2758 0.6466 0.0249 4.0000 0.0151 0.0131 0.1775 0.0443 4.0000 0.2758
列 14 至 21
0.6466 0.1132 0.0434 0.0316 0.0405 0.8140 0.0350 3.3729