动态聚类法—实验报告.docx

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
动态聚类法—实验报告

《模式识别》实验报告(3) 动态聚类法 姓名:滕超淋 学号:3112037009 专业:生物医学工程 k-均值算法 一、实验原理 实验数据:IRIS数据。分为三种类型,每种类型中包括50个4维的向量。 实验方法:K-均值算法 算法步骤: 选择K个初始聚类中心Z1(1),Z2(1),...,Zk(1).聚类中心随迭代次数而变,括号中的数字表示迭代次序。 逐个将待分类样本{X}按最小距离准则分配到K个中心的某一个中心,以下公式进行判断: ,其中k为迭代次数,Zj(k)为聚类中心。  = 3 \* Arabic 3. 分配完后,下来计算每个聚类的新中心Zj(k+1)。计算公式如下: Zjk+1=1/Nix∈Sj(k)X Ni是j类样本的个数,以均值向量作为新的中心。 如果Zj(k+1)≠Zj(k),则回到第二步,将模式样本重新逐个划分,继续迭代计算。如果Zj(k+1) =Zj(k),则算法收敛,结束。 二、实验步骤 (1)从IRIS_DATA.txt文件中读取估计参数用的样本,并任意选取三个样本作为初始聚类中心。 (2)计算距离,按最小距离原则进行分类。 (3)计算新的聚类中心,并判断新的聚类中心是否与本次迭代的聚类中心一样。如果一样则计算结束,否则继续迭代。 三、实验结果及分析 选取不同的初始聚类中心对结果影响较大,特别是选取同一类的样本作为初始聚类中心的时候分类结果不理想。由于第一类与第二类、第三类区别较大,所以能很好的分类出来,但是第二类和第三类的样本很近,而且有一些点相重叠,致使分类结果不理想。以下是实验结果: 通过与原数据比较,第一类即t1分类完全正确,然而t2,t3不理想。算法需要进一步改进和完善。 ISODATA算法 一、原理介绍 Isodata,迭代自组织分析,通过设定初始参数而引入人机对话环节,并使用归并与分裂的机制,当某两类聚类中心距离小于某一阈值时,将它们合并为一类,当某类标准差大于某一阈值或其样本数目超过某一阈值时,将其分为两类。在某类样本数目少于某阈值时,需将其取消。如此,根据初始聚类中心和设定的类别数目等参数迭代,最终得到一个比较理想的分类结果。 二、算法设计 第一步:将个模式样本{ ,i=1,2,3,…, }读???,确定C个初始聚类中心和6个初始参数(K,θN,θc,θs,L,I)。 第二步:将N个模式样本分给最近的聚类,假如 Dj=min(‖x-zj‖,i=1,2,…,),? 即‖x-zj‖的距离最小,则x∈Sj。 第三步:如果Sj中的样本数NjθN,取消样本子集。 第四步:修正聚类中心值j=1,2,…, 第五步:计算各聚类域Sj中诸聚类中心间的平均距离: 第六步:计算全部模式样本对其相应聚类中心的总平均距离: 第七步:判别分裂、合并及迭代运算等步骤: 如迭代运算次数已达I次,即最后一次迭代,置θc = 0(无需新中心),跳到第十四步,运算结束。 如Nc≤K/2,即聚类中心的数目等于或不到规定值的一半,则进入第八步,将已有的聚类分裂。 如迭代运算的次数是偶次,或Nc≥2K,不进行分裂处理,跳到第十一步(合并处理); 如不符合以上两个条件(即既不是偶次迭代,也不是≥2K),则进入第八步,进行分裂处理。 分裂处理: 第八步:计算各个聚类中样本到聚类中心距离的标准差向量: 第九步:求每一标准差向量{σj}中的最大分量 第十步:在任一最大分量集{σj=1,2, …,}中,如有σjθS(该值给定),同时又满足以下二条件中之一: (a) DjmeanDmean和即Sj中样本总数超过规定值一倍以上, (b)Nc≤K/2,则将Zj分裂为两个新的聚类中心Zj+和Zj-,且类别数加Nc+1。 分裂方法是在Zj+相应分量加上k* σjmax,在Zj-的相应分量减去k*σjmax,其中k=0.5;。如果本步完成了分裂运算,则跳回第二步;否则,继续。 第十一步:计算全部聚类中心的距离:Dij=||Zi-Zj||,其中i=1,2, …, Nc-1 j=i+1, …,Nc 第十二步:比较Dij与θc值,将Dijθc的值按最小距离次序递增排列,即 { Di1j1, Di2j2, …, Diljl},假设Di1j1Di2j2…Diljl 第十三步:将距离为Di1j1的两个聚类中心zi1和zj1合并,得新中心为 Zl*=1Nil+NjlNilZil+NjlZjl,l=1,2,…,L 式中,被合并的两个聚类中心向量,分别以其聚类域内的样本数加权,使其成为真正的平均向量。 第十四步:如果是最后一次迭代运算(即第I次),算法结束。否则回到第一步由操作者改变输入参数;或回到第二步继续迭代,不改变参数。 三.实验步骤 (1)主程序如下: (2) 分类函数 (3)合并函数 (4)分裂函数 四.实验结果

文档评论(0)

2017ll + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档