# Q函数的推导

## Q函数的定义

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

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

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

## 为什么要引入Q函数

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

$$
L(\theta) 
= \log(\sum_Z P(Y|Z, \theta)P(Z|\theta))
$$

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

## 转化对数似然函数

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

$$
\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不等式](https://windmissing.github.io/mathematics_basic_for_ML/Mathematics/Formula/jensen.html)\
在公式（1）中，$$f(x) = \log(x)$$，这是一个凹函数，所以满足不等式（2）\
$$\lambda_i = P(Z|Y, \theta^{(i)})$$，$$\lambda_i$$是条件概率，因此满足$\lambd&#x61;_&#x69; \gt 0$且$\sum\_i\lambda\_i=1$。_\
_\$$x\_i = \frac{P(Y|Z, \theta)P(Z|\theta)}{P(Z|Y,\theta_{(i)})}\$$，等式左边的i为等式右边的Z

## 去掉常数项

现在已经转化了$$\sum\log$$形式的函数，得：

$$
\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)})})
$$

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

$$
\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}
$$
