EM算法和最大似然的区别

MLE = Max Likelihood Estimation,最大似然估计,这个可以解一般的问题,比如投硬币10次,9次朝上,1次朝下,问硬币朝上的概率是多少?则
$$
MLE = arg \max_{p} p^{9}(1-p)
$$
如何求最大值,对参数求导=0即可,这个不好算,一般最大似然会取Log,这样求导会方便一些
$$
log(p^9(1-p)) = 9logp + log(1-p)
$$
很容易得到p=0.9时,最大似然成立。
有时候的问题这么直接求解解不了,还有一个隐含变量,比如男女测身高估计正态分布的参数,或者两个隐蔽测试估计每个硬币的上下的概率,可以看到升高的
case里,需要知道是男是女,硬币的case里需要知道选取的哪个硬币,这些隐变量有了才能列出似然函数,然而多一个参数显然就不好解了,这个时候就需要用
到EM算法,通过迭代的方法,不断逼近真实的分布。

原理逼近

$$
\theta = \max_{\theta} L(\theta) = \max_{\theta} log(P(x^{i}|\theta))
$$
增加了隐变量后$\theta$后,似然函数变为
$$
\theta, z = \max_{\theta,z} L(\theta, z) = \max_{\theta,z} \sum_{i=1}^{m} log \sum_{z^{(i)}}P(x^{i},z^{i}|\theta)
$$
引入一个未知的新的分布$Q_i(z^i)$, 即关于隐变量z的分布,则上面的目标变为
$$
\sum_{i=1}^{m} log \sum_{z^{i}} Q_i(z^i) \frac{P(x^i,z^i|\theta)}{Q_i(z^i)}
$$
然后引入凸函数的Jsen不等式,即f(x)满足 f’’(x) >= 0,即为严格凸函数,有不等式如下
$$
E[f(x)] >= f(E(x))
$$

$$
L(\theta,z) = \sum_{i=1}^{m} log \sum_{z^{i}} Q_i(z^i) \frac{P(x^i,z^i|\theta)}{Q_i(z^i)} \\
\geq \sum_{i=1}^{m} \sum_{z^{i}} Q_i(z^i) log \frac{P(x^i,z^i|\theta)}{Q_i(z^i)}
$$
这样,$L(\theta,z)$就有了一个下界,我们的任务先固定$\theta$来找一个合适的$Q$,整体的思路就是先让下界=L,然后固定Q,在去优化$\theta$让下界最大化。
Jsen不等式成立的条件就是f(x)式常数,于是
$$
\frac{P(x^i,z^i|\theta)}{Q_i(z^i)} = c \\
P(x^i,z^i|\theta) = c Q_i(z^i) \\
\sum_{z} P(x^i,z^i|\theta) = c \sum_{z} Q_i{z^i} \\
\sum_{z} P(x^i,z^i|\theta) = c \\
Q_i(z^i) = \frac{P(x^i,z^i|\theta)} {c} = \frac{P(x^i,z^i|\theta)} {\sum_{z} P(x^i,z^i|\theta)} \\
= \frac{P(x^i,z^i|\theta)} {P(x^i|\theta)} \\
= P(z^i|x^i,\theta)
$$
即通过将下界=L找的Q就是基于x和$\theta$的分布,这个公式推导就是证明了Q的确定就是通过x和$\theta$的分布来确定的,这个值让下确界等于目标L,然后M步再固定Q取优化这个下确界就行了,当然是可以证明每次迭代都会比上一次更好,这里不赘述了。