更一般的在概率上的表达为
log(x)中x取值>0,其的二阶导数为$-\frac{1}{x^2}<0$, log函数为凹函数. 根据jensen不等式 $\sum_i^m{log(\sum_z q_i(z_i) \frac{p(x_i,z_i\vert\theta)}{q_i(z_i)})} >= \sum_i^m{\sum_z q_i(z_i) log(\frac{p(x_i,z_i\vert\theta)}{q_i(z_i))})} $
找到了优化目标的下界函数, 不断调整$\theta$和隐变量分布$z_i$使下界函数最大化. 将上面的下界函数内的联合概率密度函数分解重写为 $\sum_i^m{\sum_z q_i(z_i) log(\frac{p(x_i,z_i\vert\theta)}{q_i(z_i))})}$
$ = \sum_i^m{\sum_z q_i(z_i)} log[p(x_i \vert \theta) \frac{p(z_i \vert x_i,\theta)}{q_i(z_i)}] $
$= \sum_i^m{\sum_z q_i(z_i)}(log(p(x_i \vert \theta)) + log(\frac{p(z_i \vert x_i,\theta)}{q_i(z_i)}) $ $= \sum_i^m{\sum_z q_i(z_i)}log(p(x_i \vert \theta)) + \sum_i^m{\sum_z q_i(z_i)}log(\frac{p(z_i \vert x_i,\theta)}{q_i(z_i)}) $
从上一步的推导中,我们将待优化函数改为优化其下界函数,该下界函数有分解成两部分. 其中第二个部分中$\sum_z q_i(z_i)log(\frac{p(z_i \vert x_i,\theta)}{q_i(z_i)})$ 根据Gibbs不等式,其值小于等于0.
Gibbs 不等式如下
$ {-\sum_{i=1}^n p_i log(p_i)} <= {-\sum_{i=1}^n p_i log(q_i)} $
简而言之, 对任何概率分布p其信息熵小于等于p与另一个概率分布q的交叉熵. 其中等号在q于p相同时成立 该不等式证明相当简单, 只需要用到$log(x)<=x-1$, 见Wiki Gibbs不等式
该不等式直接导出
回到我们优化目标的第二项,就有 $\sum_i^m{\sum_z q_i(z_i)}log(\frac{p(z_i \vert x_i,\theta)}{q_i(z_i)})<=0$, 当$q_i(z_i) = p(z_i \vert x_i,\theta)$时第二项得到最大值0. 这就是优化过程中E-Step的由来
设定$q_i(z_i) = p(z_i \vert x_i,\theta)$优化目标的第二项就为0, 在用MLE(最大似然估计),也就是$argmax_\theta \sum_i^m{\sum_z q_i(z_i)}log(p(x_i\vert\theta))$来估计出新的$\theta$. 这就是M-Step.
当新的$\theta$得到后第二项就又不为0,再重新做E-Step更新$q_i(z_i)$。
网上常见的推导是指出,要使jensen不等式的等号成立,也就是下式成立 ${log(\sum_z q_i(z_i) \frac{p(x_i,z_i\vert\theta)}{q_i(z_i)})} == {\sum_z q_i(z_i) log(\frac{p(x_i,z_i\vert\theta)}{q_i(z_i))})} $
则需要$\frac{p(x_i,z_i\vert\theta)}{q_i(z_i))}$为常数,实际上是指与$z_i$无关, 显而易见,$p(x_i,z_i\vert\theta) = p(x_i\vert\theta)p(z_i \vert x_i,\theta)$, 这样当$q_i(z_i)=p(z_i \vert x_i,\theta)$时,$\frac{p(x_i,z_i \vert \theta)}{q_i(z_i))}$就与$z_i$无关.
同时, Gibbs不等式也可以从Jensen不等式直接导出.
E-Step 导出的是$z_i$的分布,对于GMM来说就是一个n维的向量,和为1。 参数$\theta$对于GMM来说是一个均值的向量和一个协方差矩阵.