【发布时间】:2016-10-02 00:46:05
【问题描述】:
我正在寻找解决以下问题的算法:
- 给定:一组项目及其相似度矩阵。
- 目标:将这些项目分组到最小大小 m 的“集群”中
- 条件:
- 数据集中没有类簇结构,如图 Figure 1
- 无论如何,组中的项目应该彼此相似。因此,全局相似度会很高。
动机不是识别好的集群,而是将数据集分成高相似度和最小大小的组。围绕 medoids 进行分区不能开箱即用,它会产生很多 1-item-clusters。分层方法(AGNES、DIANA)也无济于事。
这个问题在某种程度上类似于稳定婚姻问题:尝试通过相似度对相邻项目进行排名。但在这里,至少有 m 个项目在一个组/一个婚姻中。
提前致谢!
【问题讨论】:
-
简单的k-means怎么样?它的目标函数是最大化每个集群的同质性/相似性。它通常会找到大小相似的组,通过先验定义簇的数量,您可以粗略地获得点/簇的平均数量。另一种方法是分两步运行 k-means:i) 获取质心(局部聚类中心),ii) 根据与每个质心的距离分配点,并附加一个约束,即应分配最少数量的点。有什么想法吗?
标签: algorithm cluster-analysis stable-marriage