ベイズ推論による機械学習入門の式(4.25)の導出

須山さんのベイズ推論の本を読んでいる。

機械学習スタートアップシリーズ ベイズ推論による機械学習入門 (KS情報科学専門書)

機械学習スタートアップシリーズ ベイズ推論による機械学習入門 (KS情報科学専門書)

めちゃくちゃわかりやすいのである。 P.126 の変分推論の公式(4.25)を使った期待値計算(積分)が頻出するので、そのへんをまとめておく。 まずは(4.25)の導出をおさらい。

$$ \begin{equation} q(z_i) = \langle \ln p(z_1, \cdots , z_M)|D \rangle {q(Z{\i})} \tag{4.25} $$

出発は(4.14)である。 知りたい同時確率分布p()がわからないので、それぞれの確率変数の依存関係を思い切って断ち切ってしまって以下のように近似できると仮定する。 これは一見大胆な近似であるが、実際大胆な近似である。確率変数間の依存関係を無視しているのだから。 まずは第ゼロ近似的に計算が簡単になるように状況を簡単(理想)化して計算してみて、うまくいけばもうけもん、うまくいかなければそのとき考えるというスタンスである。知らんけど。

p(z_1,z_2,z_3) \sim q(z_1)q(z_2)q(z_3) \tag{4.15}

さて、話をもとに戻して、平均場近似(4.15)を(4.14)に代入する。 ここで唐突だが期待値計算を積分表記で書き直す。特に意味はない。

{
\displaystyle
\begin{eqnarray}
KL[q(z_1)q(z_2)q(z_3)||p(z1,z2,z3) = - \int \int \int dz_1 dz_2 dz_3 q_1 q_2 q_3 \ln \frac{p_{123}}{q_1 q_2 q_3 } \tag{4.18}
 \end{eqnarray}
}

ただしここで、q_i = q(z_i), p_{123} = p(z1,z2,z3)とする。

いま、(4.16)のようにq_1に着目し、q_2,q_3は固定であることに注意する。すると(4.18)は、

$$ \begin{align} (4.18) = - \int dz_1 q_1 \underline{ \int \int dz_2 dz_3 q_2 q_3 \ln \frac{p_{123}}{q_1 q_2 q_3} } \tag{4.18} \end{align} $$ と書ける。さらに\ln の中をを展開すると、

$$ = - \int dz_1 q_1 \int \int dz_2 dz_3 q_2 q_3 [ \underline{ \ln p_{123} - \ln q_1 } - \ln q_2 - \ln q_3 ] \tag{4.20} $$

となる。z_1に依存する項は下線部であることに注意し、z_1に依存しない定数項をconstに押し込めると

$$ = - \int dz_1 q_1 \int \int dz_2 dz_3 q_2 q_3 [ \underline{ \ln p_{123} - \ln q_1 } ] + const. \tag{4.21} $$

を得る。さらに以下のように展開し、

$$ = - \int dz_1 q_1 \Bigl( \int \int dz_2 dz_3 q_2 q_3 \ln p_{123} - \int \int dz_2 dz_3 q_2 q_3 \ln q_1 \Bigl) + const. \tag{4.21} $$

ここで、

$$ A = \int \int dz_2 dz_3 q_2 q_3 \ln p_{123} = \ln \exp(A) \tag{*} $$

の関係を使って、カッコ内の第1項を書き換えて、さらに、カッコ内第2項は確率の定義より、

$$ \int \int dz_2 dz_3 q_2 q_3 = 1 $$

となるので、結局(4.23)を得る。 $$ = - \int dz_1 q_1 \Bigl( \ln \exp(A) - \ln q_1 \Bigl) + const. \\ = - \int dz_1 q_1 \Bigl( \ln \frac{\exp(A)}{q_1 } \Bigl) + const. \\ = \mathrm{KL}[q_1 || \exp(A)] + const \tag{4.23} $$

これが言っていることは、q_2,q_3固定のもとで{4.17)を最小にするq_1は、\mathrm{KL}[q_1 || \exp(A)]=0のときであり、KLダイバージェンスの非負性と、KL(p|q)のときの等号成立はp=qのときのみというKLの性質から、 q_1 = \exp(A)のときである。ここでAは(*)であったから、これを戻してあげると目標の(4.25)が得られる(up tp const. term)。