EM本身是一种迭代算法,目的是实现含有隐变量的模型参数的极大似然估计,以及后验分布的众数。
EM也可以用来补全缺失的数据集。(在此不做重点考虑)
算法描述:
输入:观测变量数据Y,隐含变量Z,联合分布P(Y,Z|theta),条件分布P(Z|Y,theta)
输出:模型参数theta
1.选择参数的初值theta0,开始迭代
2.E步:构造Q函数,是当前参数下的一个期望
3.M步:将Q函数中的theta进行极大化处理,求得新的theta
EM算法在高斯混合模型中的应用
这里假设:数据集来源于k个不同的高斯分布
隐变量是数据所来源的那个高斯分布。
EM算法的推广(GEM)
是一种具体实现EM的算法,也同样可以用Monte Carlo方法来实现(具体见此文)
EM 算法也应用在HMM的非监督学习当中(待续)