在这篇文章中,我们介绍了一个关于期望最大化的常见观点,使用詹森不等式。
EM 的目标是最大化由隐藏变量 Z 解释的观测变量 X 的似然性,在具有参数 $\theta$ 的模型下。当 Z 是已知的(通常作为标签时),这个问题变成一个监督学习问题,可以直接使用最大似然估计而非 EM 来解决。对于大小为 $n$ 的训练数据集,来自真实分布 $p_{true}(x)$ 的由实例 $x_1$,$x_2$,... $x_n$ 组成的数据集的期望对数似然由以下公式给出:
\begin{align} \mathbb{E}_x (\log p_{\theta}(x)) \approx \frac{1}{n} \sum_{i=1}^{n} \log p_{\theta}(x_i), \quad x_i \sim p_{真实}(x) \tag{0} \end{align}
我们的目标是通过调整 $\theta$ 来最大化 (0)
\begin{align} \operatorname*{argmax}_{\theta} \mathbb{E}_x (\log p_{\theta}(x_i)) &= \operatorname*{argmax}_{\theta} n \cdot \mathbb{E}_x (\log p_{\theta}(x_i)) \\ &= \operatorname*{argmax}_{\theta} \sum_{i=1}^{n} \log p_{\theta}(x_i) \\ &= \operatorname*{argmax}_{\theta} \sum_{i=1}^{n} \log \sum_{z_i} p_{\theta}(x_i , z_i) \\ &= \operatorname*{argmax}_{\theta} l(\theta) \tag{1} \end{align}
从(1)开始,使用詹森不等式的推导添加了一个“辅助”分布$q$,使得
\begin{align}
l(\theta) &= \sum_{i=1}^{n} \log \sum_{z_i} p_{\theta}(x_i , z_i) \\
&= \sum_{i=1}^{n} \log \sum_{z_i} \frac{q(z_i) p_{\theta}(x_i , z_i)}{q(z_i)} \tag{2} \\
& \geq \sum_{i=1}^{n} \sum_{z_i} q(z_i) \log \frac{p_{\theta}(x_i , z_i)}{q(z_i)} \tag{3}
\end{align}
(2) 大于或等于 (3),因为詹森不等式表明 $f(E[Y]) \geq E[f(Y)]$ 如果 $f$ 是一个凹函数(有关更多详细信息,请查看 Andrew的笔记 或 维基百科)。在我们的案例中,$f$ 是 $log$,它是一个凹函数,而 $Y$ 是 $\frac{p(x_i , z_i; \theta)}{q(z_i)}$。使用 (3) 作为 (2) 的下限,我们希望将 (3) 尽可能地提高到 (2),使得 (3) $=$ (2) 以最大化似然。为此,詹森不等式还表明,当 $Y$ 是常数时,$f(E[Y]) = E[f(Y)]$。因此,我们可以构建 $q$,使得 $Y$ 等于某个常数 c,如下所示。
$$ Y = \frac{p_{\theta}(x_i , z_i)}{q(z_i)} = c \tag{4} $$
如果我们假设每个实例都有相同的对应常数 c,那么我们就有
$$ \frac{\sum_{z_i} p_{\theta}(x_i , z_i)}{\sum_{z_i} q(z_i)} = c \tag{5} $$
假设 $q(z_i)$ 是一个概率分布,且 $\sum_{z_i} q(z_i) = 1$,我们有
$$ c = \sum_{z_i} p_{\theta}(x_i , z_i) = p_{\theta}(x_i) \tag{六} $$
因此,$q(z_i)$ 可以写成如下形式
$$ q(z_i) = \frac{p_{\theta}(x_i , z_i)}{p_{\theta}(x_i)} = p_{\theta}(z_i | x_i) \tag{7(公式7)} $$
(7) 是我们的E步
$$ q(z_i) = p_{\theta}(z_i | x_i) \tag{期望步骤} $$
使用 (7) 替换 (3) 中的 $q(z_i)$,我们假设 $p_{\theta}(x_i \vert z_i)$ 是常数,从而得到我们的 M 步
\begin{align} \theta_{new} &= \operatorname*{argmax}_{\theta} \sum_{i=1}^{n} \sum_{z_i} p_{\theta}(z_i | x_i) \log \frac{p_{\theta}(x_i , z_i)}{p_{\theta}(z_i | x_i)} \\ &= \operatorname*{argmax}_{\theta} \sum_{i=1}^{n} \sum_{z_i} p_{\theta}(z_i | x_i) \log p_{\theta}(x_i , z_i) - \sum_{z_i} p_{\theta}(z_i | x_i) \log p_{\theta}(z_i | x_i) \\ &= \operatorname*{argmax}_{\theta} \sum_{i=1}^{n} \sum_{z_i} p_{\theta}(z_i | x_i) \log p_{\theta}(x_i , z_i) - C \\ &= \operatorname*{argmax}_{\theta} \sum_{i=1}^{n} \sum_{z_i} p_{\theta}(z_i | x_i) \log p_{\theta}(x_i , z_i) \tag{M-步骤} \end{align}
对于(5),似乎这个假设是必要的,但在Andrew的笔记和其他一些来源中被忽略了。这种假设如何影响$q(z_i)$的构建?