【发布时间】:2018-06-05 10:36:56
【问题描述】:
我有一组 N 个对象和它们之间的 N * N 距离。我想将这个集合聚集在子集上,这样在每个集群中,所有对象都具有相同的距离,并且所有集群上的均值(cluster_size)被最大化。
我试图通过这样的算法来解决这个任务:
让我们枚举对象之间的所有唯一距离。
对于每个唯一距离 X,让我们以对象作为节点和邻接矩阵来构建图,如果对象 A 和 B 之间的距离正好是 X,则存在 A 和 B 之间的边
让我们在此图中找到最大集团。如果此集团的大小大于当前最大值 - 更新最大值并将集团存储为结果
从对象集中删除存储在 Result 中的对象
重复直到对象集不为空
有没有更有效的[近似]解决方案?
【问题讨论】:
标签: algorithm machine-learning cluster-analysis computer-science graph-theory