変分ベイズの定式化から近似事後分布の導出まで(2)

前回に引き続きPRML10.1の穴埋めです。

話の流れは以下になります。

  1. 変分ベイズの定式化
  2. 準備:変分法(この記事)
  3. 変分事後分布の導出

前回、

    \[ p(Z|D) \approx \arg \max F[q(Z)] \]

    \[ F[q(Z)] =  \int q(Z) \frac{ \ln p(D, Z) }{ \ln q(Z) } dZ \]

という形で変分ベイズ法による潜在変数・パラメータ諸々込みの確率変数ZのデータDの下での事後分布近似問題の定式化を行いました。

今回は、この最大化問題を解くためのツールとしての変分法の紹介です。そんなに勉強したわけではないので、変な所があれば指摘歓迎です。参考にしたのは、次の2冊です。Calculus of Variationsは必要十分な感じでとても読みやすかったです。日本語だとべんりな変分原理は物理の実例が多めですが、行間もちょっと多めかも?

webリソースでは、こことかここが参考になりました。


2. 準備:変分法

(1)   \begin{equation*} I[y] = \int L(x_{1}, x_{2}, y) dx_{1}dx_{2} \end{equation*}

のような状況を考える。yx_{1},x_{2}の関数であり、Iは関数y(x_{1},x_{2})を引数にとる汎関数と呼ばれる(汎関数の文脈では、yのことを変関数と呼ぶ)。この時I[y]に極値を与える変関数yを求める問題を変分問題といい、通常の関数の極値を求める問題に対応する。ここでは、最大化問題に限定しておく。

VB2

 

ここで、Iに極値を与える変関数をy_{0}と置いて、y_{0}\epsilon \eta(x_{1}, x_{2})だけ微小変化させた関数をyとして再定義する。すなわち、

(2)   \begin{equation*} y(x_{1}, x_{2}) = y_{0}(x_{1}, x_{2}) + \epsilon \eta(x_{1}, x_{2}) \end{equation*}

さらに、yy_{0}の汎関数値の差を\epsilonの関数として次のように定義する。

(3)   \begin{equation*} \Delta I(\epsilon) = I[y] - I[y_{0}] \end{equation*}

(3)式のI[y]\epsilon = 0周り、すなわちyy_{0}と一致する点で、二次までTaylor展開する。

(4)   \begin{equation*} I[y] = I[y_{0}] + \epsilon \frac{dI}{d\epsilon} \biggm|_{\epsilon=0} + \frac{1}{2} \epsilon^{2} \frac{d^{2}I}{d\epsilon^{2}} \biggm|_{\epsilon=0} + O(\epsilon^3) \end{equation*}

\epsilon=0の時、I[y]I[y_{0}]に還元されることに注意する。後は、Taylor展開そのままである。(3)式に(4)を代入すると、

(5)   \begin{eqnarray*} \Delta I(\epsilon) &=& \epsilon \frac{dI}{d\epsilon} \biggm|_{\epsilon=0} + \frac{1}{2} \epsilon^{2} \frac{d^{2}I}{d\epsilon^{2}} \biggm|_{\epsilon=0} + O(\epsilon^3) \\ &=& \delta I + \delta^{2} I + O(\epsilon^3) \end{eqnarray*}

(5)により、y_{0}の極大点付近でのyの微小変化量を表現する関数が構成できた。ここで、\delta Iを第一変分、\delta^{2} Iを第二変分と呼ぶ。

y_{0}においてIが極大であるための条件は次の2つである。

  1. \delta I = 0
  2. \delta I^{2} < 0

\Delta Iは(極大値から少しずれた関数値)から(極大値)を減じているので、\Delta Iは負値にならなければならない。第一変分は\epsilonが正負値を取りうるので、0にならなければならず、条件1が与えられる。これを停留条件と呼ぶ。条件2は第一変分を0とした結果から、第2変分を負にすることが要請される。これがy_{0}が極大であるための条件である。

まず、条件1を詳細化する。

(6)   \begin{eqnarray*} \delta I &=& \epsilon \frac{dI}{d\epsilon} \biggm|_{\epsilon=0} \\ &=& \epsilon \cdot \frac{d}{d \epsilon} \int L(x_{1}, x_{2}, y) dx_{1}dx_{2} \biggm|_{\epsilon=0} \\ &=& \epsilon \cdot \int \frac{d L}{d \epsilon} dx_{1}dx_{2} \biggm|_{\epsilon=0} \\ &=& \epsilon \cdot \int \frac{\partial L}{\partial y} \frac{\partial y}{\partial \epsilon} dx_{1}dx_{2} \biggm|_{\epsilon=0} \\ &=& \int \frac{\partial L}{\partial y} \epsilon \eta dx_{1}dx_{2} \\ &=& 0 \end{eqnarray*}

\epsilon \etaは任意なので、(6)式が恒等的に0になるためには、次の条件を満たせば良い。

(7)   \begin{equation*} \frac{\partial L}{\partial y} = 0 \end{equation*}

(7)式は、オイラー・ラグランジュ(Euler-Lagrange)方程式の特殊形である(一般形は、Ly'を含んでいるため、y'に関連する項が出る。変分ベイズにはy'は必要ない)。

次に条件2も同様に計算すると次のようになる。

(8)   \begin{eqnarray*} \delta I^{2} &=& \frac{1}{2} \epsilon^{2} \frac{d^{2} I}{d\epsilon^{2}} \biggm|_{\epsilon=0} \\ &=& \frac{1}{2} \epsilon^{2} \cdot \int \frac{d^{2} L}{d\epsilon^{2}} dx_{1}dx_{2} \biggm|_{\epsilon=0} \\ &=& \frac{1}{2} \int \frac{\partial^{2} L}{\partial y^{2}} (\epsilon \eta)^{2} dx_{1}dx_{2} \\ &<& 0 \end{eqnarray*}

(8)において、(\epsilon \eta)^{2} \ge 0なので第二変分が負となるためには、次の条件を満たせばよい。

(9)   \begin{equation*} \frac{\partial^{2} L}{\partial y^{2}} < 0 \end{equation*}

以上より、I[y]の変関数yに関する最大化問題は、(7),(9)の条件を満たす関数yを決定する問題に帰着する。なお、今回の導出では、yx_{1}, x_{2}の関数としたが、xがいくつあっても導出過程に代わりはない。

最後に、変関数yが次のような拘束条件を持つ場合についての解法を述べておく。

(10)   \begin{equation*} J = \int M(x_{1},x_{2},y) dx_{1}dx_{2} = K \end{equation*}

導出は同様なので省略するが、汎関数Iの代わりにI + \lambda (J - K)に対して、ラグランジュの未定乗数法で拘束条件を加えて変分問題を解くと、次の停留条件と極大値であるための条件を得る。

(11)   \begin{eqnarray*} G(x_{1},x_{2},y) &=& L(x_{1},x_{2},y) + \lambda M(x_{1},x_{2},y) \\ \frac{\partial G}{\partial y} &=& 0 \\ \frac{\partial^{2} G}{\partial y^{2}} &<& 0 \\ \end{eqnarray*}

\lambdaは拘束条件(10)から決定される。


以上で、変分法による汎関数最大化(極大化)問題の解き方が分かりました。次回は、この結果を利用して、変分ベイズの汎関数最大化問題の計算を行います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA