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

本文介绍基于最小生成树(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》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值