本文主要介绍EM算法的推导思路。
introduction
此算法是一种寻找含有隐藏变量的概率模型的最大似然估计的通用方法。
derivation
对于含有显式变量
X
和隐藏变量
为了得到
θ
的估计,假设样本集合
X={x1,⋯,xn}
是独立同分布的,隐变量集合
Z={z1,⋯,zm}
,则由最大似然估计有
引入关于
Z
的边缘分布
相对熵:又称KL距离,是描述两个分布 q 和
p 差异的一种度量,记为 D(q∥p)=∑qlogqlogp ,具有非负性。
因为 D(q||p) 非负,由 logp(X|θ)≥(q,θ) ,得 (q,θ) 为 logp(X|θ) 的下界;当 D(q||p)=0 时,即 q(Z) 和 p(Z|X,θ) 为相同的分布时,有 logp(X|θ)=(q,θ) 。
由上述式子可知, logp(X|θ) 的值与 q(Z) 无关,所以当 θ 固定时,可以通过令 D(q||p)=0 来提高 logp(X|θ) ,从而得到更大的似然函数。即 maxlogp(X|θold)=(q,θold),q=p ,这就是EM算法中的E步骤。
当
q
固定时,可以通过调整
通过E和M步骤的反复执行,可以使 p(X|θ) 不断提高直至最大,当 p(X|θ) 的值不再变化时算法结束。
另外,可以通过构造Jensen不等式的方法进行推导,在最后列出作为一个参考。
summary
此算法的思想是每次只改变一个变量,不同步骤对不同变量进行调整,同时保证每一步处理后的似然函数非减,这样就能够使其在有限步内收敛到最大值——对于含有隐藏变量的概率模型的极大似然估计问题而言,经过转换之后的变量为 θ 和 q <script type="math/tex" id="MathJax-Element-45">q</script>,这里所说的变量是广义变量。当问题的变量数目大于2时,可以将EM算法进一步推广,采用相同的思路进行解决,当然为了获得适当(可以求取)的变量,相应的推导过程是至关重要的。
reference
- Pattern Recognization and Maching Learning
- 高斯混合模型與最大期望算法
- (EM算法)The EM Algorithm