【问题标题】:K-means as specialized case of generalized EM AlgorithmK-means 作为广义 EM 算法的特例
【发布时间】:2017-04-26 11:10:53
【问题描述】:

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

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

  2. 另外,从编码的角度来看,我们需要在 EM 算法的实现中进行哪些更改,以便它开始表现得与 k-means 算法完全一样?我假设我们需要在两个集群之间共享相同的协方差矩阵。可以这样假设吗?

这就是我使用 k-means 得到的结果。

这是使用 EM 进行聚类。

【问题讨论】:

  • 我投票结束这个问题,因为它不是关于编程,而是关于数据科学/统计。

标签: k-means expectation-maximization


【解决方案1】:

K-means 和 EM 聚类非常相关,但并不完全相同。对 EM 的两个更改将使其与 K-means 非常非常相似:

  1. EM 使用多维分布。将分布的标准差约束为在所有维度上都相同。
  2. 修改 EM 的输出以仅生成最可能的集群。 EM 生成软聚类(一个点在每个聚类中的单独概率),而 K-means 生成硬聚类(单个聚类选择)。

我不知道这些“修复”如何转化为您的特定代码。

我不能 100% 确定在所有情况下,这种 EM 方法都会收敛到与 K-means 完全相同的集群。我相信这两种方法在大多数情况下都会产生非常相似的结果。

【讨论】:

  • 感谢您的回复。知道了。如果我们在所有维度上使用相同的标准差(或协方差),它会产生类似于 k-means 的结果。
  • @SalA。 . . .是的。这恰好是我在《数据挖掘技术》第三版的聚类章节中讨论的一个话题。 EM 集群的“横截面”是椭圆,而 K-means 是圆形。因此,强制方差相等会将椭圆限制为圆形。
猜你喜欢
  • 2015-08-16
  • 2013-07-03
  • 2017-04-10
  • 2010-12-05
  • 2017-04-20
  • 2013-04-22
  • 2011-09-15
相关资源
最近更新 更多