EM
1. 基本问题
EM算法是解决带有隐变量模型的方法,基本的模型假设为
由于引入了隐变量
![](https://images2018.cnblogs.com/blog/494740/201807/494740-20180722123515828-727803072.png)
,使得我们无法通过对
![](https://images2018.cnblogs.com/blog/494740/201807/494740-20180722123516113-362528287.png)
求偏导得到最优解。
2. 推导
根据jesen不等式,对于凹函数
,有
其中,
![](https://images2018.cnblogs.com/blog/494740/201807/494740-20180722123517625-966715557.png)
,当且仅当
![](https://images2018.cnblogs.com/blog/494740/201807/494740-20180722123517900-1804122409.png)
时,“=”成立。而
![](https://images2018.cnblogs.com/blog/494740/201807/494740-20180722123518101-1744132615.png)
是凹函数,因此
且
时,等号成立,取得最紧的下界。
也即
因此,当取得最紧的下界时,任何使得下界提升的
都能使
提升
3. 算法流程
输入:观测变量数据
,隐变量数据
,联合分布
,条件分布![](https://images2018.cnblogs.com/blog/494740/201807/494740-20180722123520729-1993856323.png)
输出:模型参数![](https://images2018.cnblogs.com/blog/494740/201807/494740-20180722123520972-1809449865.png)
(1)选择参数的初值![](https://images2018.cnblogs.com/blog/494740/201807/494740-20180722123521151-749858338.png)
(2)E step: 计算在
下最紧的下界
(3)M step: