【问题标题】:Robust Clustering Algorithm [closed]稳健的聚类算法
【发布时间】:2013-10-19 23:22:53
【问题描述】:

假设我有项目 i1, ..., iN

我想以这样的方式对它们进行聚类:

  1. 如果我多次运行集群,项目 iJ 和 iK 最终位于同一集群中的概率很高。
  2. 无论集群种子如何,集群的数量和集群成员都相对稳定

是否有众所周知的算法来实现这一点?

澄清:

说我想要 3 个集群,然后说:

  • 在现实 1 中,我从 i1、i33、i89 作为集群 c1 c2 c3 的种子开始
  • 在现实 2 中,我从 i44、i55、i77 作为集群 c1 c2 c3 的种子开始

我希望两个现实中的结果集群大致相似

【问题讨论】:

  • 使用确定性算法,如层次聚类或DBSCAN,而不是像k-means这样的随机算法!

标签: machine-learning cluster-analysis unsupervised-learning


【解决方案1】:

我认为hierarchical clustering 算法将满足您的需求。

  1. 保证同一集合的集群一致性,项目 iJ 和 iK 最终进入同一集群的概率为 1。
  2. 没有种子。您可以通过分析树或使用现有的截断算法(有很多)来选择正确的集群数量。

[编辑]

事实上,任何deterministic 聚类算法都具有这些特征,而不仅仅是层次聚类。

【讨论】:

  • 其实any确定性聚类算法都有这些特点,不仅仅是层次聚类,还有k-means确定性技术等。
  • 所以我的意思是:假设我想要 3 个集群并说我从 i1、i33、i89 作为集群 c1 c2 c3 的种子开始,或者如果我从种子 i44、i55、i77 开始——在这两种情况下生成的集群将在很大程度上相似——
  • @lejlot,确实,层次聚类是我首先想到的。将更新我的答案以考虑您的评论。 user1172468 : h.c. 中没有种子
  • @CTZStef ... h.c. 中没有种子。嗯,我需要再次挖掘我的笔记 - 大声笑
【解决方案2】:

使算法在初始化方面更健壮的常见策略是引导它。参见例如this paper

另一种选择是预先对数据进行排序并使用严格的确定性算法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-12
    • 1970-01-01
    • 2015-01-31
    • 2011-02-21
    • 2017-08-27
    • 1970-01-01
    • 2018-01-23
    • 2020-06-18
    相关资源
    最近更新 更多