模式识别实验报告Word文件下载.docx
《模式识别实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《模式识别实验报告Word文件下载.docx(44页珍藏版)》请在冰点文库上搜索。
,即
则
就是最小风险贝叶斯决策。
1.5实验内容:
假定某个局部区域细胞识别中正常(
)和非正常(
)两类先验概率分别为
正常状态:
P(
)=0.9;
异常状态:
)=0.1。
现有一系列待观察的细胞,其观察值为
:
-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.99342.8792-0.97800.79321.18823.0682
-1.5799-1.4885-0.7431-0.4221-1.11864.2532
已知先验概率是的曲线如下图:
类条件概率分布正态分布分别为(-2,0.25)(2,4)试对观察的结果进行分类。
1.6实验要求:
1)用matlab完成分类器的设计,要求程序相应语句有说明文字,要求有子程序的调用过程。
2)根据例子画出后验概率的分布曲线以及分类的结果示意图。
3)如果是最小风险贝叶斯决策,决策表如下:
最小风险贝叶斯决策表:
状态
决策
α1
6
α2
1
请重新设计程序,画出相应的后验概率的分布曲线和分类结果,并比较两个结果。
1.7实验代码和结果
最小错误率贝叶斯分类器设计
实验程序:
x=[-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.99342.8792-0.97800.79321.18823.0682
-1.5799-1.4885-0.7431-0.4221-1.11864.2532]
pw1=0.9;
pw2=0.1
e1=-2;
a1=0.5
e2=2;
a2=2
m=numel(x)%得到待测细胞个数
pw1_x=zeros(1,m)%存放对w1的后验概率矩阵
pw2_x=zeros(1,m)%存放对w2的后验概率矩阵
results=zeros(1,m)%存放比较结果矩阵
fori=1:
m%计算在w1下的后验概率
pw1_x(i)=(pw1*normpdf(x(i),e1,a1))/(pw1*normpdf(x(i),e1,a1)+pw2*normpdf(x(i),e2,a2))
%计算在w2下的后验概率
pw2_x(i)=(pw2*normpdf(x(i),e2,a2))/(pw1*normpdf(x(i),e1,a1)+pw2*normpdf(x(i),e2,a2))
end
m
ifpw1_x(i)>
pw2_x(i)%比较两类后验概率
result(i)=0%正常细胞
else
result(i)=1%异常细胞
end
a=[-5:
0.05:
5]%取样本点以画图
n=numel(a)
pw1_plot=zeros(1,n)
pw2_plot=zeros(1,n)
forj=1:
n
pw1_plot(j)=(pw1*normpdf(a(j),e1,a1))/(pw1*normpdf(a(j),e1,a1)+pw2*normpdf(a(j),e2,a2))%计算每个样本点对w1的后验概率以画图
pw2_plot(j)=(pw2*normpdf(a(j),e2,a2))/(pw1*normpdf(a(j),e1,a1)+pw2*normpdf(a(j),e2,a2))
figure
(1)
holdon
plot(a,pw1_plot,'
k-'
a,pw2_plot,'
r-.'
)
fork=1:
ifresult(k)==0
plot(x(k),-0.1,'
b*'
)%正常细胞用*表示
rp'
)%异常细胞用五角星表示
end;
end;
legend('
正常细胞后验概率曲线'
'
异常细胞后验概率曲线'
正常细胞'
异常细胞'
xlabel('
样本细胞的观察值'
ylabel('
后验概率'
title('
后验概率分布曲线'
gridon
return;
运行结果
后验概率分布曲线
后验概率曲线与判决结果在一张图上:
后验概率曲线如图所示,带*的曲线为判决成异常细胞的后验概率曲线;
另一条平滑的曲线为判为正常细胞的后验概率曲线。
根据最小错误概率准则,判决结果见曲线下方,其中“*”代表判决为正常细胞,“五角星”代表异常细胞各细胞分类结果:
各细胞分类结果:
000000000000010111000101
0为判成正常细胞,1为判成异常细胞
最小风险贝叶斯决策分类器设计
实验程序
x=[-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]
disp(x)
pw1=0.9
pw2=0.1
[R1_x,R2_x,result]=bayes(x,pw1,pw2)
function[R1_x,R2_x,result]=danger(x,pw1,pw2)
R1_x=zeros(1,m)%存放把样本X判为正常细胞所造成的整体损失
R2_x=zeros(1,m)%存放把样本X判为异常细胞所造成的整体损失
result=zeros(1,m)%存放比较结果
e1=-2
a1=0.5
e2=2
a2=2%类条件概率分布
px_w1:
(-2,0.25)px_w2(2,4)
r11=0
r12=2
r21=4
r22=0%风险决策表
fori=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))
ifR2_x(i)>
R1_x(i)%第二类比第一类风险大
result(i)=0%判为正常细胞(损失较小),用0表示
result(i)=1%判为异常细胞,用1表示
5]%取样本点以画图
R1_plot=zeros(1,n)
R2_plot=zeros(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))%计算各样本点的风险以画图
figure
(1)
plot(a,R1_plot,'
b-'
a,R2_plot,'
g*-'
b^'
)%正常细胞用上三角表示
go'
)%异常细胞用圆表示
Location'
Best'
细胞分类结果'
条件风险'
风险判决曲线'
return
最小风险贝叶斯决策风险判决曲线如上图所示,其中带*的绿色曲线代表异常细胞的条件风险曲线;
另一条光滑的蓝色曲线为判为正常细胞的条件风险曲线。
根据贝叶斯最小风险判决准则,判决结果见曲线下方,其中“上三角”代表判决为正常细胞,“圆圈“代表异常细胞。
100000000000110111000101
其中,0为判成正常细胞,1为判成异常细胞
分类结果比较:
由最小错误率的贝叶斯判决和基于最小风险的贝叶斯判决得出的图形中的分类结果可以看出,样本-3.9934、-3.9847在前者中被分为“正常细胞”,在后者中被分为“异常细胞”,分类结果截然不同。
因为在给予最小风险的贝叶斯判决中,影响决策结果的因素多了一个“损失”。
可以看出,在图1中,这两个样本点下两类决策的后验概率相差很小,当结合最小风险贝叶斯决策表进行计算时,“损失”就起了主导作用,导致出现了相反的结果。
另外,最小错误率贝叶斯决策就是在0-1损失函数条件下的最小风险贝叶斯决策,即前者是后者的特例。
实验二、基于Fisher准则线性分类器设计
2.1实验类型:
设计型:
线性分类器设计(Fisher准则)
2.2实验目的:
本实验旨在让同学进一步了解分类器的设计概念,能够根据自己的设计对线性分类器有更深刻地认识,理解Fisher准则方法确定最佳线性分界面方法的原理,以及Lagrande乘子求解的原理。
2.3实验条件:
2.4实验原理:
线性判别函数的一般形式可表示成
其中
根据Fisher选择投影方向W的原则,即使原样本向量在该方向上的投影能兼顾类间分布尽可能分开,类内样本投影尽可能密集的要求,用以评价投影方向W的函数为:
上面的公式是使用Fisher准则求最佳法线向量的解,该式比较重要。
另外,该式这种形式的运算,我们称为线性变换,其中
式一个向量,
是
的逆矩阵,如
是d维,
和
都是d×
d维,得到的
也是一个d维的向量。
向量
就是使Fisher准则函数
达极大值的解,也就是按Fisher准则将d维X空间投影到一维Y空间的最佳投影方向,该向量
的各分量值是对原d维特征向量求加权和的权值。
以上讨论了线性判别函数加权向量W的确定方法,并讨论了使Fisher准则函数极大的d维向量
的计算方法,但是判别函数中的另一项
尚未确定,一般可采用以下几种方法确定
如
或者
或当
与
已知时可用
……
当W0确定之后,则可按以下规则分类,
使用Fisher准则方法确定最佳线性分界面的方法是一个著名的方法,尽管提出该方法的时间比较早,仍见有人使用。
2.5实验内容:
已知有两类数据
二者的概率已知
=0.6,
=0.4。
中数据点的坐标对应一一如下:
数据:
x=
0.23311.52070.64990.77571.05241.1974
0.29080.25180.66820.56220.90230.1333
-0.54310.9407-0.21260.0507-0.08100.7315
0.33451.0650-0.02470.10430.31220.6655
0.58381.16531.26530.8137-0.33990.5152
0.7226-0.20150.4070-0.1717-1.0573-0.2099
y=
2.33852.19461.67301.63651.78442.0155
2.06812.12132.47971.51181.96921.8340
1.87042.29481.77142.39391.56481.9329
2.20272.45681.75231.69912.48831.7259
2.04662.02262.37571.79872.08282.0798
1.94492.38012.23732.16141.92352.2604
z=
0.53380.85141.08310.41641.11760.5536
0.60710.44390.49280.59011.09271.0756
1.00720.42720.43530.98690.48411.0992
1.02990.71271.01240.45760.85441.1275
0.77050.41291.00850.76760.84180.8784
0.97510.78400.41581.03150.75330.9548
数据点的对应的三维坐标为
x2=
1.40101.23012.08141.16551.37401.1829
1.76321.97392.41522.58902.84721.9539
1.25001.28641.26142.00712.18311.7909
1.33221.14661.70871.59202.93531.4664
2.93131.83491.83402.50962.71982.3148
2.03532.60301.23272.14651.56732.9414
y2=
1.02980.96110.91541.49010.82000.9399
1.14051.06780.80501.28891.46011.4334
0.70911.29421.37440.93871.22661.1833
0.87980.55920.51500.99830.91200.7126
1.28331.10291.26800.71401.24461.3392
1.18080.55031.47081.14350.76791.1288
z2=
0.62101.36560.54980.67080.89321.4342
0.95080.73240.57841.49431.09150.7644
1.21591.30491.14080.93980.61970.6603
1.39281.40840.69090.84000.53811.3729
0.77310.73191.34390.81420.95860.7379
0.75480.73930.67390.86511.36991.1458
数据的样本点分布如下图:
2.6实验要求:
1)请把数据作为样本,根据Fisher选择投影方向
的原则,使原样本向量在该方向上的投影能兼顾类间分布尽可能分开,类内样本投影尽可能密集的要求,求出评价投影方向
的函数,并在图形表示出来。
并在实验报告中表示出来,并求使
取极大值的
。
用matlab完成Fisher线性分类器的设计,程序的语句要求有注释。
2)根据上述的结果并判断(1,1.5,0.6)(1.2,1.0,0.55),(2.0,0.9,0.68),(1.2,1.5,0.89),(0.23,2.33,1.43),属于哪个类别,并画出数据分类相应的结果图,要求画出其在
上的投影。
3)回答如下问题,分析一下
的比例因子对于Fisher判别函数没有影响的原因。
2.7实验代码和实验结果
分类器设计和分类结果
x1=[0.23311.52070.64990.77571.05241.1974
0.7226-0.20150.4070-0.1717-1.0573-0.2099];
y1=[2.33852.19461.67301.63651.78442.0155
1.94492.38012.23732.16141.92352.2604];
z1=[0.53380.85141.08310.41641.11760.5536
0.97510.78400.41581.03150.75330.9548];
x2=[1.40101.23012.08141.16551.37401.1829
2.03532.60301.23272.14651.56732.9414];
y2=[1.02980.96110.91541.49010.82000.9399
1.18080.55031.47081.14350.76791.1288];
z2=[0.62101.36560.54980.67080.89321.4342
0.75480.73930.67390.86511.36991.1458];
%数据录入,整合为矩阵
k=0;
forj=1:
k=k+1;
w1(:
k)=[x1(i,j);
y1(i,j);
z1(i,j)];
w2(:
k)=[x2(i,j);
y2(i,j);
z2(i,j)];
end
end
%计算均值向量m1和m2
m1=mean(w1,2);
m2=mean(w2,2);
%计算离散度矩阵
36
s1=(w1(:
i)-m1)*(w1(:
i)-m1)'
;
s2=(w2(:
i)-m2)*(w2(:
i)-m2)'
sw=s1+s2;
%计算阀值w0
w_new=transpose(inv(sw)*(m1-m2));
m1_new=w_new*m1;
m2_new=w_new*m2;
Pw1=0.6;
Pw2=0.4;
e=exp
(1);
w0=(m1_new+m2_new)/2-log(Pw1/Pw2)/log(e)/(36+36-2);
%分类判断
x=[11.22.01.20.23
1.51.00.91.52.33
0.60.550.680.891.43];
m=0;
n=0;
result1=[];
result2=[];
5
y(i)=w_n