agnes算法4-5_第1页
agnes算法4-5_第2页
agnes算法4-5_第3页
agnes算法4-5_第4页
agnes算法4-5_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、AGNES算法2021-11-16层次聚类2l凝聚的层次聚类:一种自底向上的策略,首先将每个对象作为一个簇,然后合并这些原子簇为越来越大的簇,逐步合并,直到某个终结条件被满足。l层次凝聚的代表是AGNES算法2021-11-16层次聚类3lAGNES(Agglomerative NESting)算法最初将每个对象作为一个簇,然后这些簇根据某些准则被一步步地合并,使用单链接方法。l两个簇间的相似度由这两个不同簇中距离最近的数据点对的相似度来确定。此外当两个簇最近距离超过用户给定的阈值时聚类过程就会终止。l聚类的合并过程反复进行直到所有的对象最终满足簇数目。l例如,如果簇C1中的一个对象和簇C2中

2、的一个对象之间的距离是所属不同簇的对象间欧式距离中最小的,则C1和C2可能被合并。l两 个 簇 之 间 的 相 似 度 计 算 公 式 为 :dist(m1,m2,m3,m4)=min(dist(m1,m3),dist(m1,m4),dist(m2,m3),dist(m2,m4)。2021-11-16层次聚类5l最小距离2021-11-16层次聚类6l输入:n个对象,终止条件簇的数目k。l输出:k个簇,达到终止条件规定簇数目。l(1)将每个对象当成一个初始簇;l(2)重复;l(3)根据两个簇中最近的数据点找到最近的两个簇;l(4)合并两个簇,生成新的簇的集合;l(5)直到达到定义的簇的数目;2

3、021-11-16层次聚类7序号序号 属性属性1 属性属性21 1 12 1 23 2 14 2 25 3 46 3 57 4 48 4 5第第1步:根据初始簇计算每个簇之间的距离,随机找出距离最小的两步:根据初始簇计算每个簇之间的距离,随机找出距离最小的两个簇,进行合并,最小距离为个簇,进行合并,最小距离为1,合并后,合并后1,2两个点合并为一个簇。两个点合并为一个簇。第第2步:对上一次合并后的簇计算簇间距离,找出距离最近的两个簇步:对上一次合并后的簇计算簇间距离,找出距离最近的两个簇进行合并,合并后进行合并,合并后3,4点成为一簇。点成为一簇。第第3步:重复第步:重复第2步的工作,步的工作

4、,5,6点成为一簇。点成为一簇。第第4步:重复第步:重复第2步的工作,步的工作,7,8点成为一簇。点成为一簇。第第5步:合并步:合并1,2,3,4成为一个包含四个点的簇。成为一个包含四个点的簇。第第6步:合并步:合并5,6,7,8,由于合并后的簇的数目已经达到了用户输,由于合并后的簇的数目已经达到了用户输入的终止条件,程序终止。入的终止条件,程序终止。步骤步骤 最近的簇距离最近的簇距离 最近的两个簇最近的两个簇 合并后的新簇合并后的新簇1 1 1,2 1,2,3,4,5,6,7,8 2 1 3,4 1,2,3,4,5,6,7,83 1 5,6 1,2,3,4,5,6,7,84 1 7,8 1,

5、2,3,4,5,6,7,85 1 1,2,3,4 1,2,3,4,5,6,7,86 1 5,6,7,8 1,2,3,4,5,6,7,8结束结束l(1)简单,但遇到合并点选择困难的情况。l(2)一旦一组对象被合并,下一步的处理将在新生成的簇上进行,已做处理不能撤销,聚类之间也不能交换对象。l(3)算法的复杂度为O(n的平方),不适合大数据集计算。l1.分裂的层次聚类:采用自顶向下的策略,它首先将所有对象置于一个簇中,然后逐渐细分为越来越小的簇,直到达到了某个终结条件。层次分裂的代表是DIANA算法。l2.BIRCH算法:聚类特征,聚类特征树l3.ROCK:近邻,链接数l4.Chameleon:相

6、对互边度,相对接近度lDIANA(Divisive ANAlysis)算法是典型的分裂聚类方法。l在聚类中,用户能定义希望得到的簇数目作为一个结束条件。2021-11-16层次聚类19算法算法 DIANA(自顶向下分裂算法)(自顶向下分裂算法)输入:输入:n个对象,终止条件簇的数目个对象,终止条件簇的数目k。输出:输出:k个簇,达到终止条件规定簇数目。个簇,达到终止条件规定簇数目。(1)将所有对象整个当成一个初始簇;)将所有对象整个当成一个初始簇;(2) FOR (i=1; ik; i+) DO BEGIN(3) 在所有簇中挑出具有最大直径的簇在所有簇中挑出具有最大直径的簇C;(4) 找出找出

7、C中与其它点平均相异度最大的一个点中与其它点平均相异度最大的一个点p并把并把p放入放入splinter group,剩余的放在,剩余的放在old party中;中;(5) REPEAT(6) 在在old party里找出到最近的里找出到最近的splinter group中的点的距离不中的点的距离不大于到大于到old party中最近点的距离的点,并将该点加入中最近点的距离的点,并将该点加入splinter group。(7) UNTIL 没有新的没有新的old party的点被分配给的点被分配给splinter group;(8) splinter group和和old party为被选中的簇

8、分裂成的两个簇,与其它为被选中的簇分裂成的两个簇,与其它簇一起组成新的簇集合。簇一起组成新的簇集合。(9) END.序号序号属性属性 1属性属性 2111212321422534635744845DIANA算法例题算法例题第第1步,找到具有最大直径的簇,对簇中的每个点计算平均相异度(假定采步,找到具有最大直径的簇,对簇中的每个点计算平均相异度(假定采用是欧式距离)。用是欧式距离)。 1的平均距离:(的平均距离:(1+1+1.414+3.6+4.24+4.47+5)/7=2.96 类似地,类似地,2的平均距离为的平均距离为2.526;3的平均距离为的平均距离为2.68;4的平均距离为的平均距离为

9、2.18;5的平均距离为的平均距离为2.18;6的平均距离为的平均距离为2.68;7的平均距离为的平均距离为2.526;8的平均距离为的平均距离为2.96。 找出平均相异度最大的点找出平均相异度最大的点1放到放到splinter group中,剩余点在中,剩余点在old party中。中。第第2步,在步,在old party里找出到最近的里找出到最近的splinter group中的点的距离不大于到中的点的距离不大于到old party中最近的点的距离的点,将该点放入中最近的点的距离的点,将该点放入splinter group中,该中,该点是点是2。第第3步,重复第步,重复第2步的工作,步的工

10、作,splinter group中放入点中放入点3。第第4步,重复第步,重复第2步的工作,步的工作,splinter group中放入点中放入点4。第第5步,没有在步,没有在old party中的点放入了中的点放入了splinter group中且达到终止条件中且达到终止条件(k=2),程序终止。如果没有到终止条件,因该从分裂好的簇中选一),程序终止。如果没有到终止条件,因该从分裂好的簇中选一个直径最大的簇继续分裂。个直径最大的簇继续分裂。步骤步骤具有最大直径的簇具有最大直径的簇splinter groupOld party11,2,3,4,5,6,7,8 12,3,4,5,6,7,821,2

11、,3,4,5,6,7,8 1,23,4,5,6,7,831,2,3,4,5,6,7,8 1,2,34,5,6,7,841,2,3,4,5,6,7,8 1,2,3,45,6,7,851,2,3,4,5,6,7,8 1,2,3,45,6,7,8 终止终止l层次聚类方法尽管简单,但经常会遇到合并或分裂点的选择的困难。l改进层次方法的聚类质量的一个有希望的方向是将层次聚类和其他聚类技术进行集成,形成多阶段聚类。l下面介绍1个改进的层次聚类方法BIRTH。 2021-11-16层次聚类222021-11-16层次聚类23lBIRCH (Balanced Iterative Reducing and Cl

12、ustering) 利用层次方法的平衡迭代归约和聚类l用聚类特征(CF)和聚类特征树来概括聚类描述。l该算法通过聚类特征可以方便地进行形心X0、半径R、直径D。lCF(Clustering Feature):包含簇信息的三元组(N,LS,SS),N:簇的数据点;LS:n个点的线性和; SS:数据点的平方和l例如:簇C1中有三个数据点:(2,3),(4,5),( 5 , 6 ) , 则 C F 1 = 3 , ( 2 + 4 + 5 , 3 + 5 + 6 ) ,(22+42+52,32+52+62)=3,(11,14),(45,70),同样的,簇C2的CF2=4,(40,42),(100,10

13、1),那么,由簇C1和簇C2合并而来的簇C3的聚类特征CF3计算如下:lCF3=3+4,(11+40,14+42),(45+100,70+101)=7,(51,56),(145,171)2021-11-16层次聚类24lCF树是一个具有两个参数分支因子B和阈值T的高度平衡树。l分支因子B:非叶节点可以拥有的孩子数。l阈值T:叶子节点中的子聚类的最大直径。l这两个参数影响结果数的大小。2021-11-16层次聚类25 阶段一:扫描数据库,建立一个初始的CF树,它可以被看作一个数据的多层压缩,试图保留数据内在的聚类结构。当一个对象被插入到最近的叶节点(子聚类)中时,随着对象的插入,CF树被动态地构造,因此,BIRTH方法对增量或动态聚类也非常有效。l 阶段二:采用某个聚类算法对CF树的叶节点进行聚类,把稀疏的簇当做离群点删除,而把稠密的簇合并为更大的簇,在这个阶段可以执行任何聚类算法。2021-11-16层次聚类26l1.节省内在。叶子节点放在磁盘分区上,非叶子节点仅仅是存储了一个CF值,外加指向父节点和孩子节点的指针。l2.快。合并两个两簇只需要两个CF算术相加即可;计算两个簇的距离只需要用到(N,LS,SS)这三个值足矣。l3.一遍扫

温馨提示

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

评论

0/150

提交评论