模式识别期末考试.docx
- 文档编号:25478172
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:28
- 大小:167.54KB
模式识别期末考试.docx
《模式识别期末考试.docx》由会员分享,可在线阅读,更多相关《模式识别期末考试.docx(28页珍藏版)》请在冰豆网上搜索。
模式识别期末考试
一:
问答
1.什么是模式?
通过对具体个别事物进行观测所得到的具有时间和空间分布的信息称为模式。
模式所指的不是事物本身,而是我们从事物中获得的信息。
2.模式识别系统主要由哪些部分组成?
信息获取,预处理,特征提取与选择,分类决策,后处理。
3.最小错误率贝叶斯分类器设计过程?
答:
根据训练数据求出先验概率
类条件概率分布
利用贝叶斯公式得到后验概率
如果输入待测样本X,计算X的后验概率根据后验概率大小进行分类决策分析。
4.怎样利用朴素贝叶斯方法获得各个属性的类条件概率分布?
答:
假设各属性独立,P(x|ωi)=P(x1,x2,…,xn|ωi)=P(x1|ωi)P(x2|ωi)…P(xn|ωi)
后验概率:
P(ωi|x)=P(ωi)P(x1|ωi)P(x2|ωi)…P(xn|ωi)
类别清晰的直接分类算,如果是数据连续的,假设属性服从正态分布,算出每个类的均值方差,最后得到类条件概率分布。
均值:
方差:
二:
解答
1.设有如下三类模式样本集ω1,ω2和ω3,其先验概率相等,求Sw和Sb
ω1:
{(10)T,(20)T,(11)T}
ω2:
{(-10)T,(01)T,(-11)T}
ω3:
{(-1-1)T,(0-1)T,(0-2)T}
答:
由于三类样本集的先验概率相等,则概率均为1/3。
多类情况的类内散度矩阵,可写成各类的类内散布矩阵的先验概率的加权和,即:
其中Ci是第i类的协方差矩阵。
其中
,
,
则
类间散布矩阵常写成:
其中,
为多类模式(如共有c类)分布的总体均值向量,即:
则
=
2.设有如下两类样本集,其出现的概率相等:
ω1:
{(000)T,(100)T,(101)T,(110)T}
ω2:
{(001)T,(010)T,(011)T,(111)T}
用K-L变换,分别把特征空间维数降到二维和一维。
答:
把
和
两类模式作为一个整体来考虑,故
符合K-L变换进行特征压缩的最佳条件。
因P(ω1)=P(ω2)=0.5,故
协方差矩阵
从题中可以看出,协方差矩阵
已经是个对角阵,故
的本征值
其对应的特征向量为:
(1)、将其降到二维的情况:
选λ1和λ2对应的变换向量作为变换矩阵,在这里我们取
和
,得到
。
由
得变换后的二维模式特征为
:
:
(2)、将其降到一维的情况:
选λ1对应的变换向量作为变换矩阵,由
得变换后的一维模式特征为
:
:
三:
编程:
1.已知样本集呈现正态分布,采用基于最小错误率的贝叶斯决策方法,编程待定样本x=(2,0)T的类别,并画出分界线。
训练样本号k
123
123
特征x1
112
-1-1-2
特征x2
10-1
10-1
类别
ω1
ω2
解:
clear
D1=[1,1,2;1,0,-1;];
D2=[-1,-1,-2;1,0,-1;];
u1=mean(D1,2);
u2=mean(D2,2);
c1=zeros(size(D1,1),size(D1,1));
fori=1:
size(D1,2)
c1=c1+D1(:
i)*D1(:
i)';
end
c1=c1/size(D1,2)-u1*u1';
c2=zeros(size(D2,1),size(D2,1));
fori=1:
size(D2,2)
c2=c2+D2(:
i)*D2(:
i)';
end
c2=c2/size(D2,2)-u2*u2';
I=eye(size(c1,1),size(c1,1));
ic1=c1\I;
ic2=c2\I;
W1=-0.5*ic1;
W2=-0.5*ic2;
w1=ic1*u1;
w2=ic2*u2;
w10=-0.5*log(det(c1))-0.5*u1'*ic1*u1;
w20=-0.5*log(det(c2))-0.5*u2'*ic2*u2;
symsx1x2;
x=[x1;x2];
fprintf('决策界面方程为:
')
D=x'*(W1-W2)*x+(w1-w2)'*x+(w10-w20);
pretty(D)
fprintf('(2,0)代入决策面方程的值为:
')
value=subs(D,{x1,x2},[20])
figure
ezplot(D)
holdon
plot(D1(1,:
),D1(2,:
),'bo')
plot(D2(1,:
),D2(2,:
),'ks')
plot(2,0,'rp')
决策界面方程为:
48x1-9x1conj(x2)-9x2conj(x1)
(2,0)代入决策面方程的值为:
value=
96
有运行结果看出x=(20)T属于第一类
2.已知四个训练样本
w1={(0,0),(0,1)}w2={(1,0),(1,1)}
使用感知器固定增量法求判别函数
设w0=(1,1,1,1)ρ=1
要求编写程序,写出判别函数,并打出图表。
解:
clearall
w=[001;011;-10-1;-1-1-1];
W=[111];
flag=1;
flagS=zeros(1,size(w,1));
rowk=1;
k=0;
whileflag
fori=1:
size(w,1)
ifisempty(find(flagS==0))
flag=0;
break;
end
k=k+1;
pb=w(i,:
)*W';
ifpb<=0
flagS(i)=0;
W=W+rowk*w(i,:
);
else
flagS(i)=1;
end
end
end
disp('W=')
disp(W)
disp('k=')
disp(k)
wp1=[00;01];
wp2=[10;11];
plot(wp1(:
1),wp1(:
2),'o')
holdon
plot(wp2(:
1),wp2(:
2),'*')
holdon
y=-0.2:
1/100:
1.2;
plot(1/3*ones(1,size(y)),y,'r-')
axis([-0.251.25-0.251.25])
结果:
W=
-301
k=
17
判别函数为:
3.编程实现下列样本的fisher法分类:
解:
x1=[0111];y1=[0001];z1=[0010];
x2=[0001];y2=[0111];z2=[1101];
m1x=mean(x1(:
));
m1y=mean(y1(:
));
m1z=mean(z1(:
));
m1=[m1x
m1y
m1z];
m2x=mean(x2(:
));
m2y=mean(y2(:
));
m2z=mean(z2(:
));
m2=[m2x
m2y
m2z];
S1=zeros(3,3);
fori=1:
4
S1=S1+([x1(i),y1(i),z1(i)]'-m1)*([x1(i),y1(i),z1(i)]'-m1)';
end
S2=zeros(3,3);
fori=1:
4
S2=S2+([x2(i),y2(i),z2(i)]'-m2)*([x2(i),y2(i),z2(i)]'-m2)';
end
Sw=S1+S2;
W=(inv(Sw))*(m1-m2);
x=0:
.1:
2.5;
y=0:
.1:
3;
[X,Y]=meshgrid(x,y);
Z=(W
(1)*X+W
(2)*Y)/(-W(3));
mesh(X,Y,Z)
holdon;
hiddenoff;
Y1=0;
fori=1:
4
Y1=Y1+W'*[x1(i),y1(i),z1(i)]';
end
M1=Y1/4;
Y2=0;
fori=1:
4
Y2=Y2+W'*[x2(i),y2(i),z2(i)]';
end
M2=Y2/4;
Y0=(M1+M2)/2;
X1=[000]';
ifW'*X1>Y0
disp('点X1(0,0,0)属于第一类')
plot3(0,0,0,'or')
else
disp('点X1(0,0,0)属于第二类')
plot3(0,0,0,'ob')
end
X2=[100]';
ifW'*X2>Y0
disp('点X2(1,0,0)属于第一类')
plot3(1,0,0,'or')
else
disp('点X2(1,0,0)属于第二类')
plot3(1,0,0,'ob')
end
X3=[101]';
ifW'*X3>Y0
disp('点X3(1,0,1)属于第一类')
plot3(1,0,1,'or')
else
disp('点X3(1,0,1)属于第二类')
plot3(1,0,1,'ob')
end
X4=[110]';
ifW'*X4>Y0
disp('点X4(1,1,0)属于第一类')
plot3(1,1,0,'or')
else
disp('点X4(1,1,0)属于第二类')
plot3(1,1,0,'ob')
end
X5=[001]';
ifW'*X5>Y0
disp('点X5(0,0,1)属于第一类')
plot3(0,0,1,'or')
else
disp('点X5(0,0,1)属于第二类')
plot3(0,0,1,'ob')
end
X6=[011]';
ifW'*X6>Y0
disp('点X6(0,1,1)属于第一类')
plot3(0,1,1,'or')
else
disp('点X6(0,1,1)属于第二类')
plot3(0,1,1,'ob')
end
X7=[010]';
ifW'*X7>Y0
disp('点X7(0,1,0)属于第一类')
plot3(0,1,0,'or')
else
disp('点X7(0,1,0)属于第二类')
plot3(0,1,0,'ob')
end
X8=[111]';
ifW'*X8>Y0
disp('点X8(1,1,1)属于第一类')
plot3(1,1,1,'or')
else
disp('点X8(1,1,1)属于第二类')
plot3(1,1,1,'ob')
end
4.已知欧氏三维空间中两类9个训练样本
1:
用最近邻法编程求样本(00)T的分类,并画出分界线。
2:
用k近邻法编程求样本(00)T的分类,取K=5,7,9
解:
(1)clear
w1=[-10;-20;-21;-2-1];
y1=ones(4,1);
w2=[11;20;1-1;21;22];
y2=-1*ones(5,1);
w=[w1;w2];
y=[y1;y2];
test=[00];
fori=1:
9
dis(i)=(test(1,1)-w(i,1))^2+(test(1,2)-w(i,2))^2;
end
fori=1:
9
near
(1)=dis
(1);
j=1;
ifdis(i) (1) near (1)=dis(i); j=j+1; end break end ifj<=4 y_test=1; else y_test=-1; end fori=1: 9 ify(i)>0 plot(w(i,1),w(i,2),'r+'); holdon else plot(w(i,1),w(i,2),'b.'); holdon end end ify_test>0 plot(test(1,1),test(1,2),'g+'); title('最近邻分类器'); holdon else plot(test(1,1),test(1,2),'y.'); holdon end 结果: (2)clear k=5; kk=zeros(k,1); w1=[-10;-20;-21;-2-1]; y1=ones(4,1); w2=[11;20;1-1;21;22]; y2=-1*ones(5,1); w=[w1;w2]; y=[y1;y2]; test=[00]; fori=1: 9 dis(i)=(test(1,1)-w(i,1))^2+(test(1,2)-w(i,2))^2; end forj=1: k near(j)=dis (1); end fori=2: 9 forj=1: k ifdis(i) near(j)=dis(i); kk(j)=y(i); fort=j: k near(t+1)=near(t); end break end end end sum=0; forh=1: k sum=kk(h)+sum; end y_test=sign(sum); fori=1: 9 ify(i)>0 plot(w(i,1),w(i,2),'r+'); holdon else plot(w(i,1),w(i,2),'b.'); holdon end end ify_test>0 plot(test(1,1),test(1,2),'g+'); title('K近邻分类器'); holdon else plot(test(1,1),test(1,2),'y.'); holdon end 结果 K=5 K=7 K=9 5.某城市细胞识别中两类先验概率分别为: 正常状态: =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)。 决策表为 , =6, =1, =0。 用最小风险贝叶斯分类器分为1和2两类。 解: clearall pw (1)=0.9; pw (2)=0.1; a=[0,6;1,0]; 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]; y=zeros(2,length(x)); y(1,: )=normpdf(x,-2,0.5); y(2,: )=normpdf(x,2,2); forn=1: length(x) fori=1: 2 pwx(n,i)=pw(i)*y(i,n)/(pw (1)*y(1,n)+pw (2)*y(2,n)); end fori=1: 2 R(n,i)=p_fengxian(a,pwx(n,: ),i); end disp('判断为正常类的条件风险为: '); R(n,1) disp('判断为异常类的条件风险为: '); R(n,2) ifR(n,1)>R(n,2) disp('根据观察值x判断为异常类! : '); else disp('根据观察值x判断为正常类! : '); end end xplot=-6: 0.1: 6; yplot=zeros(2,length(xplot)); yplot(1,: )=normpdf(xplot,-2,0.5); yplot(2,: )=normpdf(xplot,2,2); forn=1: length(xplot) fori=1: 2 pwx2(n,i)=pw(i)*yplot(i,n)/(pw (1)*yplot(1,n)+pw (2)*yplot(2,n)); end end subplot(2,2,1); plot(xplot,pwx2(: 1),'b');holdon plot(xplot,pwx2(: 2),'r');holdon forn=1: length(x) plot(x(n),pwx(n,1),'b*');holdon plot(x(n),pwx(n,2),'r*');holdon end gridon axis([-6,6,0,1]); xlabel('x'),ylabel('后验概率p(w|x)'),title('最小错误率的后验概率密度曲线') legend('正常状态后验概率密度','异常状态后验概率密度') subplot(2,2,2); forn=1: length(x) plot(x (1),pwx(1,1),'b*');holdon plot(x(14),pwx(14,2),'r*');holdon ifpwx(n,1)>pwx(n,2) plot(x(n),pwx(n,1),'b*');holdon else plot(x(n),pwx(n,2),'r*');holdon end end gridon axis([-6,6,0,1]); xlabel('x'),ylabel('选取较大的后验概率值p'),title('最小错误率的分类结果') legend('分为正常类','分为异常类') forn=1: length(xplot) fori=1: 2 Rplot(n,i)=p_fengxian(a,pwx2(n,: ),i); end end subplot(2,2,3); plot(xplot,Rplot(: 1),'b');holdon plot(xplot,Rplot(: 2),'r');holdon forn=1: length(x) plot(x(n),R(n,1),'b*');holdon plot(x(n),R(n,2),'r*');holdon end gridon axis([-6,6,0,1]); xlabel('x'),ylabel('条件风险概率p(w|x)'),title('最小风险的概率密度曲线') legend('正常状态条件风险','异常状态条件风险') subplot(2,2,4); forn=1: length(x) ifR(n,1)>R(n,2) plot(x(n),R(n,2),'r*');holdon else plot(x(n),R(n,1),'b*');holdon end end gridon axis([-6,6,0,1]); xlabel('x'),ylabel('选取较小的条件风险值p'),title('最小风险的分类结果') legend('分为异常类','分为正常类') 子程序: functionp1=p_fengxian(a,pwx,i) p1=pwx (1)*a(i,1)+pwx (2)*a(i,2); 6.随机生成20个样本,每个样本有3个特征,使用C均值法将样本分为2类。 解: clear; w=round(10*rand(20,3)); c=2; N=20; w1=w(1: 10,: ); w2=w(11: 20,: ); n1=10;n2=10; [m1,m2,Je]=calculate0(n1,n2,w1,w2); n=0; while(n<=N) fori=1: n1 p1=(n1/(n1-1))*(norm(w1(i,: )-m1,2))^2; p2=(n2/(n2+1))*(norm(w1(i,: )-m2,2))^2; if(p2 n1=n1-1; n2=n2+1; w1(i: n1,: )=w1(i+1: n1+1,: ); w2(n2,: )=w1(i,: ); [m1,m2,Je]=calculate0(n1,n2,w1,w2); i=i-1; n=n-1; end n=n+1; end fori=1: n2 p1=(n1/(n1+1))*(norm(w2(i,: )-m1,2))^2; p2=(n2/(n2-1))*(norm(w2(i,: )-m2,2))^2; if(p1 n1=n1+1; n2=n2-1; w2(i: n2,: )=w2(i+1: n2+1,: ); w1(n1,: )=w2(i,: ); [m1,m2,Je]=calculate0(n1,n2,w1,w2); i=i-1; n=n-1; end n=n+1; end end w10=zeros(n1,3); w20=zeros(n2,3); w10=w1(1: n1,: ) w20=w2(1: n2,: ) 子函数: function[m1,m2,Je]=calculate0(n1,n2,w1,w2) m1=zeros(1,3); m2=m1; forii=1: n1 m1=m1+w1(ii,: )/n1; end forii=1: n2 m2=m2+w2(ii,: )/n2; end J1=0;J2=0; forii=1: n1 J1=J1+(norm(w1(ii,: )-m1,2))^2; end forii=1: n2.0 J2=J2+(norm(w2(ii,: )-m2,2))^2; end Je=J1+J2; end 结果: w10= 563 852 3510 534 583 852 388 367 3510 w20= 852 289 318 3510 388 367 367 367 367 367 3510
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模式识别 期末考试