期望最大化(EM)算法的推导——Q函数

先导:① 詹森不等式(Jensen's Inequality)

一般情况下的期望最大化(EM)算法

离散隐藏变量下期望最大化(EM)算法的简化


对于一个含有隐变量的概率模型,极大化观测数据(不完全数据) X X X关于参数 θ \theta θ的对数似然函数,即极大化

L ( θ ) = log ⁡ P ( X ∣ θ ) = log ⁡ ∑ Z P ( X , Z ∣ θ ) = log ⁡ ( ∑ Z P ( X ∣ Z , θ ) P ( Z ∣ θ ) ) (12) L(\theta) = \log P(X \mid \theta) = \log \sum_{Z} P(X, Z \mid \theta)\\ = \log \left( \sum_{Z} P(X \mid Z, \theta)P(Z \mid \theta) \right) \tag{12} L(θ)=logP(X∣θ)=logZ∑P(X,Z∣θ)=log(Z∑P(X∣Z,θ)P(Z∣θ))(12)

注意到这一极大化的主要困难是式 (12) 中有未观测数据并有包含和(或积分)的对数。

事实上,EM 算法通过迭代逐步近似极大化 L ( θ ) L(\theta) L(θ)。假设在第 i i i次迭代后 θ \theta θ的估计值是 θ ( i ) \theta^{(i)} θ(i)。希望新估计值 θ \theta θ能使 L ( θ ) L(\theta) L(θ)增加,即 L ( θ ) > L ( θ ( i ) ) L(\theta) > L(\theta^{(i)}) L(θ)>L(θ(i)),并逐步达到极大值。为此,考虑两者的差:

L ( θ ) − L ( θ ( i ) ) = log ⁡ ( ∑ Z P ( X ∣ Z , θ ) P ( Z ∣ θ ) ) − log ⁡ P ( X ∣ θ ( i ) ) (13) L(\theta) - L(\theta^{(i)}) = \log \left( \sum_{Z} P(X \mid Z, \theta)P(Z \mid \theta) \right) - \log P(X \mid \theta^{(i)})\tag{13} L(θ)−L(θ(i))=log(Z∑P(X∣Z,θ)P(Z∣θ))−logP(X∣θ(i))(13)

利用 Jensen 不等式得到其下界:

L ( θ ) − L ( θ ( i ) ) = log ⁡ ( ∑ Z P ( Z ∣ X , θ ( i ) ) P ( X ∣ Z , θ ) P ( Z ∣ θ ) P ( Z ∣ X , θ ( i ) ) ) − log ⁡ P ( X ∣ θ ( i ) ) ⩾ ∑ Z P ( Z ∣ X , θ ( i ) ) log ⁡ P ( X ∣ Z , θ ) P ( Z ∣ θ ) P ( Z ∣ X , θ ( i ) ) − log ⁡ P ( X ∣ θ ( i ) ) = ∑ Z P ( Z ∣ X , θ ( i ) ) log ⁡ P ( X ∣ Z , θ ) P ( Z ∣ θ ) P ( Z ∣ X , θ ( i ) ) P ( X ∣ θ ( i ) ) \begin{aligned} L(\theta) - L(\theta^{(i)}) & = \log \left( \sum_{Z} P(Z \mid X, \theta^{(i)}) \frac{P(X \mid Z, \theta) P(Z \mid \theta)}{P(Z \mid X, \theta^{(i)})} \right) - \log P(X \mid \theta^{(i)}) \\ & \geqslant \sum_{Z} P(Z \mid X, \theta^{(i)}) \log \frac{P(X \mid Z, \theta) P(Z \mid \theta)}{P(Z \mid X, \theta^{(i)})} - \log P(X \mid \theta^{(i)}) \\ & = \sum_{Z} P(Z \mid X, \theta^{(i)}) \log \frac{P(X \mid Z, \theta) P(Z \mid \theta)}{P(Z \mid X, \theta^{(i)}) P(X \mid \theta^{(i)})} \end{aligned} L(θ)−L(θ(i))=log(Z∑P(Z∣X,θ(i))P(Z∣X,θ(i))P(X∣Z,θ)P(Z∣θ))−logP(X∣θ(i))⩾Z∑P(Z∣X,θ(i))logP(Z∣X,θ(i))P(X∣Z,θ)P(Z∣θ)−logP(X∣θ(i))=Z∑P(Z∣X,θ(i))logP(Z∣X,θ(i))P(X∣θ(i))P(X∣Z,θ)P(Z∣θ)

B ( θ ∣ X , θ ( i ) ) ≜ L ( θ ( i ) ) + ∑ Z P ( Z ∣ X , θ ( i ) ) log ⁡ P ( X ∣ Z , θ ) P ( Z ∣ θ ) P ( Z ∣ X , θ ( i ) ) P ( X ∣ θ ( i ) ) B(\theta \mid X, \theta^{(i)}) \triangleq L(\theta^{(i)}) + \sum_{Z} P(Z \mid X, \theta^{(i)}) \log \frac{P(X \mid Z, \theta) P(Z \mid \theta)}{P(Z \mid X, \theta^{(i)}) P(X \mid \theta^{(i)})} B(θ∣X,θ(i))≜L(θ(i))+Z∑P(Z∣X,θ(i))logP(Z∣X,θ(i))P(X∣θ(i))P(X∣Z,θ)P(Z∣θ)

L ( θ ) ⩾ B ( θ ∣ X , θ ( i ) ) L(\theta) \geqslant B(\theta\mid X, \theta^{(i)}) L(θ)⩾B(θ∣X,θ(i))

即函数 B ( θ ∣ X , θ ( i ) ) B(\theta\mid X, \theta^{(i)}) B(θ∣X,θ(i))是 L ( θ ) L(\theta) L(θ)的一个下界,而且由式 (13) 可知,

L ( θ ( i ) ) = B ( θ ( i ) ∣ X , θ ( i ) ) L(\theta^{(i)}) = B(\theta^{(i)}\mid X, \theta^{(i)}) L(θ(i))=B(θ(i)∣X,θ(i))

因此,任何可以使 B ( θ ∣ X , θ ( i ) ) B(\theta\mid X, \theta^{(i)}) B(θ∣X,θ(i))增大的 θ \theta θ,也可以使 L ( θ ) L(\theta) L(θ)增大。为了使 L ( θ ) L(\theta) L(θ)有尽可能大的增长,选择 θ ( i + 1 ) \theta^{(i+1)} θ(i+1)使 B ( θ ∣ X , θ ( i ) ) B(\theta\mid X, \theta^{(i)}) B(θ∣X,θ(i))达到极大,即

θ ( i + 1 ) = arg ⁡ max ⁡ θ B ( θ ∣ X , θ ( i ) ) (16) \theta^{(i+1)} = \arg \max_{\theta} B(\theta\mid X, \theta^{(i)})\tag{16} θ(i+1)=argθmaxB(θ∣X,θ(i))(16)

现在求 θ ( i + 1 ) \theta^{(i+1)} θ(i+1)的表达式。省去对 θ \theta θ的极大化而言是常数的项,由式 (16)及式 (13),有

θ ( i + 1 ) = arg ⁡ max ⁡ θ ( L ( θ ( i ) ) + ∑ Z P ( Z ∣ X , θ ( i ) ) log ⁡ P ( X ∣ Z , θ ) P ( Z ∣ θ ) P ( Z ∣ X , θ ( i ) ) P ( X ∣ θ ( i ) ) ) = arg ⁡ max ⁡ θ ( ∑ Z P ( Z ∣ X , θ ( i ) ) log ⁡ ( P ( X ∣ Z , θ ) P ( Z ∣ θ ) ) ) = arg ⁡ max ⁡ θ ( ∑ Z P ( Z ∣ X , θ ( i ) ) log ⁡ P ( X , Z ∣ θ ) ) = arg ⁡ max ⁡ θ Q ( θ ∣ X , θ ( i ) ) (17) \begin{aligned} \theta^{(i+1)} & = \arg \max_{\theta} \left( L(\theta^{(i)}) + \sum_{Z} P(Z \mid X, \theta^{(i)}) \log \frac{P(X \mid Z, \theta) P(Z \mid \theta)}{P(Z \mid X, \theta^{(i)}) P(X \mid \theta^{(i)})} \right) \\ & = \arg \max_{\theta} \left( \sum_{Z} P(Z \mid X, \theta^{(i)}) \log (P(X \mid Z, \theta) P(Z \mid \theta)) \right) \\ & = \arg \max_{\theta} \left( \sum_{Z} P(Z \mid X, \theta^{(i)}) \log P(X, Z \mid \theta) \right) \\ & = \arg \max_{\theta} Q(\theta\mid X, \theta^{(i)}) \end{aligned}\tag{17} θ(i+1)=argθmax(L(θ(i))+Z∑P(Z∣X,θ(i))logP(Z∣X,θ(i))P(X∣θ(i))P(X∣Z,θ)P(Z∣θ))=argθmax(Z∑P(Z∣X,θ(i))log(P(X∣Z,θ)P(Z∣θ)))=argθmax(Z∑P(Z∣X,θ(i))logP(X,Z∣θ))=argθmaxQ(θ∣X,θ(i))(17)

式 (17) 等价于 EM 算法的一次迭代,即求 Q Q Q函数及其极大化。EM 算法是通过不断求解下界的极大化逼近求解对数似然函数极大化的算法。

由式 (16) 和式 (17),EM 算法找到下一个点 θ ( i + 1 ) \theta^{(i+1)} θ(i+1)使函数 B ( θ ∣ X , θ ( i ) ) B(\theta\mid X, \theta^{(i)}) B(θ∣X,θ(i))极大化,也使函数 Q ( θ ∣ X , θ ( i ) ) Q(\theta\mid X, \theta^{(i)}) Q(θ∣X,θ(i))极大化。这时由于 L ( θ ) ⩾ B ( θ ∣ X , θ ( i ) ) L(\theta) \geqslant B(\theta\mid X, \theta^{(i)}) L(θ)⩾B(θ∣X,θ(i)),函数 B ( θ ∣ X , θ ( i ) ) B(\theta\mid X, \theta^{(i)}) B(θ∣X,θ(i))的增加,保证对数似然函数 L ( θ ) L(\theta) L(θ)在每次迭代中也是增加的。EM 算法在点 θ ( i + 1 ) \theta^{(i+1)} θ(i+1)重新计算 Q Q Q函数值,进行下一次迭代。在这个过程中,对数似然函数 L ( θ ) L(\theta) L(θ)不断增大。从图可以推断出 EM 算法不能保证找到全局最优值。

相关推荐
iAkuya13 小时前
(leetcode)力扣100 二叉搜索树种第K小的元素(中序遍历||记录子树的节点数)
算法·leetcode·职场和发展
程序员小嬛13 小时前
(TETCI 2024) 从 U-Net 到 Transformer:即插即用注意力模块解析
人工智能·深度学习·机器学习·transformer
Remember_99314 小时前
【LeetCode精选算法】滑动窗口专题二
java·开发语言·数据结构·算法·leetcode
Gorgous—l15 小时前
数据结构算法学习:LeetCode热题100-动态规划篇(下)(单词拆分、最长递增子序列、乘积最大子数组、分割等和子集、最长有效括号)
数据结构·学习·算法
北京地铁1号线15 小时前
2.3 相似度算法详解:Cosine Similarity 与 Euclidean Distance
算法·余弦相似度
Remember_99316 小时前
【LeetCode精选算法】滑动窗口专题一
java·数据结构·算法·leetcode·哈希算法
小饼干超人16 小时前
详解向量数据库中的PQ算法(Product Quantization)
人工智能·算法·机器学习
你撅嘴真丑17 小时前
第四章 函数与递归
算法·uva
漫随流水17 小时前
leetcode回溯算法(77.组合)
数据结构·算法·leetcode·回溯算法
玄冥剑尊17 小时前
动态规划入门
算法·动态规划·代理模式