Understanding EM algorithm
本文主要内容为用一个简短的例子解释EM算法。 EM算法是聚类中常用的机器学习算法,但是相比喜闻乐见的k-means算法,大家可能对于EM算法的了解可能没有那么直观深入,所以本文主要利用一个简单的例子,在对比k-means算法的过程中,帮助大家建立一个清晰明确的对EM算法的理解。 当我们在聚类的领域谈论k-means算法时,分组的概念是非常清晰直观的–每个样本点只属于它离得最近的那个中心点所属的分组。如果给出一些样本点和中心,那么我们很容易给这些点打标签。 但是对于EM算法而言,分组的概念就么那么直观了(因为EM算法考虑每个样本点都有一定的概率属于所有的分组)。在我们介=引入EM算法之前,我们先复习一下k-means里面的分组概念。 k-means里面的分组概念 假设我们有如下的三个样本点(2D平面情况下的点): 数据集 X Y 点0 10 5 点1 2 1 点2 3 7 如果在上面的数据集上跑k-means算法,假定中心点如下: 中心 X Y A 3 4 B 6 3 C 4 6 使用欧几里得距离,可以分配聚类如下 距离 群组A中心 群组B中心 群组C中心 群组分配 点0 7.071 4.472 6.083 群组B 点1 3.162 4.472 5.385 群组A 点2 3.000 5.000 1.414 群组C 到此,我们可以给出一个回答:到底把一个点归类到一个群组意味着什么?举例来说,点1只被分配到分组A,也就是点1的100%属于群组A并且0%属于群组B和群组C。那么根据这个定义,我们可以得到如下表格, 群组A 群组B …