期望最大化(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 算法不能保证找到全局最优值。

相关推荐
神经星星24 分钟前
专治AI审稿?论文暗藏好评提示词,谢赛宁呼吁关注AI时代科研伦理的演变
人工智能·深度学习·机器学习
大熊猫侯佩1 小时前
Swift 数学计算:用 Accelerate 框架让性能“加速吃鸡”
算法·swift
杰克尼1 小时前
2. 两数相加
算法
无聊的小坏坏1 小时前
单调栈通关指南:从力扣 84 到力扣 42
c++·算法·leetcode
_Coin_-1 小时前
算法训练营DAY29 第八章 贪心算法 part02
算法·贪心算法
阿维同学1 小时前
自动驾驶关键算法深度研究
人工智能·算法·自动驾驶
巴伦是只猫2 小时前
【机器学习笔记 Ⅱ】4 神经网络中的推理
笔记·神经网络·机器学习
今天背单词了吗9802 小时前
算法学习笔记:11.冒泡排序——从原理到实战,涵盖 LeetCode 与考研 408 例题
java·学习·算法·排序算法·冒泡排序
倔强的小石头_5 小时前
【C语言指南】函数指针深度解析
java·c语言·算法
Yasin Chen5 小时前
C# Dictionary源码分析
算法·unity·哈希算法