K均值作为广义EM算法的特例

时间:2016-12-11 12:54:36

标签: k-means em

我正在使用数据集使用EM制作2个群集,然后使用K-means。我已经分别实现了K-means和EM算法。现在我试图从我的EM算法实现中导出k-means来进行聚类。我有两个问题。

  1. K-means被视为广义EM算法的特例。但是我们需要做出什么假设才能从EM算法中推导出k-means?

  2. 此外,从编码的角度来看,我们需要在实施EM算法时做出哪些改变,以使其开始表现得像k-means算法?我假设我们需要在两个集群之间共享相同的协方差矩阵。这是正确的假设吗?

  3. 我们将不胜感激。

    修改 这就是我使用k-means获得的。 Clustering K-means

    这是使用EM进行群集。Clustering EM

1 个答案:

答案 0 :(得分:1)

评论太长了。

K-means和EM聚类非常相关,但不完全相同。 EM的两个变化将使它与K-means非常非常相似:

  1. EM使用多维分布。限制分布的标准偏差在所有维度上都相同。
  2. 修改EM的输出以仅生成最可能的群集。 EM产生软聚类(一个点在每个聚类中的单独概率),而K-means产生硬聚类(单个聚类选择)。
  3. 我不知道这些"如何修复"转换为您的特定代码。

    我并非100%确定在任何情况下,这种EM方法都会收敛到与K-means完全相同的聚类。我相信,在大多数情况下,这两种方法会产生非常可比的结果。