1. EM算法
-
1.1 作用
EM算法是用来求解带隐藏因子的概率模型的极大似然估计,通过杰森不等式将包含求和的对数似然函数转化为乘积形式,从而得到一个简便表达式。如果不采用EM算法,则此类问题只能采用梯度上升法等迭代法求解,比较麻烦 -
1.2 具体步骤
(1)注意是否包含未能观测到的隐藏变量,若无,则可以将概率模型表示为完全形式的联合概率分布(如高斯判别分析),接下来可以使用常规的极大似然估计求解参数;若包含,则将概率模型表示为求和形式的p(x;θ)p(x;\theta)p(x;θ),使用EM算法求解参数
(2)通过杰森不等式f(E[X])≥E[f(X)](f为凹函数)f(E[X])\geq E[f(X)](f为凹函数)f(E[X])≥E[f(X)](f为凹函数),将求和形式的对数似然函数转化为连乘形式,得到下边界似然函数J(θ)J(\theta)J(θ)一般求和形式的对数似然函数为
p(x,z;θ)=∑i=1mlogp(x;θ)=∑i=1mlog∑j=1kp(z(i)=j)p(x(i)∣z(i)=j;θ)p(x,z;\theta)=\sum_{i=1}^m\log p(x;\theta)=\sum_{i=1}^m\log \sum_{j=1}^kp(z^{(i)}=j)p(x^{(i)}|z^{(i)}=j;\theta)p(x,z;θ)=i=1∑mlogp(x;θ)=i=1∑mlog