最大期望算法(EM)
K均值算法非常简单(可参见之前发布的博文),相信读者都可以轻松地理解它。但下面将要介绍的EM算法就要困难许多了,它与极大似然估计密切相关。
1 算法原理
不妨从一个例子开始我们的讨论,假设现在有100个人的身高数据,而且这100条数据是随机抽取的。一个常识性的看法是,男性身高满足一定的分布(例如正态分布),女性身高也满足一定的分布,但这两个分布的参数不同。我们现在不仅不知道男女身高分布的参数,甚至不知道这100条数据哪些是来自男性,哪些是来自女性。这正符合聚类问题的假设,除了数据本身以外,并不知道其他任何信息。而我们的目的正是推断每个数据应该属于哪个分类。所以对于每个样本,都有两个需要被估计的项,一个就是它到底是来自男性身高的分布,还是来自女性身高的分布。另外一个就是,男女身高分布的参数各是多少。
既然我们要估计知道A和B两组参数,在开始状态下二者都是未知的,但如果知道了A的信息就可以得到B的信息,反过来知道了B也就得到了A。所以可能想到的一种方法就是考虑首先赋予A某种初值,以此得到B的估计,然后从B的当前值出发,重新估计A的取值,这个过程一直持续到收敛为止。你是否隐约想到了什