模式识别上机作业[1]_第1页
模式识别上机作业[1]_第2页
模式识别上机作业[1]_第3页
模式识别上机作业[1]_第4页
模式识别上机作业[1]_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、模式识别上机作业队别:研究生二队姓名:孙祥威学号:112082作业一:,。用感知器固定增量法求判别函数,设,。写程序上机运行,写出判别函数,打出图表。解答:1、程序代码如下:clc,clearw=0 0 1; 0 1 1; -1 0 -1; -1 -1 -1;W=1 1 1;rowk=1;flag=1;flagS=zeros(1,size(w,1);k=0;while flag for i=1:size(w,1) if isempty(find(flagS=0) flag=0; break; end k=k+1; pb=w(i,:)*W' if pb<=0 flagS(i)=0;

2、 W=W+rowk*w(i,:); else flagS(i)=1; end end endW,kwp1=0 0; 0 1;wp2=1 0; 1 1;plot(wp1(:,1),wp1(:,2),'o')hold onplot(wp2(:,1),wp2(:,2),'*')hold ony=-0.2:1/100:1.2;plot(1/3*ones(1,size(y),y,'r-')axis(-0.25 1.25 -0.25 1.25)2、判别函数。计算得到增广权矢量为,故判别函数表达式为:3、分类示意图:图 1 感知器算法分类结果图作业二:在下列条

3、件下,求待定样本的类别,画出分界线,编程上机。1、二类协方差相等;2、二类协方差不等。训练样本号1 2 31 2 3特征1 1 2-1 -1 -2特征1 0 -11 0 -1类别解答:经计算,两类的协方差矩阵不相等。设,计算时相关项直接略去。1、计算时,参考书中P96页式(4-1-31)等。程序代码如下:clc,clear,close allD1=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);for i=1:size(D1,2) c1=c1+D1(:,i)*

4、D1(:,i)'endc1=c1/size(D1,2)-u1*u1'c2=zeros(size(D2,1),size(D2,1);for i=1:size(D2,2) c2=c2+D2(:,i)*D2(:,i)'endc2=c2/size(D2,2)-u2*u2'I=eye(size(c1,1),size(c1,1);ic1=c1I;ic2=c2I;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、5*u2'*ic2*u2;syms x1 x2;x=x1;x2;fprintf('决策界面方程为:')D=x'*(W1-W2)*x+(w1-w2)'*x+(w10-w20);pretty(D)fprintf('(2,0)代入决策面方程的值为:')value=subs(D,x1,x2,2 0) figureezplot(D) hold onplot(D1(1,:),D1(2,:),'bo')plot(D2(1,:),D2(2,:),'ks')plot(2,0,'rp')运行结果显示,决策面方程

6、为:。2、计算结果。从程序运行结果可以看出,带入决策界面方程值为96,可见属于第一类。见下图:图2 两类协方差不等分类结果图图中,黑色方块为第二类,蓝色圆圈为第一类,红色五角星即为要判断类别的。绿色交叉的两条直线即为决策面曲线。左上和右下为第一类,右上和左下为第二类。作业三: 有训练集资料矩阵如下表所示,现已知,、,试问,应属于哪一类?训练样本号1 2 31 2 31 2 3特征0 2 1-1 -2 -20 0 1特征0 1 01 0 -1-2 -1 -2类别要求:用两种解法:a、三类协方差不等;b、三类协方差相等。编程上机,画出三类的分界线。解答:经计算,三类的协方差矩阵不相等。设,计算时相

7、关项直接略去。1、计算时,参考书中P96页式(4-1-31)等。程序代码如下:clc,clear,close allD1=0 2 1;0 1 0;D2=-1 -2 -2;1 0 -1;D3=0 0 1;-2 -1 -2;X=-2 2;u1=mean(D1,2);u2=mean(D2,2);u3=mean(D3,2);c1=zeros(size(D1,1),size(D1,1);for i=1:size(D1,2) c1=c1+D1(:,i)*D1(:,i)'endc1=c1/size(D1,2)-u1*u1'c2=zeros(size(D2,1),size(D2,1);for

8、i=1:size(D2,2) c2=c2+D2(:,i)*D2(:,i)'endc2=c2/size(D2,2)-u2*u2'c3=zeros(size(D3,1),size(D3,1);for i=1:size(D3,2) c3=c3+D3(:,i)*D3(:,i)'endc3=c3/size(D3,2)-u3*u3'I=eye(size(c1,1),size(c1,1);ic1=c1I;ic2=c2I;ic3=c3I;W1=-0.5*ic1;W2=-0.5*ic2;W3=-0.5*ic3;w1=ic1*u1;w2=ic2*u2;w3=ic3*u3;w10=-

9、0.5*log(det(c1)-0.5*u1'*ic1*u1; w20=-0.5*log(det(c2)-0.5*u2'*ic2*u2;w30=-0.5*log(det(c3)-0.5*u3'*ic3*u3;syms x1 x2 real;x=x1;x2;D12=x'*(W1-W2)*x+(w1-w2)'*x+(w10-w20);D13=x'*(W1-W3)*x+(w1-w3)'*x+(w10-w30);D23=x'*(W2-W3)*x+(w2-w3)'*x+(w20-w30);fprintf('一、二类决策界面方

10、程为:')pretty(D12)fprintf('一、三类决策界面方程为:')pretty(D13)fprintf('二、三类决策界面方程为:')pretty(D23)DD1=x'*W1*x+w1'*x+w10;DD2=x'*W2*x+w2'*x+w20;DD3=x'*W3*x+w3'*x+w30;value=;fprintf('(' num2str(X(1) ',' num2str(X(2) ')代入1-2决策面方程的值为:')v1=subs(DD1,x1,

11、x2,X)fprintf('(' num2str(X(1) ',' num2str(X(2) ')代入1-3决策面方程的值为:')v2=subs(DD2,x1,x2,X)fprintf('(' num2str(X(1) ',' num2str(X(2) ')代入2-3决策面方程的值为:')v3=subs(DD3,x1,x2,X)V=v1 v2 v3;fprintf('可见(' num2str(X(1) ',' num2str(X(2) ')属于第' n

12、um2str(find(V=max(V) '类。n') figurehold onh=ezplot(D12);set(h,'Color','r')h=ezplot(D13);set(h,'Color','b')h=ezplot(D23);set(h,'Color','y')plot(D1(1,:),D1(2,:),'ko')plot(D2(1,:),D2(2,:),'ks')plot(D3(1,:),D3(2,:),'kp')plot(

13、X(1),X(2),'r*')title('分界线及样本点分布')1-2类决策面方程为:1-3类决策面方程为:2-3类决策面方程为:2、计算结果。从程序运行结果可以看出,带入三个判决函数(略去相关项)计算的值分别为-95.3521、-17.3521、-29.3521,可见属于第二类。分类界面参见下图:图3 三类协方差不等分类结果图作业四:样本123456780215656702133445 用对分法编程上机,分成两类画出图形。解答:1、程序代码如下:clc,clear,close allExampleData=0,0,2,2,4,4,5,6,6,7,-4,-2,

14、-3,-3,-5,1,0,0,-1,-1,-3; 6,5,5,3,4,3,1,2,1,0,3,2,2,0,2,1,-1,-2,-1,-3,-5;Data=0,2,1,5,6,5,6,7; 0,2,1,3,3,4,4,5; N=size(Data,2);Data=1:N;Data;G1=Data;G2=;N1=size(G1,2);N2=size(G2,2);X1=mean(G1,2);X1=X1(2:end);X2=0;0;E=N1*N2/N*(X1-X2)'*(X1-X2);RE=;ZY=;LE=E;while LE<=E LE=E; n1=size(G1,2); e1=; f

15、or i=1:n1 g1=G1; g2=G2; g2=g2 g1(:,i); g1(:,i)=; nn1=size(g1,2); nn2=size(g2,2); x1=mean(g1,2);x1=x1(2:end); x2=mean(g2,2);x2=x2(2:end); ee1=nn1*nn2/N*(x1-x2)'*(x1-x2); e1=e1;ee1; end E=max(e1); RE=RE;E; I=find(e1=E); nzy=G1(1,I); ZY=ZY;nzy; if LE<=E G2=G2 G1(:,I); G1(:,I)=; endendRE=(1:lengt

16、h(RE)' ZY REfigureplot(G1(2,:),G1(3,:),'o')hold onplot(G2(2,:),G2(3,:),'*')2、对分法聚类结果。两类的标样本号分别为:第一类:1、2、3第二类:4、5、6、7、83、对分法聚类结果示意图:图4 对分法聚类结果图作业五:已知十个样本,每个样本2个特征,数据如下:样本1234567891001245561110113345456用K次平均算法和ISODATA算法分成3类,编程上机,并画出分类图。解答:1、K次平均算法程序代码如下:clc,clear,close allData=0 1

17、2 4 5 5 6 1 1 1;0 1 1 3 3 4 5 4 5 6;K=3;N=size(Data,2);Data=1:N;Data;Z=Data(2:end,1:K); W=; LZ=;while isequal(Z,LZ) LZ=Z; for i=1:K Wi=; end for i=1:N D=; for j=1:K d= sqrt(sum(Data(2:end,i)-Z(:,j).2); D=D;d; end I=find(D=min(D); WI(1)=WI(1) Data(1,i); end Z=; for i=1:K w=Wi; z=mean(Data(2:end,w),2)

18、; Z=Z z; endendZfigurebh='o' '*' 's' '.' 'd' 'h' 'p'for i=1:K w=Wi plot(Data(2,w),Data(3,w),bh(i); hold onend2、K次平均算法聚类结果。两类的标样本号分别为:第一类:1、2、3第二类:8、9、10第三类:4、5、6、73、K次平均算法聚类结果示意图:图5 K次平均算法聚类结果图4、ISODATA算法实现程序为从网上下载的代码,文件较长,参见附上的源代码。调用计算作业数据代码如下:clc,clear,close allX=0 1 2 4 5 5 6 1 1 1;Y=0 1 1 3 3 4 5 4 5 6; ON=1; OC=4; OS=1; k=4; L=1; I=10; NO=1; min=50; centro, Xcluster, Ycluster, A, clustering=isodata(X, Y, k, L, I, ON, OC, OS, NO, min);clc;fprintf('聚成类的数目: %dn',A);figure;hold on;bh='o&#

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论