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

相关推荐
renke33644 小时前
Flutter for OpenHarmony:数字涟漪 - 基于扩散算法的逻辑解谜游戏设计与实现
算法·flutter·游戏
玄同7654 小时前
机器学习中的三大距离度量:欧式距离、曼哈顿距离、切比雪夫距离详解
人工智能·深度学习·神经网络·目标检测·机器学习·自然语言处理·数据挖掘
rainbow7242444 小时前
AI证书选型深度分析:如何根据职业目标评估其真正价值
人工智能·机器学习
AI科技星4 小时前
从ZUFT光速螺旋运动求导推出自然常数e
服务器·人工智能·线性代数·算法·矩阵
倔强的石头1065 小时前
归纳偏好 —— 机器学习的 “择偶标准”
人工智能·机器学习
老鼠只爱大米5 小时前
LeetCode经典算法面试题 #78:子集(回溯法、迭代法、动态规划等多种实现方案详细解析)
算法·leetcode·动态规划·回溯·位运算·子集
执着2595 小时前
力扣hot100 - 199、二叉树的右视图
数据结构·算法·leetcode
龙山云仓5 小时前
MES系统超融合架构
大数据·数据库·人工智能·sql·机器学习·架构·全文检索
I_LPL5 小时前
day21 代码随想录算法训练营 二叉树专题8
算法·二叉树·递归
可编程芯片开发5 小时前
基于PSO粒子群优化PI控制器的无刷直流电机最优控制系统simulink建模与仿真
人工智能·算法·simulink·pso·pi控制器·pso-pi