我研究了聚类数据的算法(无监督学习):EM 和 k-means。我继续阅读以下内容:
k-means 是 EM 的一种变体,假设集群是球形的。
有人可以解释上面的句子吗?我不明白球面是什么意思,以及 kmeans 和 EM 是如何相关的,因为一个是概率分配,另一个是确定性的。
另外,在哪种情况下使用 k-means 聚类更好?还是使用 EM 聚类?
我研究了聚类数据的算法(无监督学习):EM 和 k-means。我继续阅读以下内容:
k-means 是 EM 的一种变体,假设集群是球形的。
有人可以解释上面的句子吗?我不明白球面是什么意思,以及 kmeans 和 EM 是如何相关的,因为一个是概率分配,另一个是确定性的。
另外,在哪种情况下使用 k-means 聚类更好?还是使用 EM 聚类?
没有“k-means 算法”。有用于 k-means 的 MacQueens 算法,用于 k-means 的 Lloyd/Forgy 算法,Hartigan-Wong 方法,...
也没有“那个”EM算法。这是一个反复预期可能性然后最大化模型的一般方案。EM 最流行的变体也称为“高斯混合建模”(GMM),其中模型是多元高斯分布。
可以认为 Lloyds 算法由两个步骤组成:
... 重复这两个步骤,正如 Lloyd 所做的那样,使其有效地成为一般 EM 方案的一个实例。它与 GMM 的不同之处在于:
K 表示
电磁场
这是一个示例,如果我在 mplus 中执行此操作,这可能会有所帮助并补充更全面的答案:
假设我有 3 个连续变量,并希望根据这些变量识别集群。我将指定一个混合模型(在这种情况下更具体地,一个潜在的轮廓模型),假设条件独立(观察到的变量是独立的,给定集群成员)为:
Model:
%Overall%
v1* v2* v3*; ! Freely estimated variances
[v1 v2 v3]; ! Freely estimated means
我会多次运行这个模型,每次指定不同数量的集群,然后选择我最喜欢的解决方案(这样做本身就是一个很大的话题)。
然后运行 k-means,我将指定以下模型:
Model:
%Overall%
v1@0 v2@0 v3@0; ! Variances constrained as zero
[v1 v2 v3]; ! Freely estimated means
因此,类成员资格仅基于与观察变量均值的距离。如其他答复所述,差异与此无关。
在 mplus 中这样做的好处是这些是嵌套模型,因此除了能够比较两种方法之间分类的不一致之外,您还可以直接测试约束是否导致拟合更差。顺便说一句,这两个模型都可以使用 EM 算法进行估计,因此差异实际上更多地在于模型。
如果您在 3-D 空间中思考,则 3 表示一个点……以及穿过该点的椭圆体的三个轴的方差。如果所有三个方差都相同,您将得到一个球体。