この記事では、ジェンセンの不等式を用いた期待値最大化に関する一般的な見解を紹介します。
EMの目的は、パラメータ$\theta$を持つモデルの下で、隠れ変数Zによって説明される観測変数Xの尤度を最大化することです。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_{true}(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} \text{(式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's note または wikipedia を参照してください)。我々のケースでは、$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)]$ になるとも述べています。したがって、定数 c に等しくなるように $q$ を構築することができます。
$$ Y = \frac{p_{\theta}(x_i , z_i)}{q(z_i)} = c \tag{4} \ ext{(式 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{6} $$
したがって、$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) は我々のEステップです
$$ q(z_i) = p_{\theta}(z_i | x_i) \tag{Eステップ} $$
式(3)の$q(z_i)$を式(7)で置き換えることにより、$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's noteといくつかの他の情報源では無視されています。この仮定は$q(z_i)$の構築にどのように影響しますか?