模式识别大作业许萌1306020.docx
- 文档编号:7278695
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:18
- 大小:204.89KB
模式识别大作业许萌1306020.docx
《模式识别大作业许萌1306020.docx》由会员分享,可在线阅读,更多相关《模式识别大作业许萌1306020.docx(18页珍藏版)》请在冰豆网上搜索。
模式识别大作业许萌1306020
第一题对数据进行聚类分析
1.题目要求
用FAMALE.TXT、MALE.TXT和/或test2.txt的数据作为本次实验使用的样本集,利用C均值聚类法和层次聚类法对样本集进行聚类分析,对结果进行分析,从而加深对所学内容的理解和感性认识。
2.原理及流程图
2.1C均值聚类法原理
C均值算法首先取定C个类别数量并对这C个类别数量选取C个聚类中心,按最小距离原则将各模式分配到C类中的某一类,之后不断地计算类心和调整各模式的类别,最终使各模式到其对应的判属类别中心的距离平方之和最小。
2.2C均值聚类算法流程图
图1.1C均值聚类算法流程图
2.3层次聚类算法原理
N个初始模式样本自成一类,即建立N类,之后按照以下步骤运算:
Step1:
计算各类之间(即各样本间)的距离,得一个维数为N×N的距离矩阵D(0)。
“0”表示初始状态。
Step2:
假设已求得距离矩阵D(n)(n为逐次聚类合并的次数),找出D(n)中的最小元素,将其对应的两类合并为一类。
由此建立新的分类:
Step3:
计算合并后所得到的新类别之间的距离,得D(n+1)。
Step4:
跳至第2步,重复计算及合并。
直到满足下列条件时即可停止计算:
①取距离阈值T,当D(n)的最小分量超过给定值T时,算法停止。
所得即为聚类结果。
②或不设阈值T,一直到将全部样本聚成一类为止,输出聚类的分级树。
2.4层次聚类算法流程图
图1.2层次聚类算法流程图
3验结果分析
对数据文件FAMALE.TXT、MALE.TXT进行C均值聚类的聚类结果如下图所示:
图1.3C均值聚类结果的二维平面显示
将两种样本即进行聚类后的样本中心进行比较,如下表:
从下表可以纵向比较可以看出,C越大,即聚类数目越多,聚类之间差别越小,他们的聚类中心也越接近。
横向比较用FEMALE,MALE中数据作为样本和用FEMALE,MALE,test2中数据作为样本时,由于引入了新的样本,可以发现后者的聚类中心比前者都稍大。
但是它们的分布类似,变化不大。
样本
C
以FEMALE和MALE中得数据作为样本
以FEMALE和MALE以及test2中的数据作为样本
2
A(163.5738,53.1541)
B(175.8974,68.2692)
A(165.0479,53.6491)
B(176.4506,69.9378)
3
A(159.2333,49.9333)
B(168.8158,57.0105)
C(176.4375,70.0156)
A(163.3438,51.8742)
B(174.5561,64.5024)
C(178.8657,80.4776)
4
A(157.4286,49.2381)
B(164.7727,53.3545)
C(170.4400,58.2640)
D(176.4375,70.0156)
A(159.8548,48.3145)
B(167.5567,56.6485)
C(175.4783,65.7908)
D(179.3684,81.7368)
5
A(158.1579,47.3684)
B(163.3913,54.4652)
C(170.3462,58.1423)
D(176.0741,67.7593)
E(178.4000,82.2000)
A(160.5732,50.0512)
B(170.0510,57.5020)
C(175.3836,65.9452)
D(178.6429,75.7589)
E(179.6667,91.3889)
6
A(158.3462,49.8462)
B(166.9259,54.5889)
C(171.4737,60.8158)
D(175.6842,68.1842)
E(178.0000,80.6667)
F(183.3333,66.6667)
A(160.8427,50.6596)
B(170.6296,55.1241)
C(172.6381,62.9143)
D(176.8488,76.8837)
E(177.2955,68.0057)
F(181.5952,89.1905)
表1.1 不同聚类初值对聚类结果的影响
第二题Bayes分类器
1.题目要求
用FAMALE.TXT和MALE.TXT的数据作为训练样本集,建立Bayes分类器,用测试样本数据对该分类器进行测试。
调整特征、分类器等方面的一些因素,考察它们对分类器性能的影响,从而加深对所学内容的理解和感性认识。
2.原理及流程图
2.1实验原理
首先,以两个训练样本身高数据作为特征,利用最大似然法分别算出均值的最大似然估计和方差的最大似然估计,分别带入到假设模型一维正态分布中得出类条件概率密度,通过结合不同的先验概率计算出后验概率并对test1和test2进行基于最小错误率的Bayes决策,待测样本属于后验概率较大的一方。
最后考察测试错误情况及对决策和错误率的影响。
2.2Bayes分类器算法流程图
图2.1Bayes分类器算法流程图
3.实验结果及分析
图2Bayes分类器的MATLAB仿真结果
3.1当先验概率相等时(0.5/0.5):
由类条件概率以及先验概率可得测试样本集合test1和test2的后验概率,可得决策
所造成的风险为
对于具体的损失比较二者大小即可作出决策判断。
当b=0.5,c=0.5,相应错误率为error1=5.71%,error2=9%;
当b=5,c=5,相应错误率为error1=5.71%,error2=9%;
当b=0.1,c=10.相应错误率为error1=28.57%,error2=13.33%
当b=10,c=0.1.相应错误率为error1=57.14%,error2=83.33%.
当b=0.1,c=100.相应错误率为error1=31.43%,error2=14.67%
3.2当先验概率不等时:
●PX1(男生)=0.25,PX2(女生)=0.75,对于具体的损失比较二者大小即可作出决策判断。
当b=0.5,c=0.5.相应错误率为error1=11.43%,error2=22%.
当b=5,c=5.相应错误率为error1=11.43%,error2=22%.
当b=0.1,c=10.相应错误率为error1=22.86%,error2=8%.
当b=0.1,c=100.相应错误率为error1=28.57%,error2=13.33%.
●PX1=0.75,PX2=0.25,
当b=0.5,c=0.5.相应错误率为error1=8.57%,error2=6.67%.
当b=5,c=5.相应错误率为error1=8.57%,error2=6.67%.
当b=0.1,c=10.相应错误率为error1=28.57%,error2=13.33%.
当b=0.1,c=100.相应错误率为error1=42.86%,error2=16.67%.
●PX1=0.9.PX2=0.1
当b=0.5,c=0.5.相应错误率为error1=11.43%,error2=5.67%.
当b=5,c=5.相应错误率为error1=11.43%,error2=5.67%.
当b=0.1,c=10.相应错误率为error1=28.57%,error2=14%.
当b=0.1,c=100.相应错误率为error1=42.86%,error2=16.67%.
●PX1=0.1.PX2=0.9
当b=0.5,c=0.5.相应错误率为error1=20%,error2=49%.
当b=5,c=5.相应错误率为error1=20%,error2=49%.
当b=0.1,c=10.相应错误率为error1=11.43%,error2=5.67%.
当b=0.1,c=100.相应错误率为error1=28.57%,error2=13.33%.
b|c
Error总
|
0.5|0.5
0.25|0.75
0.75|0.25
0.9|0.1
0.1|0.9
0.5|0.5
14.71%
33.43%
15.24%
17.1%
69%
5|5
14.7%
33.43%
15.24%
17.1%
69%
0.1|10
41.9%
30.86%
41.90%
42.57%
17.1%
0.1|100
46.1%
41.90%
59.53%
59.53%
41.9%
表2.1采用最小风险的Bayes决策对test1和test2测试错误率情况
注:
1)PX1为男生先验概率,PX2为女生先验概率。
2)Error总为每种情况下对test1和test2测试的总错误率。
3)b为把女生归为男生的损失函数,c为把男生归为女生的损失函数。
3.3结论
从上表可以看出,在先验概率相等与否以及损失函数的改变对决策和错误率均有影响。
(1)当先验概率不变时,损失函数相差越大,错误率越高;
(2)当损失函数之比等于1时,错误率相等;
(3)当损失函数不变时,先验概率两极分化越严重,错误率越高;当男女生训练样本先验概率对调时,女生先验概率大时,错误率大,原因可能是两个测试样本的女生数量相对比较多,不确定性比较大造成的。
第三题利用K-L变换进行特征提取
1.题目要求
用FAMALE.TXT和MALE.TXT的数据作为本次实验使用的样本集,利用K-L变换对该样本集进行变换,加深对所学内容的理解和感性认识。
2.K-L变换原理
设n维随机向量
,其均值向量
,相关矩阵
,协方差矩阵
,
经正交变换后产生向量
。
设有标准正交变换矩阵T,(即T'T=I)
,
(称为
的K-L展开式)
取前m项为
的估计值
其均方误差为
在T‘T=I的约束条件下,要使均方误差
为此设定准则函数
由
可得
即
表明:
i是
的特征值,而
是相应的特征向量。
利用上式有:
用“截断”方式产生x的估计时,使均方误差最小的正交变换矩阵是其相关矩阵Rx的前m个特征值对应的特征向量构成的。
图3.1K-L变换算法流程图
3.结果分析
图3.2K-L变换特征提取的MATLAB仿真
由上图可知:
且考虑类别信息的特征提取再分类与Fisher分类器效果差不多,不过在本次实验中,Fisher判别更胜一筹。
考虑类别信息时,分类效果会受到先验概率的影响。
MATLAB程序附录
1.C均值聚类算法的MATLAB程序
clc;
clearall;
[FHFW]=textread('C:
\Users\FREEMAN\Desktop\FEMALE.txt','%f%f');
[MHMW]=textread('C:
\Users\FREEMAN\Desktop\MALE.txt','%f%f');
FA=[FHFW];FA=FA';
MA=[MHMW];MA=MA';
fork=1:
50
NT(:
k)=FA(:
k);
end
fork=51:
100
NT(:
k)=MA(:
k-50);
end
z1=NT(:
1);z2=NT(:
51);
fork=1:
100
a=z1,b=z2
G1=zeros(2,100);G2=zeros(2,100);
fori=1:
100
d1=sqrt((NT(1,i)-z1(1,1))^2+(NT(2,i)-z1(2,1))^2);
d2=sqrt((NT(1,i)-z2(1,1))^2+(NT(2,i)-z2(2,1))^2);
ifd1 G1(: i)=NT(: i); else G2(: i)=NT(: i); end end G1(: find(sum(abs(G1),1)==0))=[]; G2(: find(sum(abs(G2),1)==0))=[]; z1=mean(G1,2); z2=mean(G2,2); ifisequal(a,z1)==1&&isequal(z2,b)==1 break end end z1,z2,G1,G2,size(G1,2),size(G2,2) fori=1: size(G1,2) x=G1(1,i); y=G1(2,i); plot(x,y,'G.'); holdon end fori=1: size(G2,2) x=G2(1,i); y=G2(2,i); plot(x,y,'R*'); holdon end plot(z1(1,1),z1(2,1),'B+') holdon plot(z2(1,1),z2(2,1),'B+') holdon 2层次聚类算法的MATLAB程序 clc; clearall; [FHFW]=textread('C: \Users\FREEMAN\Desktop\FEMALE.txt','%f%f'); [MHMW]=textread('C: \Users\FREEMAN\Desktop\MALE.txt','%f%f'); FA=[FHFW];FA=FA'; MA=[MHMW];MA=MA'; fork=1: 50 NT(: k)=FA(: k); end fork=51: 100 NT(: k)=MA(: k-50); end G1=NT; G2=zeros(2,100); X1=mean(G1,2); X2=mean(G2,2); E=0; B=zeros(1,100); fork=1: 100 ifk==1 g1=NT; else g1=p1; end fori=1: 101-k ifi==1 a=0; else a=E; end G1(: i)=[0;0]; G2(: k)=g1(: i); G1(: find(sum(abs(G1),1)==0))=[]; G2(: find(sum(abs(G2),1)==0))=[]; X1=mean(G1,2); X2=mean(G2,2); N1=size(G1,2); N2=size(G2,2); E=N1*N2/100*(X1-X2)'*(X1-X2); ifE>a x1=X1; x2=X2; p1=G1; p2=G2; B(1,k)=E; G1=g1; else E=a; G1=g1; end end G2=p2; ifk>=2&&B(1,k) break end end x1,x2,p1,p2 fori=1: size(p1,2) x=p1(1,i); y=p1(2,i); plot(x,y,'G.'); holdon end fori=1: size(p2,2) x=p2(1,i); y=p2(2,i); plot(x,y,'R*'); holdon end plot(x1(1,1),x1(2,1),'B+') holdon plot(x2(1,1),x2(2,1),'B+') holdon 3.Bayes分类器(以身高为数据作为特征) %仅身高作为特征时 clearall; Result(1,1: 2)=0;%判别矩阵的初始化 %------------------------------------------------------------------------% %训练样本 [FHFW]=textread('C: \Desktop\FEMALE.txt','%f%f'); [MHMW]=textread('C: \Desktop\MALE.txt','%f%f'); %------------------------------------------------------------------------% %身高作为特征 X1=FH;X1=X1'; X2=MH;X2=X2'; %------------------------------------------------------------------------% %测试样本 [t2Ht2W]=textread('C: Desktop\test2.txt','%f%f%*s'); %------------------------------------------------------------------------% %身高作为特征 X=t2H; X10=X(1: 50,: );X10=X10';%test2中的女生50 X20=X(51: 300,: );X20=X20';%test2中的男生250 %画出各样本的分布情况 figure; subplot(3,1,1) plot(X1(1,: ),'r.','LineWidth',2),holdon plot(X2(1,: ),'b+','LineWidth',2),holdon title('训练样本仅身高时的分布情况') legend('训练样本FAMALE','训练样本MALE') subplot(3,1,2) plot(X10(1,: ),'r.','LineWidth',2),holdon plot(X20(1,: ),'b+','LineWidth',2),holdon title('测试样本test2仅身高时的分布情况') legend('FAMALE','MALE') %先验概率 P (1)=length(X1)/(length(X1)+length(X2)); P (2)=length(X2)/(length(X1)+length(X2)); %计算相关量cov(X): 协方差矩阵Ave: 均值 %--------------------------------------------------------% W1=-1/2*inv(cov(X1')); W2=-1/2*inv(cov(X2'));%inv()方阵的逆 Ave1=(sum(X1')/length(X1))'; Ave2=(sum(X2')/length(X2))'; w1=inv(cov(X1'))*Ave1; w2=inv(cov(X2'))*Ave2; w10=-1/2*Ave1'*inv(cov(X1'))*Ave1-1/2*log(det(cov(X1')))+log(P (1));%det()方阵的行列式 w20=-1/2*Ave2'*inv(cov(X2'))*Ave2-1/2*log(det(cov(X2')))+log(P (2)); %------------------------------------------------------------------------% X=X'; forj=1: 300 g1=X(: j)'*W1*X(: j)+w1'*X(: j)+w10;%判别函数 g2=X(: j)'*W2*X(: j)+w2'*X(: j)+w20; ifg1>=g2 Result(1,1)=Result(1,1)+1;%记录FAMALE XF(: j)=X(: j); else Result(1,2)=Result(1,2)+1;%记录MALE XM(: j)=X(: j); end end subplot(3,1,3) plot(XF(1,: ),'r.','LineWidth',2),holdon plot(XM(1,: ),'b+','LineWidth',2),holdon title('测试样本test2仅身高时的测试分布情况') legend('FAMALE','MALE') Result 4.K-L特征提取(不考虑分类) clearall clc A=textread('C: \Users\FREEMAN\Desktop\MALE.TXT'); B=textread('C: \Users\FREEMAN\Desktop\FEMALE.TXT'); male=A(: 1: 2); female=B(: 1: 2); T=[male;female]; s=cov(T) [m,n]=eig(s); ifn(1,1)>n(2,2) w=m(: 1); elseifn(1,1) w=m(: 2); end hei_m=male(: 1); wei_m=male(: 2); hei_fe=female(: 1); wei_fe=female(: 2); plot(hei_m,wei_m,'g*',hei_fe,wei_fe,'ro'); holdon y=w'*[male',female']; fori=1: 50 plot(y(: i),'g*'); end fori=51: 100 plot(y(: i),'ro'); end l=mean(y); k=0; m=0; fori=1: 100 ify(i) k=k+1; elseify(i)>l&i>50 m=m+1; end end k,m ess1=k/100 ess2=m/100
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模式识别 作业 1306020