一、EM算法简介
EM算法全称为Exception Maximization Algorithm,即最大期望算法,以下简称EM算法。它是一种迭代的算法,主要用于含有隐变量的概率参数模型的极大似然和极大后验概率估计。EM算法也经常用于机器学习和计算机视觉的聚类领域,是一个非常重要的算法。
二、EM算法原理
要了解EM算法,就必须先了解极大似然估计,因为整个的EM算法的演算、推导,都是以极大似然估计为基础。
2.1 极大似然估计
2.1.1 两点分布
首先我们来看一个简单的例子:假设我们现在有一个抛硬币的实验,10次抛硬币的结果是:正正反正正正反反正正,记p为每次抛硬币的结果为正的概率,那么这次实验的结果发生的概率记为P:
得到了上述的等式,那么当小p取何值时大P能够取得最大值呢?也就是当小p取何值时,这次实验的结果最容易发生。对此我们利用极大似然估计,反过来当大P取最大值时,我们就可以求得此时的小p值。
目标函数:
最优解是:
一般形式:
将上述的实验化成一般形式,即假设有X次实验,实验结果的概率为p(x),分布为,则其一般形式为:
2.1.2 高斯分布
进一步考察:
若给定一组样本x1 ,x2 …xn ,已知它们来自于高斯分布N(μ,σ),试估计参数μ,σ?高斯分布的均值为μ,方差为σ,仍使用刚开始的极大似然估计来求解这个过程。
按照MLE的过程分析:
1.高斯分布的概率密度函数:
2.将Xi的样本值xi带入上述极大似然估计(MLE)的一般形式,得到极大似然函数:
3.化简对数似然函数得到目标函数: