基于最小生成树的单连接算法

本文介绍基于最小生成树(MST)的单连接聚类算法,分为凝聚和分裂两种,都十分简单。

(基于MST的单连接凝聚算法)

step 1. 假设有n个待聚类的对象,把每个对象都当做一个独立的簇,画出
这n个点的完全图 G() ,根据 G() 得到最小生成树,每条边的权重就是对象之间的距离,重复第二步和第三步直到只剩下一个簇。
step 2. 找出MST中权重最小的一条边(如果有多条边权重相同,任取
一条,不影响结果),将这条边对应的点(簇)合并成一个簇。
step 3. 把步骤2中选中的那条边的权重替换成一个足够大的值(比所有权重大)

现在找个例子演示一遍:
这里写图片描述
这个矩阵包含所有不同对象之间的距离。

首先构造 G() 和MST
这里写图片描述
左边的是 G() ,所有的点之间都相连。右边的是相应的最小生成树。

接着进行第二步,合并簇3,5为一个新的簇,用(3,5)表示
这里写图片描述
第三步,合并1,4
这里写图片描述
第四步,合并簇2和簇(1,4)
这里写图片描述
第五步,合并簇(3,5)和(1,2,4),此时只剩下一个簇,算法停止。

(基于MST的单连接分裂算法)

step 1. 假设有n个待聚类的对象,把所有对象都划分到同一个簇,画出
这n个点的完全图 G() ,根据 G() 得到最小生成树,每条边的权重就是对象之间的距离。
step 2. 找出MST中权重最大的一条边(如果有多条边权重相同,任取
一条,不影响结果),将这条边剪断,被分开的两部分分别构成两个新簇。
step 3. 重复step 2直到每个对象分别属于一个簇。

还是使用上面那个例子,首先构造 G() 和MST:
这里写图片描述

接下来的步骤如下图所示,很简单就不赘述了。
这里写图片描述

最后是一张表示聚类结果的树状图:
这里写图片描述

详细内容请参考jain和Dubes的《Algorithms for Clustering Data》

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值