EM算法(Expectation Maximization Algorithm)是一种迭代算法,它是解决含隐变量(latent variable)情况下的参数估计问题,而求模型的参数时一般采用最大似然估计,由于含有了隐含变量,所以对似然函数参数求导是求不出来的,虽然通过梯度下降等优化方法也可以求解,但如果隐变量个数太多,将会带来指数级的运算。
EM算法是一种迭代优化策略,由于它的计算方法中每一次迭代都分两步:
1、期望步(E步):固定一组参数,计算该参数下的隐变量的期望值;
2、极大步(M步):结合E步求出的隐含变量条件概率,用最大似然法来估计参数;
介绍EM算法首先需要了解:极大似然估计和Jensen不等式。
EM算法推导:https://blog.youkuaiyun.com/zhihua_oba/article/details/73776553
更详细推导见:https://wenku.baidu.com/view/3396bb4d6294dd88d0d26bee.html
EM算法优缺点:
优点:算法简单,稳定上升的步骤能非常可靠地找到“最优的收敛值”;
缺点:对初始值敏感:EM算法需要初始化参数θθ,而参数θθ的选择直接影响收敛效率以及能否得到全局最优解。
EM算法应用: K-means聚类:E步骤为聚类过程,M步骤为更新类簇中心。
GMM(高斯混合模型)。