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

相关推荐
敲上瘾几秒前
位图与布隆过滤器:原理、实现与海量数据处理方案
大数据·数据结构·算法·位图·布隆过滤器
此方ls2 分钟前
机器学习深度学习二——GAN网络
深度学习·机器学习·生成对抗网络
宵时待雨7 分钟前
C++笔记归纳13:map & set
开发语言·数据结构·c++·笔记·算法
1104.北光c°1 小时前
滑动窗口HotKey探测机制:让你的缓存TTL更智能
java·开发语言·笔记·程序人生·算法·滑动窗口·hotkey
仰泳的熊猫5 小时前
题目2570:蓝桥杯2020年第十一届省赛真题-成绩分析
数据结构·c++·算法·蓝桥杯
无极低码8 小时前
ecGlypher新手安装分步指南(标准化流程)
人工智能·算法·自然语言处理·大模型·rag
软件算法开发9 小时前
基于海象优化算法的LSTM网络模型(WOA-LSTM)的一维时间序列预测matlab仿真
算法·matlab·lstm·一维时间序列预测·woa-lstm·海象优化
云和数据.ChenGuang9 小时前
魔搭社区 测试AI案例故障
人工智能·深度学习·机器学习·ai·mindstudio
superior tigre9 小时前
22 括号生成
算法·深度优先