EM算法属于似然思想下,对于模型参数更新的方法。具体而言,我们以神经网络为例,我们记这个神经网络的所有参数为 θ \theta θ,可以观测到的因变量为 y y y,不可观测的因素(隐变量)记为 x x x。通过EM算法,我们可以将参数 θ \theta θ更新到使得可观测变量 y y y的log likelihood变得最大,或者说最贴合我们的数据分布。
我们要优化的函数是:
L ( θ ) = log p ( y ∣ θ ) \mathcal{L}(\theta) = \log p(y|\theta) L(θ)=logp(y∣θ)
但是这个函数我们不太好操作,我们对它做一个变换
L ( θ ) = log ∫ p ( x , y ∣ θ ) d x
对于任意一个 x x x的分布 q ( x ) q(x) q(x),我们将上式转化为
L ( θ ) = log ∫ q ( x ) p ( x , y ∣ θ ) q ( x ) d x
通过Jensen不等式,我们有关系:
L ( θ ) = log ∫ q ( x ) p ( x , y ∣ θ ) q ( x ) d x ≤ ∫ q ( x ) log p ( x , y ∣ θ ) q ( x ) d x ≜ F ( q ( x ) , θ )
这里我们得到的 F ( q ( x ) , θ ) \mathcal{F}(q(x), \theta) F(q(x),