模式识别大作业.doc_第1页
模式识别大作业.doc_第2页
模式识别大作业.doc_第3页
模式识别大作业.doc_第4页
模式识别大作业.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

模式识别大作业题目:对数据进行聚类分析专业:控制理论与控制工程 姓名: 齐璐 学号: 1306012 一基本要求用FAMALE.TXT、MALE.TXT和/或test2.txt的数据作为本次实验使用的样本集,利用C均值聚类法和层次聚类法对样本集进行聚类分析,对结果进行分析,从而加深对所学内容的理解和感性认识。二具体做法1.把FAMALE.TXT和MALE.TXT两个文件合并成一个,同时采用身高和体重数据作为特征,设类别数为2,利用C均值聚类方法对数据进行聚类,并将聚类结果表示在二维平面上。尝试不同初始值对此数据集是否会造成不同的结果。2. 对1中的数据利用层次聚类方法进行聚类,分析聚类结果,体会分级聚类方法。三实验原理C均值聚类方法:(1)C均值算法思想基于使聚类性能指标最小化,所用的聚类准则函数是聚类集中每一个样本点到该类中心的距离平方之和,并使其最小化。(2)C均值算法步骤: 1.任选C个初始聚类中心 。一般以开头C个样本作为初始中心。 2.将模式样本集的每一样本按最小距离原则分配给C个聚类中心,即在第m次迭代时,若 。则, , 表示第m次迭代时,以第j个聚类中心为代表的聚类域。3.由步骤2计算新的聚类中心,即: 式中Ni为第i个聚类域 中的样本个数。其均值向量作为新的聚类中心,因为这样可以使误差平方和准则函数: 达到最小值。4.若 ,算法收敛,计算完毕。否则返回到步骤2,进行下一次迭代。 (3) 算法流程图 开 始读入要分类的数据设置初始聚类中心计算数据到C个聚类中心的距离将数据分入与其距离最小的聚类计算新的聚类中心聚类中心是否收敛?否输出C个分类好的聚类结 束是 四程序源代码 (程序来源于公开文档) 1.主程序clear all clcFH FW=textread(D:kjunzhiFEMALE.TXT,%f %f);MH MW=textread(D:kjunzhiMALE.TXT,%f %f);Data(1:50,1)=FH;Data(51:100,1)=MH;Data(1:50,2)=FW;Data(51:100,2)=MW;C=input(c=);U,P,Dist,Cluster_Res,Obj_Fcn,iter=fuzzycm(Data,C);plot(Data(:,1), Data(:,2),o);hold on;maxU = max(U);index1 = find(U(1,:) = maxU);index2 = find(U(2,:) = maxU);line(Data(index1,1),Data(index1,2),marker,*,color,g);line(Data(index2,1),Data(index2,2),marker,*,color,r);plot(P(1 2,1),P(1 2,2),*,color,k)hold off;2.子程序unction U,P,Dist,Cluster_Res,Obj_Fcn,iter=fuzzycm(Data,C,plotflag,M,epsm)if nargin5epsm=1.0e-6;endif nargin4M=2;endif nargin4 | plotflagObj_Fcn(iter)=sum(sum(Um.*Dist.2);end% FCM ?if norm(U-U0,Inf) 3res = maxrowf(U);for c = 1:Cv = find(res=c);Cluster_Res(c,1:length(v)=v;endendif plotflagfcmplot(Data,U,P,Obj_Fcn);endfunction U,P,Dist,Cluster_Res,Obj_Fcn,iter=fuzzycm2(Data,P0,plotflag,M,epsm)if nargin5epsm=1.0e-6;endif nargin4M=2;endif nargin4 | plotflagObj_Fcn(iter)=sum(sum(Um.*Dist.2);endif norm(P-P0,Inf) 3res = maxrowf(U);for c = 1:Cv = find(res=c);Cluster_Res(c,1:length(v)=v;endendif plotflagfcmplot(Data,U,P,Obj_Fcn);endfunction f = addr(a,strsort)if nargin=1strsort=ascend;endsa=sort(a); ca=a;la=length(a);f(la)=0;for i=1:laf(i)=find(ca=sa(i),1);ca(f(i)=NaN;endif strcmp(strsort,descend)f=fliplr(f);endfunction ellipse(a,b,center,style,c_3d)if nargin4style=b;endif nargin4plot3(x,y,ones(1,360)*c_3d,style)elseplot(x,y,style)endfunction fcmplot(Data,U,P,Obj_Fcn)% FCM ?% See also: fuzzycm maxrowf ellipseC,S = size(P); res = maxrowf(U);str = po*x+dv2figure(2),plot3(P(:,1),P(:,2),P(:,3),rs),hold onfor i=1:Cv=Data(find(res=i),:);plot3(v(:,1),v(:,2),v(:,3),str(rem(i,12)+1)ellipse(max(v(:,1)-min(v(:,1), .max(v(:,2)-min(v(:,2), .max(v(:,1)+min(v(:,1), .max(v(:,2)+min(v(:,2)/2, .r:,(max(v(:,3)+min(v(:,3)/2)endgrid on,title(3D ?,fontsize,8),hold offendfunction D=fuzzydist(A,B)D=norm(A-B);function mr=maxrowf(U,c)if nargin2c=1;endN=size(U,2);mr(1,N)=0;for j=1:Naj=addr(U(:,j),descend);mr(j)=aj(c);end五实验结果分析Female与male(1) C=2时,Z1(1)=(175,67)T , Z2(1)=(163,52)T迭代次数:27聚类中心:(175.2565,67.6907)(163.32196,52.5232) (2) C=3时,Z1(1)=(160,50)T, Z2(1)=(170,57)T, Z3(1)=(176,69)T迭代次数:44聚类中心:(160.1767,49.1939)(176.3351,69.4859)(168.413857.3299)(3) C=4时,Z1(1)=(160,46)T, Z2(1)=(169,57)T, Z3(1)=(178,79)T结论:由上述不同的

温馨提示

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

评论

0/150

提交评论