ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:70.27KB ,
资源ID:8186143      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8186143.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(模式识别作业第三章1.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

模式识别作业第三章1.docx

1、模式识别作业第三章1第三章作业1.设有10个两维模式, ;若选择阈值的系数为,使用最大最小算法进行聚类。解:先定义几个函数:文件名为caldistance.m函数%求其他样本点与选定点的第m个的最大距离,并找到这个最大距离点Function distance,i=caldistance(x,m)M,N=size(x); distance=0; index=0; for i=1:N index=index+1; temp=sum(x(:,m)-x(:,i).2); distance(index)=sqrt(temp); v(:,i)=distance(index); end end文件名为jia

2、oxiaojuli.m函数%其他样本分别与第m、n个样本之间的欧氏距离距离,取较小的function vv i=jiaoxiaojuli(x,m,n) M,N=size(x); ddistance=0; for i=1:N temp=sum(x(:,m)-x(:,i).2); ddistance(1)=sqrt(temp); temp1=sum(x(:,n)-x(:,i).2); ddistance(2)=sqrt(temp1); ddistance=min(ddistance(1),ddistance(2); vv(:,i)=ddistance; endend文件名为fenlei.m函数%其

3、他各样本点被分到离z1、z2近的类中function w1 w=fenlei(x,m,n)M,N=size(x);for i=1:N a1=sqrt(sum(x(:,m)-x(:,i).2); a2=sqrt(sum(x(:,n)-x(:,i).2); if a1a2 w1(1,i)=i; w(1,i)=0; else w1(1,i)=0; w(1,i)=i; endendend文件名为z3jiaoxiao.m函数%第m、n和q个样本与其他样本之间的欧氏距离取较小的一个function s=z3jiaoxiao(x,m,n,q) M,N=size(x); ddistance=0; for i=

4、1:N temp=sum(x(:,m)-x(:,i).2); ddistance(1)=sqrt(temp); temp=sum(x(:,n)-x(:,i).2); ddistance(2)=sqrt(temp); temp=sum(x(:,q)-x(:,i).2); ddistance(3)=sqrt(temp); ddistance=min(min(ddistance(1),ddistance(2),ddistance(3); s(:,i)=ddistance; endend文件名为z3fenlei.m函数%将x中的各样本点分类到离第m、n、p较近的类中function w1 w2 w3=

5、z3fenlei(x,m,n,p)M,N=size(x);for i=1:N a1=sqrt(sum(x(:,m)-x(:,i).2); a2=sqrt(sum(x(:,n)-x(:,i).2); a3=sqrt(sum(x(:,p)-x(:,i).2); if a1=a2&a1=a3 w1(1,i)=i; w2(1,i)=0; w3(1,i)=0; elseif a2=a1&a2=a3 w1(1,i)=0; w2(1,i)=i; w3(1,i)=0; elseif a3a1&a3a2 w1(1,i)=0; w2(1,i)=0; w3(1,i)=i; end endend总程序为:x1=0 0

6、;x2=1 1;x3=2 2;x4=3 7;x5=3 6;x6=4 6;x7=5 7;x8=6 3;x9=7 3;x10=7 4;X=x1 x2 x3 x4 x5 x6 x7 x8 x9 x10;z1=x2;distance,i=caldistance(X,2);%得到i,和最大距离distance,i=10h=i;T=1/2*sqrt(sum(z1-X(:,i).2);vv j=jiaoxiaojuli(X,2,h);%第m和n个样本与其他样本之间的欧氏距离取较小的一个放在数组vv中1*10a1 k=max(vv);if a1T w1 w2=fenlei(X,2,h) %分类else dis

7、p(add z3) s=z3jiaoxiao(X,2,h,k); a2 k1=max(s); if a20);b=find(w20);c=find(w30);%画第一类点m n=size(a);for t=1:n s=a(t); plot(X(1,s),X(2,s),bo);hold on;end%画第二类点 m n=size(b);for t=1:n s=b(t); plot(X(1,s),X(2,s),rx)end%画第三类点m n=size(c);for t=1:n s=c(t); plot(X(1,s),X(2,s),kd)endaxis(-1 7 -1 7);title(最大最小算法

8、聚类)运行结果: add z3h = 10k = 4a = 1 2 3b = 8 9 10c = 4 5 6 7由结果可知,聚类结果如图: 2.设有5个两维模式样本, 定义类间距离为最小距离,且不小于3,试用层次距离法对5个样本进行聚类。解:定义文件名为jiaoxiaojuli.m函数:function vv r i=jiaoxiaojuli(x,m,n)%第m和n个样本与其他样本之间的欧氏距离取较小的一个 M,N=size(x); ddistance=0;k=0; for i=1:N if i=m&i=n k=k+1; temp=sum(x(:,m)-x(:,i).2); ddistance

9、(1)=sqrt(temp); temp1=sum(x(:,n)-x(:,i).2); ddistance(2)=sqrt(temp1); ddistance=min(ddistance(1),ddistance(2); vv(:,k)=ddistance;%第m和n个样本与其他样本之间的欧氏距离取较小的一个放在数组vv中1*10 r(:,k)=i; else end endend主程序:x1=0 0;x2=0 1;x3=2 0;x4=3 3;x5=4 4;x=x1 x2 x3 x4 x5;L=0;d12=sqrt(sum(x(:,1)-x(:,2).2);d13=sqrt(sum(x(:,1

10、)-x(:,3).2);d14=sqrt(sum(x(:,1)-x(:,4).2);d15=sqrt(sum(x(:,1)-x(:,5).2);d23=sqrt(sum(x(:,2)-x(:,3).2);d24=sqrt(sum(x(:,2)-x(:,4).2);d25=sqrt(sum(x(:,2)-x(:,5).2);d34=sqrt(sum(x(:,3)-x(:,4).2);d35=sqrt(sum(x(:,3)-x(:,5).2);d45=sqrt(sum(x(:,4)-x(:,5).2);d=d12 d13 d14 d15 d23 d24 d25 d34 d35 d45;a i=mi

11、n(d);if i=1 w1=x1 x2; j=1;k=2;elseif i=2 w1=x1 x3; j=1;k=3;elseif i=3 w1=x1 x4; j=1;k=4; elseif i=4 w1=x1 x5; j=1;k=5; elseif i=5 w1=x2 x3; j=2;k=3;elseif i=6 w1=x2 x4; j=2;k=4; elseif i=7 w1=x2 x5; j=2;k=5;elseif i=8 w1=x3 x4; j=3;k=4; elseif i=9 w1=x3 x5; j=3;k=5;elseif i=10 w1=x4 x5; j=4;k=5;endv

12、v r i=jiaoxiaojuli(x,j,k);%r中存放的是哪一项与j、k的差值%计算出j、k列与剩余各列之间的距离for m=1:5 for n=1:5 if m=j&m=k&n=j&n=k&m=n&mn L=L+1; distance=sqrt(sum(x(:,m)-x(:,n).2); s(1,L)=distance; q1(:,L)=m n;%记录求m、n两个样本距离 else end end if m=4 break; endendsmin i=min(s);vvmin j=min(vv);if min(smin,vvmin)3if sminvvmin a1=x(:,q1(1,

13、i);b1=x(:,q1(2,i); w2=a1 b1; for j1=3:5 if j1=q1(1,i)|j1=q1(2,i) else distance1=sqrt(sum(x(:,1)-x(:,j1).2); distance2=sqrt(sum(x(:,2)-x(:,j1).2); distance3=sqrt(sum(x(:,q1(1,i)-x(:,j1).2); distance4=sqrt(sum(x(:,q1(2,i)-x(:,j1).2); v1=min(distance1,distance2); v2=min(distance3,distance4); if min(v1,

14、v2)3 if v1v2 w1=x1 x2 x(:,j1); else w2=a1 b1 x(:,j1); end else end end endelse a1=x(:,r(1,j); w1=x1 x2 a1;endelseendm1 n1=size(w1);m2 n2=size(w2);k=0;for i=1:n1 for j=1:n2 k=k+1; distance=sqrt(sum(w1(:,i)-w2(:,j).2); w12(1,k)= distance; endend if min(w12)3 w=w1 w2; else w1,w2 end %画第一类点 plot(w1(1,:)

15、,w1(2,:),bo);hold on %画第二类点 plot(w2(1,:),w2(2,:),rd) axis(-1 5 -1 5); legend(第一类,第二类)运行结果:w1 = 0 0 2 0 1 0w2 = 3 4 3 43.用k-均值算法对下列6个模式进行聚类,设聚类中心个数, 解:先定义几个函数文件名为yzgl.m的函数function w1 w2=yzgl(x,z1,z2)%样本向z1、z2按距离归类m,n=size(x);k1=0;k2=0;for i=1:n distance1=sqrt(sum(z1-x(:,i).2); distance2=sqrt(sum(z2-x

16、(:,i).2);if distance1distance2 k1=k1+1;w1(:,k1)=x(:,i);else k2=k2+1;w2(:,k2)=x(:,i);endendend文件名为kjunzhidian.m的函数function z1 z2=kjunzhidian(w1,w2)%求类w1、w2新的聚类中心a1=mean(w1(1,:);b1=mean(w1(2,:);z1=a1 b1;a2=mean(w2(1,:);b2=mean(w2(2,:);z2=a2 b2;end主程序如下:x1=0,0;x2=1,0;x3=1,1;x4=4,4;x5=5,4;x6=5,5;n=100;x

17、=x1 x2 x3 x4 x5 x6;k=1;z1=x1;z2=x2;for i=1:n k=k+1;w1 w2=kyzgl(x,z1,z2); %样本向z1、z2按距离归类z1 z2=kjunzhidian(w1,w2);%求类w1、w2新的聚类中心v1(:,k)=z1;v2(:,k)=z2;delta1=sum(v1(:,k)-v1(:,k-1).2);%前后两次中心距离差值delta2=sum(v2(:,k)-v2(:,k-1).2);if delta1=0&delta2=0 k,z1,z2,w1,w2 break;elseendendplot(w1(1,:),w1(2,:),bo, w2(1,:),w2(2,:),rx);hold onplot(z1(1),z1(2),d,MarkerFaceColor,0 0 1);plot(z2(1),z2(2),d,MarkerFaceColor,1 1 0)title(k-均值算法聚类);legend(第一类,第二类,第一类均值点,第二类均值点)axis(-1 6 -1 6)运算结果:k = 4z1 = 0.6667 0.3333z2 = 4.6667 4.3333w1 = 0 1 1 0 0 1w2 = 4 5 5 4 4 5由运行结果知道,两个聚类分别为,此时中心,此时中心.分类结果如图:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1