Q函数的推导

Q函数的定义

完全数据的对数似然函数logP(Y,Zθ)\log P(Y,Z|\theta)关于在给定观测数据Y和当前参数θ(i)\theta(i)下对未观测数据Z的条件概率分布P(ZY,θ(i))P(Z|Y,\theta(i))的期望称为Q函数

Q(θ,θ(i))=EZ[logP(Y,Zθ)Y,θ(i)]Q(\theta, \theta^{(i)}) = E_Z[\log P(Y, Z|\theta)|Y, \theta^{(i)}]

公式说明: EZ[A]E_Z[A]:A关于Z的期望 E[A|B]:在已知B的条件下A的期望,在这里已知的是“观测数据Y”和“当前参数θ(i)\theta(i)”。 $\log P(Y,Z|\theta)$:对数似然函数

为什么要引入Q函数

EM算法的目标是要极大化对数似然函数:

L(θ)=log(ZP(YZ,θ)P(Zθ))L(\theta) = \log(\sum_Z P(Y|Z, \theta)P(Z|\theta))

但是对形如log\log\sum这样的函数很难求极大化,最好转成对应的形如log\sum\log的函数

转化对数似然函数

这里过程跟书上不太一样,能跟书上得出一样的结果,不知道对不对

L(θ)=log(ZP(YZ,θ)P(Zθ))=log(ZP(ZY,θ(i))P(YZ,θ)P(Zθ)P(ZY,θ(i))),#A=BABZP(ZY,θ(i))logP(YZ,θ)P(Zθ)P(ZY,θ(i)),#jensen不等式1\begin{aligned} L(\theta) = \log(\sum_Z P(Y|Z, \theta)P(Z|\theta)) \\ = \log(\sum_Z P(Z|Y,\theta_{(i)})\frac{P(Y|Z, \theta)P(Z|\theta)}{P(Z|Y,\theta_{(i)})}), \# A = B*\frac{A}{B} \\ \ge \sum_ZP(Z|Y,\theta_{(i)})\log\frac{P(Y|Z, \theta)P(Z|\theta)}{P(Z|Y,\theta_{(i)})}, \# \text{jensen不等式} && {1} \end{aligned}

说明: jensen不等式 在公式(1)中,f(x)=log(x)f(x) = \log(x),这是一个凹函数,所以满足不等式(2) λi=P(ZY,θ(i))\lambda_i = P(Z|Y, \theta^{(i)})λi\lambda_i是条件概率,因此满足$\lambdai \gt 0$且$\sum_i\lambda_i=1$。 $$x_i = \frac{P(Y|Z, \theta)P(Z|\theta)}{P(Z|Y,\theta{(i)})}$$,等式左边的i为等式右边的Z

去掉常数项

现在已经转化了log\sum\log形式的函数,得:

θ(i+1)=argmaxθ(ZP(ZY,θ(i))logP(YZ,θ)P(Zθ)P(ZY,θ(i)))\theta^{(i+1)} = \arg\max_{\theta}(\sum_ZP(Z|Y,\theta_{(i)})\log\frac{P(Y|Z, \theta)P(Z|\theta)}{P(Z|Y,\theta_{(i)})})

要求θ(i+1)\theta^{(i+1)}就需要让公式(1)对θ\theta求导。 公式(1)中与θ\theta无关的项不影响结果可以去掉

θ(i+1)=argmaxθ(ZP(ZY,θ(i))logP(YZ,θ)P(Zθ)ZP(ZY,θ(i))logP(ZY,θ(i))=argmaxθ(ZP(ZY,θ(i))logP(YZ,θ)P(Zθ))=argmaxθ(ZP(ZY,θ(i))logP(Y,Zθ))=argmaxθQ(θ,θ(i))\begin{aligned} \theta^{(i+1)} = \arg\max_{\theta}(\sum_ZP(Z|Y,\theta_{(i)})\log P(Y|Z, \theta)P(Z|\theta) - \sum_Z P(Z|Y,\theta^{(i)})\log P(Z|Y,\theta_{(i)}) \\ = \arg\max_{\theta}(\sum_ZP(Z|Y,\theta^{(i)})\log P(Y|Z, \theta)P(Z|\theta)) \\ = \arg\max_{\theta}(\sum_ZP(Z|Y,\theta^{(i)})\log P(Y,Z|\theta)) \\ = \arg\max_{\theta} Q(\theta, \theta^{(i)}) \end{aligned}

Last updated

Was this helpful?