在图中找到最佳聚类数
Posted
技术标签:
【中文标题】在图中找到最佳聚类数【英文标题】:Finding the optimal number of clusters in a graph 【发布时间】:2015-06-24 03:28:32 【问题描述】:我在 matlab 中使用对称非负矩阵分解算法 (SYMNMF) 对图 G 进行聚类。输入为:
邻接矩阵 X 所需的簇数 K我需要定义K如:
集群之间运行的边数尽可能少。在给定图的邻接矩阵的情况下,我可以使用任何算法来找到最佳集群数吗?
【问题讨论】:
我不认为有专门针对 SYNNMF 的最佳聚类方法,更重要的是,聚类方法总是比特征提取方法更依赖于数据。聚类使 NMF 过程的数据更加稀疏,尝试 K-means,它应该可以很好地处理边缘,或者,尝试边缘检测并使用高斯(或高斯混合,如果你是高级的)来聚类。 你不能对不同的K值运行算法,然后看看哪个结果的“集群之间运行的边数”最少吗? A. Donda k=1 有 0,但无趣。 【参考方案1】:应该可以改用k-means流行的弯头法。
跨集群的边数应该随着 k 的增加而增加。在 k=1 时,所有边都在集群内。 ;-)
尝试不同的 k 值,并选择不会导致边缘丢失大幅增加的最大 k。
【讨论】:
逐渐增加k可能是一个解决方案。但这很耗时。无论如何我都会使用它,因为没有其他选择。以上是关于在图中找到最佳聚类数的主要内容,如果未能解决你的问题,请参考以下文章