模式识别作业

  • 格式: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('正常细胞','异常细胞');