机器学习笔记之EM算法——广义EM
引言
上一节介绍了引入隐变量的本质,本节将狭义EM算法推广至广义EM算法。
回顾:引如隐变量与EM算法的本质
引入EM算法本质上是基于频率学派的思想,针对概率模型 P ( X ∣ θ ) P(\mathcal X \mid \theta) P(X∣θ)中模型参数 θ \theta θ的估计问题。
learning 问题。
找到这个最优模型参数 θ ^ \hat \theta θ^的底层逻辑是极大似然估计(Maximum Likelihood Estimate,MLE):
θ ^ = arg max θ log P ( X ∣ θ ) \hat \theta = \mathop{\arg\max}\limits_{\theta} \log P(\mathcal X \mid \theta) θ^=θargmaxlogP(X∣θ)
但通常情况是:如果将 P ( X ∣ θ ) P(\mathcal X \mid \theta) P(X∣θ)看成概率模型,那么该概率模型产生的真实样本 X \mathcal X X过于复杂,导致使用极大似然估计无法有效地求出最优解析解 θ ^ \hat \theta θ^。
针对这种情况,我们需要对 P ( X ∣ θ ) P(\mathcal X \mid \theta) P(X∣θ)做出一些假设:假设存在概率模型 P ( Z ) P(\mathcal Z) P(Z),真实样本 X \mathcal X X是以概率模型 P ( Z ) P(\mathcal Z) P(Z)的条件下产生出来的。数学符号表达即:
P ( X ∣ Z ) P(\mathcal X \mid \mathcal Z) P(X∣Z)
概率图表示为:
由于 P ( Z ) P(\mathcal Z) P(Z)是人为假设的概率分布,从而可以将原始的概率模型 P ( X ) P(\mathcal X) P(X)转化为关于真实样本 X \mathcal X X,隐变量 Z \mathcal Z Z的混合概率模型 P ( X , Z ) P(\mathcal X,\mathcal Z) P(X,Z):
P ( X , Z ) = P ( X ∣ Z ) P ( Z ) P(\mathcal X,\mathcal Z) = P(\mathcal X \mid \mathcal Z)P(\mathcal Z) P(X,Z)=P(X∣Z)P(Z)
从而可以通过概率模型 P ( Z ) P(\mathcal Z) P(Z)作为媒介,将复杂的样本分布 P ( X ∣ θ ) P(\mathcal X \mid \theta) P(X∣θ)求解出来:
P ( X ) = ∫ Z P ( X , Z ) d Z = E Z [ P ( X , Z ) ] P(\mathcal X) = \int_{\mathcal Z} P(\mathcal X,\mathcal Z)d\mathcal Z = \mathbb E_{\mathcal Z}\left[P(\mathcal X,\mathcal Z)\right] P(X)=∫ZP(X,Z)dZ=EZ[P(X,Z)]
狭义EM与广义EM
回顾:狭义EM算法
在确立了目标函数: log P ( X ∣ θ ) \log P(\mathcal X \mid \theta) logP(X∣θ)之后,我们将隐变量 Z \mathcal Z Z引入,对目标函数进行展开:
详细的展开过程见
传送门,这里就不赘述了。
log P ( X ∣ θ ) = log P ( X , Z ∣ θ ) − log P ( Z ∣ X , θ ) = log P ( X , Z ∣ θ ) − log Q ( Z ) − [ log P ( Z ∣ X , θ ) − log Q ( Z ) ] = log P ( X , Z ∣ θ ) Q ( Z ) − log P ( Z ∣ X , θ ) Q ( Z ) \begin{aligned} \log P(\mathcal X \mid \theta) & = \log P(\mathcal X,\mathcal Z \mid \theta) - \log P(\mathcal Z \mid \mathcal X,\theta) \\ & = \log P(\mathcal X,\mathcal Z \mid \theta) - \log \mathcal Q(\mathcal Z) - [\log P(\mathcal Z \mid \mathcal X,\theta) - \log \mathcal Q(\mathcal Z)] \\ & = \log \frac{P(\mathcal X,\mathcal Z \mid \theta)}{\mathcal Q(\mathcal Z)} - \log \frac{P(\mathcal Z \mid \mathcal X,\theta)}{\mathcal Q(\mathcal Z)} \end{aligned} logP(X∣θ)=logP(X,Z∣θ)−logP(Z∣X,θ)=logP(X,Z∣θ)−logQ(Z)−[logP(Z∣X,θ)−logQ(Z)]=logQ(Z)P(X,Z∣θ)−logQ(Z)P(Z∣X,θ)
同时对等式左右两端基于 Q ( Z ) \mathcal Q(\mathcal Z) Q(Z)求解期望:
等式左端:
E Q ( Z ) [ log P ( X ∣ θ ) ] = ∫ Z Q ( Z ) log P ( X ∣ θ ) d Z = log P ( X ∣ θ ) ∫ Z Q ( Z ) d Z = log P ( X ∣ θ ) \begin{aligned} \mathbb E_{\mathcal Q(\mathcal Z)} \left[\log P(\mathcal X \mid \theta)\right] & = \int_{\mathcal Z} \mathcal Q(\mathcal Z) \log P(\mathcal X \mid \theta)d\mathcal Z \\ & = \log P(\mathcal X \mid \theta) \int_{\mathcal Z} \mathcal Q(\mathcal Z)d\mathcal Z \\ & = \log P(\mathcal X \mid \theta) \end{aligned} EQ(Z)[logP(X∣θ)]=∫ZQ(Z)logP(X∣θ)dZ=logP(X∣θ)∫ZQ(Z)dZ=logP(X∣θ)
等式右端:
E Q ( Z ) [ log P ( X , Z ∣ θ ) Q ( Z ) − log P ( Z ∣ X , θ ) Q ( Z ) ] = E Q ( Z ) [ log P ( X , Z ∣ θ )