Cluster: FarthestFirst

顾名思义,每一次取最远的那个点,那么farthest在cluster如何使用的呢?
我们知道在层次聚类特别是凝聚类中每次合并的是最近两个cluster,假设这里的cost是指当前所有聚类中最大的那个半径,那么如何设计一个近似算法并证明其cost与最优k-cluster的cost比值满足一定界限。
这里有一篇论文Performance guarantees for hierarchical clustering讨论这个问题并提出了一个近似解法-FarthestFirst。

FarthestFirst主要是两个部分:FarthestFirst遍历和层次聚类。
FarthestFirst遍历的思想类似于构造一个颗构造最小生成树(不过针对点到集合),算法具体过程如下:
这里写图片描述
可以发现,这里每次添加便是到集合最远的那个点,其实假设集合内的每个点作为中心的意思(近似的意思),
那么FarthestFirst遍历的结果
这里写图片描述
看到这张图,可能马上反应对其最大边进行cut,也就是接下来层次聚类分析。
这里写图片描述
这时候怎么感觉有点像层次聚类中top-down,那么如何控制聚类粒度的问题就可以通过设定不同的边长来确定。
论文里面还对其相对于最优k-cluster的factor的证明引理。
这里想说一下,当数据是一维时候k聚类(k-1MM )最优问题复杂度是多项式时间,如果此时数据超过一维想找到一个最优k划分是一个NP难问题,即使找到最优k划分2倍cost的划分也是NP难问题(2-approximation problem,Clustering to minimize the maximum intercluster distance)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值