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

相关推荐
哥布林学者3 分钟前
深度学习进阶(十四)ConvNeXt
机器学习·ai
勤劳的进取家4 分钟前
数据链路层基础
网络·学习·算法
Advancer-21 分钟前
第二次蓝桥杯总结(上)
java·算法·职场和发展·蓝桥杯
ん贤1 小时前
加密算法(对称、非对称、哈希、签名...)
算法·哈希算法
superior tigre1 小时前
78 子集
算法·leetcode·深度优先·回溯
天威?*1 小时前
bitset的数据结构用法
算法·动态规划
hoiii1872 小时前
粒子滤波跟踪系统 - 蒙特卡洛方法实现
算法
weisian1513 小时前
Java并发编程--47-分布式ID生成器:雪花算法(Snowflake)与时钟回拨问题
java·算法·时钟回拨·雪花算法id
itzixiao3 小时前
L1-066 猫是液体(5分)[java][python]
java·开发语言·python·算法
ytttr8733 小时前
MATLAB SIFT图像配准实现
算法·机器学习·matlab