【问题标题】:Is there any unsupervised learning algorithm that do not not assign k有没有不分配 k 的无监督学习算法
【发布时间】:2018-12-03 02:49:36
【问题描述】:

传统的无监督学习方法通​​常需要在计算之前分配聚类数(K),但是如果我不知道K的确切数量并排除算法中的k,我的意思是,有没有无监督学习算法不需要分配任何k,所以我们可以自动得到k聚类?

【问题讨论】:

    标签: machine-learning deep-learning supervised-learning unsupervised-learning


    【解决方案1】:

    在图的理论中有一个hierarchical clustering。您可以实现自下而上或自上而下的聚类。

    自下而上

    • 定义距离度量(欧几里得、曼哈顿...)
    • 从自己集群中的每个点开始
    • 合并最近的两个集群

    有三种方法可以选择最近的集群:

    • 完整链接 -> 具有最小最大成对距离的两个集群
    • single link -> 两个最小成对距离最小的簇
    • 平均链接 -> 所有成对距离之间的平均距离

    单链接聚类可以用 Kruskalov 最小生成树算法来解决,但是虽然很容易理解,但它在 O(n^3) 中运行。 Prim 的 MST 算法有一个变体,可以在 O(nˇ2) 内解决这个问题。

    自上而下的分裂分析 从同一个簇中的所有点开始,在每次迭代中划分簇。

    divisive analysis.

    您可以搜索其他聚类算法,其中一些已经在其他答案中提到。我没有用过其他人,所以我会忽略它。

    【讨论】:

      【解决方案2】:

      您可以尝试通过Akaike information criterionBayes information criterion 等指标推断集群数量,使用SilhouetteElbow。我还听人谈论过基于自组织地图的自动聚类方法 (SOM),但您必须在那里进行自己的研究。

      根据我的经验,它通常归结为使用多种方法(例如 t-SNE)和/或基于密度的方法(例如 DBSCAN)来探索数据,然后手动或使用合适的启发式设置 k。

      【讨论】:

        【解决方案3】:
        • 亲和传播
        • DBSCAN
        • 均值偏移

        有关更多详细信息,请查看 scikit-learn 文档here

        【讨论】:

          猜你喜欢
          • 2018-10-01
          • 2014-04-20
          • 2010-12-22
          • 2013-03-24
          • 2017-06-27
          • 2017-12-08
          • 2019-02-20
          • 2017-08-21
          • 2017-07-27
          相关资源
          最近更新 更多