模式识别作业
- 格式:docx
- 大小:16.10 KB
- 文档页数:2
模式识别课程Matlab程序作业
模式识别贝叶斯决策:正常状态细胞P(ω1)=0.9,异常状态细胞P(ω2)=0.1,类条件概率密度分别为P(x|ω1)~N(0,1),P(x|ω2)~N(0.2,1.5),现有一待识别细胞,其观察值为0.2,用Matlab写出程序对该细胞进行分类。
编写程序如下:
close all;
clear all;
X=-6:0.0001:6; %设置采样范围及精度
pw1=0.9;pw2=0.1; %设置先验概率
u1=-2;sig1=0.25;u2=2;sig2=4; %设置类条件概率分布参数
y1=(1./sqrt(2*pi*sig1))*gaussmf(X,[sqrt(sig1) u1]);%计算类别一(正常细胞)的类条件概率分布
y2=(1./sqrt(2*pi*sig2))*gaussmf(X,[sqrt(sig2) u2]);%计算类别二(异常细胞)的类条件概率分布
%figure(1)
%plot(X,y1,X,y2);
subplot(3,1,1);plot(X,y1,'b:',X,y2,'r-');
title('类条件概率分布曲线');
legend('正常细胞','异常细胞');
P1=pw1*y1./(pw1*y1+pw2*y2);
P2=pw2*y2./(pw1*y1+pw2*y2);
%figure(2);
subplot(3,1,2);plot(X,P1,'b:',X,P2,'r-');
title('后验概率分布曲线');
legend('正常细胞','异常细胞');
[x,y] = ginput(2);
sample=textread('test.txt','%f');%读入样本
samplew1=zeros(1,length(sample));
%sample=[-3.9847 -3.5549 -1.2401 -0.9780 -0.7932 -2.8531
% -2.7605 -3.7287 -3.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 ]
a=1;b=1;
for n=1:24
if (sample(n)>=x(1))&&(sample(n)<=x(2))
samplew1(a)=sample(n); a=a+1;
else
samplew2(b)=sample(n);
b=b+1;
end
end
samplew1,samplew2;
subplot(3,1,2);
plot(X,P1,'b:',X,P2,'r-',samplew1,0.5,'mo',samplew2,0.5,'c*');
title('后验概率分布曲线');
legend('正常细胞','异常细胞');
f=[0 4;2 0]; %设置风险矩阵
R1=f(1,1)*P1+f(1,2)*P2;
R2=f(2,1)*P1+f(2,2)*P2;
subplot(3,1,3);
plot(X,R1,'b:',X,R2,'r-');
title('风险曲线');
legend('正常细胞','异常细胞');
[p,q] = ginput(2);
c=1;d=1;
for n=1:24
if (sample(n)>=p(1))&&(sample(n)<=p(2))
sampler1(c)=sample(n);
c=c+1;
else
sampler2(d)=sample(n);
d=d+1;
end
end
subplot(3,1,3);
plot(X,R1,'b:',X,R2,'r-',sampler1,2.5,'mo',sampler2,2.5,'c*');
title('风险曲线');
legend('正常细胞','异常细胞');