からっぽのしょこ

読んだら書く!書いたら読む!読書読読書読書♪同じ事は二度調べ(たく)ない

3.3.2:変分ベイズ法(1)【白トピックモデルのノート】

はじめに

 『トピックモデルによる統計的潜在意味解析』の学習時のメモです。基本的な内容は、数式の行間を読んで埋めたものになります。本と併せて読んでいただければと思います。

 この記事では、3.3.2節の変分ベイズ法について書いています。

 数学よく解らない自分が理解できるレベルまで落として数式を書き下していますので、分かる人にはかなりくどいです。

【前節の内容】

www.anarchive-beta.com

【他の節一覧】

https://www.anarchive-beta.com/entry/2019/12/22/120000www.anarchive-beta.com

【この記事の内容】

3.3 変分近似法

 変分ベイズ法と呼ばれる決定論的な近似アルゴリズムにについて説明する。

3.3.1 変分法

 本をご参照ください。

3.3.2 変分ベイズ法(1)

 一般的なモデルにおける変分ベイズ法の導出を行っていく。

 $p(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi} | \boldsymbol{x}_{1:n}, \alpha, \eta)$の計算は難しい。そこで、尤度関数のパラメータを周辺化(積分消去)し

$$ p(\boldsymbol{x}_{1:n} | \alpha, \eta) = \int \sum_{\boldsymbol{z}_{i:n}} p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi} | \alpha, \eta) d\boldsymbol{\phi} d\boldsymbol{\pi} $$

更に、対数をとった

$$ \log p(\boldsymbol{x}_{1:n} | \alpha, \eta) = \log \int \sum_{\boldsymbol{z}_{i:n}} p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi} | \alpha, \eta) d\boldsymbol{\phi} d\boldsymbol{\pi} \tag{3.45} $$

対数周辺尤度を用いる。

・変分下限の導出

 対数周辺尤度に対して、イエンセンの不等式を用いて

$$ \begin{align} \log p(\boldsymbol{x}_{1:n} | \alpha, \eta) &= \log \int \sum_{\boldsymbol{z}_{i:n}} p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi} | \alpha, \eta) d\boldsymbol{\phi} d\boldsymbol{\pi} \tag{3.45} \\ &= \log \int \sum_{\boldsymbol{z}_{i:n}} q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi}) \frac{ p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi} | \alpha, \eta) }{ q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi}) } d\boldsymbol{\phi} d\boldsymbol{\pi} \\ &\geq \int \sum_{\boldsymbol{z}_{i:n}} q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi}) \log \frac{ p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi} | \alpha, \eta) }{ q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi}) } d\boldsymbol{\phi} d\boldsymbol{\pi} \equiv F[q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi})] \tag{3.50} \end{align} $$

【途中式の途中式】

  1. $\frac{q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi})}{q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi})} = 1$を掛ける。
  2. イエンセンの不等式を用いる。


変分下限$F[q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi})]$が得られる。
 対数周辺尤度と変分下限との差を求めると

$$ \begin{align} &\log p(\boldsymbol{x}_{1:n} | \alpha, \eta) - F[q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi})] \\ &= \sum_{\boldsymbol{z}_{1:n}} \int q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi}) \log p(\boldsymbol{x}_{1:n} | \alpha, \eta) d\boldsymbol{\phi} d\boldsymbol{\pi} - \sum_{\boldsymbol{z}_{1:n}} \int q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi}) \log \frac{ p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi} | \alpha, \eta) }{ q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi}) } d\boldsymbol{\phi} d\boldsymbol{\pi} \\ &= \sum_{\boldsymbol{z}_{1:n}} \int q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi}) \left( \log p(\boldsymbol{x}_{1:n} | \alpha, \eta) - \log \frac{ p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi} | \alpha, \eta) }{ q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi}) } \right) d\boldsymbol{\phi} d\boldsymbol{\pi} \\ &= \sum_{\boldsymbol{z}_{1:n}} \int q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi}) \log \frac{ p(\boldsymbol{x}_{1:n} | \alpha, \eta) q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi}) }{ p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi} | \alpha, \eta) } d\boldsymbol{\phi} d\boldsymbol{\pi} \\ &= \sum_{\boldsymbol{z}_{1:n}} \int q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi}) \log \frac{ q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi}) }{ p(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi} |\boldsymbol{x}_{1:n}, \alpha, \eta) } d\boldsymbol{\phi} d\boldsymbol{\pi} \\ &= {\rm KL}[ q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi}) \parallel p(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi} |\boldsymbol{x}_{1:n}, \alpha, \eta) ] \tag{A.2} \end{align} $$

【途中式の途中式】

  1. 変分下限の式と形を揃えるため、対数周辺尤度に$\sum_{\boldsymbol{z}_{1:n}} \int q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} = 1$を掛ける。
  2. 括弧でくくる。
  3. $\log A - \log \frac{B}{C} = \log (A \frac{C}{B})$の変形を行う。
  4. ベイズの定理$\frac{p(A, B | C)}{p(A | C)} = p(B | A, C)$より、$\frac{p(\boldsymbol{x}_{1:n} | \alpha, \eta)}{p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi} | \alpha, \eta)} = \frac{1}{p(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi} |\boldsymbol{x}_{1:n}, \alpha, \eta)}$である。
  5. KL情報量に置き換える。


近似事後分布$q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi})$と$p(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi} | \boldsymbol{x}_{1:n}, \alpha, \eta)$のKL情報量になることが分かる。
 またここから、対数周辺尤度と変分下限、KL情報量は

$$ \log p(\boldsymbol{x}_{1:n} | \alpha, \eta) = F[q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi})] + {\rm KL}[ q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi}) \parallel p(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi} | \boldsymbol{x}_{1:n}, \alpha, \eta) ] \tag{3.46} $$

の関係を満たすことが分かる。
 従って、変分下限を最大(KL情報量を最小)にする$q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi})$を求めることで、対数周辺尤度を最大化できることが分かる。(図3.3)

 更に、変分下限は

$$ \begin{align} F[q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi})] &= \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi}) \log \frac{ p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi} | \alpha, \eta) }{ q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi}) } d\boldsymbol{\phi} d\boldsymbol{\pi} \tag{3.50}\\ &= \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log \frac{ p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) p(\boldsymbol{\phi} | \eta) p(\boldsymbol{\pi} | \alpha) }{ q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) } d\boldsymbol{\phi} d\boldsymbol{\pi} \\ &= \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \left( \log \frac{ p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) }{ q(\boldsymbol{z}_{1:n}) } + \log \frac{ p(\boldsymbol{\phi} | \eta) }{ q(\boldsymbol{\phi}) } + \log \frac{ p(\boldsymbol{\pi} | \alpha) }{ q(\boldsymbol{\pi}) } \right) d\boldsymbol{\phi} d\boldsymbol{\pi} \\ &= \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log \frac{ p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) }{ q(\boldsymbol{z}_{1:n}) } d\boldsymbol{\phi} d\boldsymbol{\pi} \\ &\qquad + \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log \frac{ p(\boldsymbol{\phi} | \eta) }{ q(\boldsymbol{\phi}) } d\boldsymbol{\phi} d\boldsymbol{\pi} + \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log \frac{ p(\boldsymbol{\pi} | \alpha) }{ q(\boldsymbol{\pi}) } d\boldsymbol{\phi} d\boldsymbol{\pi} \\ &= \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log \frac{ p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) }{ q(\boldsymbol{z}_{1:n}) } d\boldsymbol{\phi} d\boldsymbol{\pi} \\ &\qquad + \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\pi}) d\boldsymbol{\pi} \int q(\boldsymbol{\phi}) \log \frac{ p(\boldsymbol{\phi} | \eta) }{ q(\boldsymbol{\phi}) } d\boldsymbol{\phi} + \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) d\boldsymbol{\phi} \int q(\boldsymbol{\pi}) \log \frac{ p(\boldsymbol{\pi} | \alpha) }{ q(\boldsymbol{\pi}) } d\boldsymbol{\pi} \\ &= \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log \frac{ p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) }{ q(\boldsymbol{z}_{1:n}) } d\boldsymbol{\phi} d\boldsymbol{\pi} \\ &\qquad + \sum_{k=1}^K \int q(\phi_k) \log \frac{ p(\phi_k | \eta) }{ q(\phi_k) } d\phi_k + \int q(\boldsymbol{\pi}) \log \frac{ p(\boldsymbol{\pi} | \alpha) }{ q(\boldsymbol{\pi}) } d\boldsymbol{\pi} \end{align} $$

【途中式の途中式】

  1. 因子分解仮定(3.42)、生成過程より、それぞれ分解する。
  2. $\log (AB) = \log A + \log B$の変形を行う。
  3. 括弧を展開する。
  4. 式を整理する。
  5. $\sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) = \int q(\boldsymbol{\phi}) d\boldsymbol{\phi} = \int q(\boldsymbol{\pi}) d\boldsymbol{\pi} = 1$より消える。


となる。ここから更に、KL情報量の形にしていく。

$$ \begin{align} F[q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi})] &= \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log \frac{ p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) }{ q(\boldsymbol{z}_{1:n}) } d\boldsymbol{\phi} d\boldsymbol{\pi} \\ &\qquad + \sum_{k=1}^K \int q(\phi_k) \log \frac{ p(\phi_k | \eta) }{ q(\phi_k) } d\phi_k + \int q(\boldsymbol{\pi}) \log \frac{ p(\boldsymbol{\pi} | \alpha) }{ q(\boldsymbol{\pi}) } d\boldsymbol{\pi} \\ &= \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log \frac{ p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) }{ q(\boldsymbol{z}_{1:n}) } d\boldsymbol{\phi} d\boldsymbol{\pi} \\ &\qquad + \sum_{k=1}^K \int q(\phi_k) \Bigl( \log p(\phi_k | \eta) - \log q(\phi_k) \Bigr) d\phi_k + \int q(\boldsymbol{\pi}) \Bigl( \log p(\boldsymbol{\pi} | \alpha) - \log q(\boldsymbol{\pi}) \Bigr) d\boldsymbol{\pi} \\ &= \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log \frac{ p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) }{ q(\boldsymbol{z}_{1:n}) } d\boldsymbol{\phi} d\boldsymbol{\pi} \\ &\qquad - \sum_{k=1}^K \int q(\phi_k) \Bigl( - \log p(\phi_k | \eta) + \log q(\phi_k) \Bigr) d\phi_k - \int q(\boldsymbol{\pi}) \Bigl( - \log p(\boldsymbol{\pi} | \alpha) + \log q(\boldsymbol{\pi}) \Bigr) d\boldsymbol{\pi} \\ &= \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log \frac{ p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) }{ q(\boldsymbol{z}_{1:n}) } d\boldsymbol{\phi} d\boldsymbol{\pi} \\ &\qquad - \sum_{k=1}^K \int q(\phi_k) \log \frac{ q(\phi_k) }{ p(\phi_k | \eta) } d\phi_k - \int q(\boldsymbol{\pi}) \log \frac{ q(\boldsymbol{\pi}) }{ p(\boldsymbol{\pi} | \alpha) } d\boldsymbol{\pi} \\ &= \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log \frac{ p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) }{ q(\boldsymbol{z}_{1:n}) } d\boldsymbol{\phi} d\boldsymbol{\pi} \tag{3.52}\\ &\qquad - \sum_{k=1}^K {\rm KL}[q(\phi_k) \parallel p(\phi_k | \eta)] - {\rm KL}[q(\boldsymbol{\pi}) \parallel p(\boldsymbol{\pi} | \alpha)] \tag{3.53} \end{align} $$

【途中式の途中式】

  1. $\log \frac{A}{B} = \log A - \log B$の変形を行う。
  2. 元の分母分子を入れ替えるために、括弧から$-1$を括り出す。
  3. $- \log A + \log B = \log \frac{B}{A}$の変形を行う。
  4. KL情報量に置き換える。


 式(3.52)について

$$ \begin{aligned} \log p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) &= \log \prod_{i=1}^n p(x_i, z_i | \boldsymbol{\phi}, \boldsymbol{\pi}) \\ &= \sum_{i=1}^n \log p(x_i, z_i | \boldsymbol{\phi}, \boldsymbol{\pi}) \end{aligned} $$

であり、また

$$ \begin{aligned} \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) \log q(\boldsymbol{z}_{1:n}) &= \sum_{i=1}^n \sum_{z_i} q(z_i) \log q(z_i) \\ &= \sum_{i=1}^n \sum_{k=1}^K q(z_i = k) \log q(z_i = k) \end{aligned} $$

である。よって、式(3.52)は

$$ \begin{align} & \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log \frac{ p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) }{ q(\boldsymbol{z}_{1:n}) } d\boldsymbol{\phi} d\boldsymbol{\pi} \tag{3.52}\\ &= \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \Bigl( \log p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) - \log q(\boldsymbol{z}_{1:n}) \Bigr) d\boldsymbol{\phi} d\boldsymbol{\pi} \\ &= \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} - \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log q(\boldsymbol{z}_{1:n}) d\boldsymbol{\phi} d\boldsymbol{\pi} \\ &= \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} - \int q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) \log q(\boldsymbol{z}_{1:n}) \\ &= \int \sum_{i =1}^n \sum_{z_i} q(z_i) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(x_i, z_i | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} - \sum_{i=1}^n \sum_{k=1}^K q(z_i = k) \log q(z_i = k) \tag{3.55} \end{align} $$

【途中式の途中式】

  1. $\log \frac{A}{B} = \log A - \log B$の変形を行う。
  2. 括弧を展開する。
  3. 式を整理する。
  4. 式を整理する。
    • $\int q(\boldsymbol{\phi}) d\boldsymbol{\phi} = \int q(\boldsymbol{\pi}) d\boldsymbol{\pi} = 1$より消える。
    • 式を置き換える。


となる。従って、変分下限は

$$ \begin{aligned} F[q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi})] &= \int \sum_{i =1}^n \sum_{z_i} q(z_i) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(x_i, z_i | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} - \sum_{i=1}^n \sum_{k=1}^K q(z_i = k) \log q(z_i = k) \\ &\qquad + \sum_{k=1}^K \int q(\phi_k) \log \frac{ p(\phi_k | \eta) }{ q(\phi_k) } d\phi_k + \int q(\boldsymbol{\pi}) \log \frac{ p(\boldsymbol{\pi} | \alpha) }{ q(\boldsymbol{\pi}) } d\boldsymbol{\pi} \\ &= \int \sum_{i =1}^n \sum_{z_i} q(z_i) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(x_i, z_i | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} - \sum_{i=1}^n \sum_{k=1}^K q(z_i = k) \log q(z_i = k) \\ &\qquad - \sum_{k=1}^K {\rm KL}[q(\phi_k) \parallel p(\phi_k | \eta)] - {\rm KL}[q(\boldsymbol{\pi}) \parallel p(\boldsymbol{\pi} | \alpha)]\end{aligned} $$

になる。

・近似事後分布$q(z_i)$の導出

 変分下限$F[q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi})]$から$q(z_i)$に関係のある項のみ取り出して$\tilde{F}[q(z_i)]$とおく(取り出さなくとも変分の時点で消えてしまう(たぶん))。

$$ \begin{align} \tilde{F}[q(z_i)] &= \int \sum_{z_i} q(z_i) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(x_i, z_i | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} - \sum_{k=1}^K q(z_i = k) \log q(z_i = k) \\ &= \sum_{k=1}^K q(z_i = k) \int q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(x_i, z_i = k | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} - \sum_{k=1}^K q(z_i = k) \log q(z_i = k) \tag{3.56} \end{align} $$

$z_i$についてのみ取り出したので、$z_1, z_2, \cdots, z_{i-1}, z_{i+1}, \cdots, z_n$は含まれない。

・正攻法Ver

 制約$\sum_{k=1}^K q(z_i = k) = 1$の下での最適化問題として、ラグランジュ乗数$\lambda$を用いて、ラグランジュ関数$L[q(z_i)]$を置く。

$$ \begin{aligned} L[q(z_i)] &= \sum_{k=1}^K q(z_i = k) \int q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(x_i, z_i = k | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} - \sum_{k=1}^K q(z_i = k) \log q(z_i = k) \\ &\qquad + \lambda \left( 1 - \sum_{k=1}^K q(z_i = k) \right) \end{aligned} $$

 この式を$q(z_i = k)$に関して変分する。

$$ \begin{align} \frac{ \partial L[q(z_i)] }{ \partial q(z_i = k) } &= \int q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(x_i, z_i = k | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} - \log q(z_i = k) - q(z_i = k) \frac{1}{q(z_i = k)} - \lambda \\ &= \int q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(x_i, z_i = k | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} - \log q(z_i = k) - 1 - \lambda \tag{3.57} \end{align} $$

 $\frac{\partial L[q(z_i)]}{\partial q(z_i = k)} = 0$となる$q(z_i = k)$を求める。

$$ \begin{align} \int q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(x_i, z_i = k | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} &- \log q(z_i = k) - 1 - \lambda = 0 \tag{3.57}\\ \log q(z_i = k) &= \int q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(x_i, z_i = k | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} - 1 - \lambda \\ q(z_i = k) &= \exp \left[ \int q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(x_i, z_i = k | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} - 1 - \lambda \right] \tag{3.58} \end{align} $$

 制約条件$\sum_{k=1}^K q(z_i = k) = 1$に代入すると

$$ \begin{aligned} \sum_{k=1}^K \exp \left[ \int q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(x_i, z_i = k | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} - 1 - \lambda \right] &= 1 \\ \exp[ - 1 - \lambda ] \sum_{k=1}^K \exp \left[ \int q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(x_i, z_i = k | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} \right] &= 1 \\ \exp [ - 1 - \lambda ] &= \frac{ 1 }{ \sum_{k=1}^K \exp \left[ \int q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(x_i, z_i = k | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} \right] } \end{aligned} $$

となる。これを式(3.58)に代入すると

$$ \begin{align} q(z_i = k) &= \exp \left[ \int q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(x_i, z_i = k | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} - 1 - \lambda \right] \tag{3.58}\\ &= \exp \left[ \int q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(x_i, z_i = k | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} \right] \exp \left[ - 1 - \lambda \right] \\ &= \frac{ \exp \left[ \int q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(x_i, z_i = k | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} \right] }{ \sum_{k'=1}^K \exp \left[ \int q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(x_i, z_i = k' | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} \right] } \tag{3.60} \end{align} $$

が得られる。

・工夫Ver
$$ \tilde{F}[q(z_i = k)] = \sum_{k=1}^K f(z_i = k, q) $$

とおくと、$f(z_i = k, q)$は

$$ f(z_i = k, q) = q(z_i = k) \int q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(x_i, z_i = k | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} - q(z_i = k) \log q(z_i = k) $$

である。この式を$q(z_i = k)$に関して変分する。

$$ \begin{aligned} \frac{\partial f(z_i = k, q)}{\partial q(z_i = k)} &= \int q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(x_i, z_i = k | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} - \log q(z_i = k) - q(z_i = k) \frac{1}{q(z_i = k)} \\ &= \int q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(x_i, z_i = k | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} - \log q(z_i = k) - 1 \end{aligned} $$

 $\frac{\partial f(z_i = k, q)}{\partial q(z_i = k)} = 0$となる$q(z_i = k)$を求める。

$$ \begin{aligned} \int q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(x_i, z_i = k | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} &- \log q(z_i = k) - 1 = 0 \\ \log q(z_i = k) &= \int q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(x_i, z_i = k | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} - 1 \\ q(z_i = k) &= \exp \left[ \int q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(x_i, z_i = k | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} - 1 \right] \\ &\propto \exp \left[ \int q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(x_i, z_i = k | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} \right] \end{aligned} $$

$\exp[- 1]$は$z_i = k$に無関係な定数因子なので省き、$q(z_i = k)$との比例関係に注目する。
 この式を正規化(和が1となるように)する。ここでは、1からKまでの和をとったもので割ると、式(3.60)になることが確認できる。

・近似事後分布$q(\boldsymbol{\pi})$の導出

 続いて、変分下限$F[q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi})]$から$q(\boldsymbol{\pi})$に関係のある項のみ取り出して$\tilde{F}[q(\boldsymbol{\pi})]$とおく。

$$ \tilde{F}[q(\boldsymbol{\pi})] = \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} + \int q(\boldsymbol{\pi}) \log \frac{ p(\boldsymbol{\pi} | \alpha) }{ q(\boldsymbol{\pi}) } d\boldsymbol{\pi} $$


・正攻法Ver

 制約条件$\int q(\boldsymbol{\pi}) d\boldsymbol{\pi} = 1$から、ラグランジュ乗数$\lambda$を用いて、ラグランジュ関数$L[q(\boldsymbol{\pi})]$をおき、制約付き最適化問題として解く。

$$ \begin{aligned} L[q(\boldsymbol{\pi})] &= \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} \\ &\qquad + \int q(\boldsymbol{\pi}) \log \frac{ p(\boldsymbol{\pi} | \alpha) }{ q(\boldsymbol{\pi}) } d\boldsymbol{\pi} + \lambda \left( 1 - \int q(\boldsymbol{\pi}) d\boldsymbol{\pi} \right) \\ &= \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} \\ &\qquad + \int q(\boldsymbol{\pi}) \Bigl( \log p(\boldsymbol{\pi} | \alpha) - \log q(\boldsymbol{\pi}) \Bigr) d\boldsymbol{\pi} + \lambda \left( 1 - \int q(\boldsymbol{\pi}) d\boldsymbol{\pi} \right) \\ &= \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} \\ &\qquad + \int q(\boldsymbol{\pi}) \log p(\boldsymbol{\pi} | \alpha) d\boldsymbol{\pi} - \int q(\boldsymbol{\pi}) \log q(\boldsymbol{\pi}) d\boldsymbol{\pi} + \lambda \left( 1 - \int q(\boldsymbol{\pi}) d\boldsymbol{\pi} \right) \end{aligned} $$

 この式を$q(\boldsymbol{\pi})$に関して変分する。

$$ \begin{aligned} \frac{ \partial L[q(\boldsymbol{\pi})] }{ \partial q(\boldsymbol{\pi}) } &= \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) \log p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} \\ &\qquad + \log p(\boldsymbol{\pi} | \alpha) - \log q(\boldsymbol{\pi}) - q(\boldsymbol{\pi}) \frac{ 1 }{ q(\boldsymbol{\pi}) } - \lambda \\ &= \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) \log p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} \\ &\qquad + \log p(\boldsymbol{\pi} | \alpha) - \log q(\boldsymbol{\pi}) - 1 - \lambda \end{aligned} $$

 $\frac{\partial L[q(\boldsymbol{\pi})]}{\partial q(\boldsymbol{\pi})} = 0$となる$q(\boldsymbol{\pi})$を求める。

$$ \begin{aligned} \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) \log p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} &+ \log p(\boldsymbol{\pi} | \alpha) - \log q(\boldsymbol{\pi}) - 1 - \lambda = 0 \\ \log q(\boldsymbol{\pi}) &= \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) \log p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} + \log p(\boldsymbol{\pi} | \alpha) - 1 - \lambda \\ q(\boldsymbol{\pi}) &= \exp \left[ \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) \log p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} + \log p(\boldsymbol{\pi} | \alpha) - 1 - \lambda \right] \\ &= p(\boldsymbol{\pi} | \alpha) \exp \left[ \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) \log p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} \right] \exp[- 1 - \lambda] \end{aligned} $$

 制約条件$\int q(\boldsymbol{\pi}) d\boldsymbol{\pi} = 1$に代入すると

$$ \begin{aligned} \int p(\boldsymbol{\pi} | \alpha) &\exp \left[ \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) \log p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} \right] \exp[- 1 - \lambda] d\boldsymbol{\pi} = 1 \\ &\exp[- 1 - \lambda] = \frac{ 1 }{ \int p(\boldsymbol{\pi} | \alpha) \exp \left[ \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) \log p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} \right] d\boldsymbol{\pi} } \end{aligned} $$

となる。これを上の式に代入すると

$$ q(\boldsymbol{\pi}) = \frac{ p(\boldsymbol{\pi} | \alpha) \exp \left[ \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) \log p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} \right] }{ \int p(\boldsymbol{\pi} | \alpha) \exp \left[ \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) \log p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} \right] d\boldsymbol{\pi} } $$

が得られる。次で求める式(3.66)を正規化したものと等しくなることが確認できる。

・工夫Ver
$$ \tilde{F}[q(\boldsymbol{\pi})] = \int f(\boldsymbol{\pi}, q) d\boldsymbol{\pi} $$

とおくと、$f(\boldsymbol{\pi}, q)$は

$$ \begin{align} f(\boldsymbol{\pi}, q) &= \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} + q(\boldsymbol{\pi}) \log \frac{ p(\boldsymbol{\pi} | \alpha) }{ q(\boldsymbol{\pi}) } \\ &= \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} + q(\boldsymbol{\pi}) \Bigl( \log p(\boldsymbol{\pi} | \alpha) - \log q(\boldsymbol{\pi}) \Bigr) \\ &= \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} + q(\boldsymbol{\pi}) \log p(\boldsymbol{\pi} | \alpha) - q(\boldsymbol{\pi}) \log q(\boldsymbol{\pi}) \tag{3.63} \end{align} $$

である。この式を$q(\boldsymbol{\pi})$に関して変分する。

$$ \begin{align} \frac{ \partial f(\boldsymbol{\pi}, q) }{ \partial q(\boldsymbol{\pi}) } &= \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) \log p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} + \log p(\boldsymbol{\pi} | \alpha) - \log q(\boldsymbol{\pi}) - q(\boldsymbol{\pi}) \frac{1}{q(\boldsymbol{\pi})} \\ &= \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) \log p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} + \log p(\boldsymbol{\pi} | \alpha) - \log q(\boldsymbol{\pi}) - 1 \tag{3.64} \end{align} $$

 $\frac{\partial f(\boldsymbol{\pi}, q)}{\partial q(\boldsymbol{\pi})} = 0$となる$q(\boldsymbol{\pi})$を求める。

$$ \begin{align} \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) \log p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} &+ \log p(\boldsymbol{\pi} | \alpha) - \log q(\boldsymbol{\pi}) - 1 = 0 \\ \log q(\boldsymbol{\pi}) =& \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) \log p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} + \log p(\boldsymbol{\pi} | \alpha) - 1 \\ q(\boldsymbol{\pi}) =& \exp \left[ \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) \log p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} + \log p(\boldsymbol{\pi} | \alpha) - 1 \right] \\ =& p(\boldsymbol{\pi} | \alpha) \exp \left[ \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) \log p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} \right] \exp[-1] \\ \propto& p(\boldsymbol{\pi} | \alpha) \exp \left[ \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) \log p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} \right] \tag{3.66} \end{align} $$

 更に、生成過程より

$$ p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) = p(\boldsymbol{x}_{1:n} | \boldsymbol{z}_{1:n}, \boldsymbol{\phi}) p(\boldsymbol{z}_{1:n} | \boldsymbol{\pi}) $$

と分割できるので、$\boldsymbol{\pi}$と関係のない定数因子を省くと$q(\boldsymbol{\pi})$は

$$ \begin{align} q(\boldsymbol{\pi}) &\propto p(\boldsymbol{\pi} | \alpha) \exp \left[ \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) \log p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} \right] \tag{3.66}\\ &= p(\boldsymbol{\pi} | \alpha) \exp \left[ \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) \log \Bigl( p(\boldsymbol{x}_{1:n} | \boldsymbol{z}_{1:n}, \boldsymbol{\phi}) p(\boldsymbol{z}_{1:n} | \boldsymbol{\pi}) \Bigr) d\boldsymbol{\phi} \right] \\ &\propto p(\boldsymbol{\pi} | \alpha) \exp \left[ \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) \log p(\boldsymbol{z}_{1:n} | \boldsymbol{\pi}) \right] \tag{3.67} \end{align} $$

となる。

・近似事後分布$q(\phi_k)$の導出

 最後に、変分下限$F[q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi})]$から$q(\phi_k)$に関係のある項のみを取り出して$\tilde{F}[q(\phi_k)]$とおく。

 ただし、生成過程より

$$ p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) = p(\boldsymbol{x}_{1:n} | \boldsymbol{z}_{1:n}, \boldsymbol{\phi}) p(\boldsymbol{z}_{1:n} | \boldsymbol{\pi}) $$

と分割でき、また

$$ \begin{aligned} p(\boldsymbol{x}_{1:n} | \boldsymbol{z}_{1:n}, \boldsymbol{\phi}) &= \prod_{i=1}^n p(x_i | z_i, \boldsymbol{\phi}) \\ &= \prod_{i=1}^n \prod_{k=1}^K p(x_i | \phi_{z_i})^{\delta(z_i = k)} \\ \log p(\boldsymbol{x}_{1:n} | \boldsymbol{z}_{1:n}, \boldsymbol{\phi}) &= \log \prod_{i=1}^n \prod_{k=1}^K p(x_i | \phi_{z_i})^{\delta(z_i = k)} \\ &= \sum_{i=1}^n \sum_{k=1}^K \delta(z_i = k) \log p(x_i | \phi_{z_i}) \end{aligned} $$

である。よって、変分下限の1つ目の因子は

$$ \begin{aligned} &\int \sum_{i =1}^n \sum_{z_i} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(\boldsymbol{x}_{1:n}, \boldsymbol{z}_{1:n} | \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} \\ &= \int \sum_{i =1}^n \sum_{z_i} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log \Bigl( p(\boldsymbol{x}_{1:n} | \boldsymbol{z}_{1:n}, \boldsymbol{\phi}) p(\boldsymbol{z}_{1:n} | \boldsymbol{\pi}) \Bigr) d\boldsymbol{\phi} d\boldsymbol{\pi} \\ &= \int \sum_{i =1}^n \sum_{z_i} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \Bigl( \log p(\boldsymbol{x}_{1:n} | \boldsymbol{z}_{1:n}, \boldsymbol{\phi}) + \log p(\boldsymbol{z}_{1:n} | \boldsymbol{\pi}) \Bigr) d\boldsymbol{\phi} d\boldsymbol{\pi} \\ &= \int \sum_{i =1}^n \sum_{z_i} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(\boldsymbol{x}_{1:n} | \boldsymbol{z}_{1:n}, \boldsymbol{\phi}) d\boldsymbol{\phi} d\boldsymbol{\pi} + \int \sum_{i =1}^n \sum_{z_i} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \log p(\boldsymbol{z}_{1:n} | \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} \\ &= \int \sum_{i =1}^n \sum_{z_i} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\phi}) q(\boldsymbol{\pi}) \sum_{i=1}^n \sum_{k=1}^K \delta(z_i = k) \log p(x_i | \phi_{z_i}) d\boldsymbol{\phi} d\boldsymbol{\pi} + \int \sum_{i =1}^n \sum_{z_i} q(\boldsymbol{z}_{1:n}) q(\boldsymbol{\pi}) \log p(\boldsymbol{z}_{1:n} | \boldsymbol{\pi}) d\boldsymbol{\pi} \end{aligned} $$

となる。
 従って、$\tilde{F}[q(\phi_k)]$は

$$ \tilde{F}[q(\phi_k)] = \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\phi_k) \sum_{i=1}^n \delta(z_i = k) \log p(x_i | \phi_{z_i}) d\phi_k d\boldsymbol{\pi} + \int q(\phi_k) \log \frac{ p(\phi_k | \eta) }{ q(\phi_k) } d\phi_k \tag{3.69} $$

である。($\sum_{i=1}^n q(z_i = k)$ではなく$\sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n})$なのは何故だ??)

・正攻法Ver

 制約条件$\int q(\phi_k) d\phi_k = 1$から、ラグランジュ乗数$\lambda$を用いて、ラグランジュ関数$L[q(\phi_k)]$をおき、制約付き最適化問題として解く。

$$ \begin{aligned} L[q(\phi_k)] &= \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\phi_k) \sum_{i=1}^n \delta(z_i = k) \log p(x_i | \phi_{z_i}) d\phi_k d\boldsymbol{\pi} \\ &\qquad + \int q(\phi_k) \log \frac{ p(\phi_k | \eta) }{ q(\phi_k) } d\phi_k + \lambda \left( 1 - \int q(\phi_k) d\phi_k \right) \\ &= \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\phi_k) \sum_{i=1}^n \delta(z_i = k) \log p(x_i | \phi_{z_i}) d\phi_k d\boldsymbol{\pi} \\ &\qquad + \int q(\phi_k) \Bigl( \log p(\phi_k | \eta) - \log q(\phi_k) \Bigr) d\phi_k + \lambda \left( 1 - \int q(\phi_k) d\phi_k \right) \\ &= \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\phi_k) \sum_{i=1}^n \delta(z_i = k) \log p(x_i | \phi_{z_i}) d\phi_k d\boldsymbol{\pi} \\ &\qquad + \int q(\phi_k) \log p(\phi_k | \eta) d\phi_k - \int q(\phi_k) \log q(\phi_k) d\phi_k + \lambda \left( 1 - \int q(\phi_k) d\phi_k \right) \end{aligned} $$

 この式を$q(\phi_k)$に関して変分する。

$$ \begin{aligned} \frac{\partial L[q(\phi_k)]}{\partial q(\phi_k)} &= \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) \sum_{i=1}^n \delta(z_i = k) \log p(x_i | \phi_{z_i}) d\boldsymbol{\pi} + \log p(\phi_k | \eta) - \log q(\phi_k) - q(\phi_k) \frac{1}{q(\phi_k)} - \lambda \\ &= \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) \sum_{i=1}^n \delta(z_i = k) \log p(x_i | \phi_{z_i}) d\boldsymbol{\pi} + \log p(\phi_k | \eta) - \log q(\phi_k) - 1 - \lambda \end{aligned} $$

 $\frac{\partial L[q(\phi_k)]}{\partial q(\phi_k)} = 0$となる$q(\phi_k)$を求める。

$$ \begin{aligned} \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) \sum_{i=1}^n \delta(z_i = k) \log p(x_i | \phi_{z_i}) d\boldsymbol{\pi} &+ \log p(\phi_k | \eta) - \log q(\phi_k) - 1 - \lambda = 0 \\ \log q(\phi_k) &= \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) \sum_{i=1}^n \delta(z_i = k) \log p(x_i | \phi_{z_i}) d\boldsymbol{\pi} + \log p(\phi_k | \eta) - 1 - \lambda \\ q(\phi_k) &= \exp \left[ \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) \sum_{i=1}^n \delta(z_i = k) \log p(x_i | \phi_{z_i}) d\boldsymbol{\pi} + \log p(\phi_k | \eta) - 1 - \lambda \right] \\ &= \log p(\phi_k | \eta) \exp \left[ \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) \sum_{i=1}^n \delta(z_i = k) \log p(x_i | \phi_{z_i}) d\boldsymbol{\pi} \right] \exp [ - 1 - \lambda ] \end{aligned} $$

 制約条件$\int q(\phi_k) d\phi_k = 1$に代入すると

$$ \begin{aligned} \int \log p(\phi_k | \eta) &\exp \left[ \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) \sum_{i=1}^n \delta(z_i = k) \log p(x_i | \phi_{z_i}) d\boldsymbol{\pi} \right] \exp [ - 1 - \lambda ] d\phi_k = 1 \\ &\exp [- 1 - \lambda] = \frac{ 1 }{ \int \log p(\phi_k | \eta) \exp \left[ \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) \sum_{i=1}^n \delta(z_i = k) \log p(x_i | \phi_{z_i}) d\boldsymbol{\pi} \right] d\phi_k } \end{aligned} $$

となる。これを上の式に代入すると

$$ q(\phi_k) = \frac{ \log p(\phi_k | \eta) \exp \left[ \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) \sum_{i=1}^n \delta(z_i = k) \log p(x_i | \phi_{z_i}) d\boldsymbol{\pi} \right] }{ \int \log p(\phi_k | \eta) \exp \left[ \int \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) \sum_{i=1}^n \delta(z_i = k) \log p(x_i | \phi_{z_i}) d\boldsymbol{\pi} \right] d\phi_k } $$

が得られる。次で求める式(3.71)を正規化したものと等しくなることが確認できる。

・工夫Ver
$$ \tilde{F}[q(\phi_k)] = \int f(\phi_k, q) d\phi_k $$

とおくと、$f(\phi_k, q)$は

$$ \begin{aligned} f(\phi_k, q) &= \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\phi_k) \sum_{i=1}^n \delta(z_i = k) \log p(x_i | \phi_{z_i}) + q(\phi_k) \log \frac{ p(\phi_k | \eta) }{ q(\phi_k) } \\ &= \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\phi_k) \sum_{i=1}^n \delta(z_i = k) \log p(x_i | \phi_{z_i}) + q(\phi_k) \Bigl( \log p(\phi_k | \eta) - \log q(\phi_k) \Bigr) \\ &= \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) q(\phi_k) \sum_{i=1}^n \delta(z_i = k) \log p(x_i | \phi_{z_i}) + q(\phi_k) \log p(\phi_k | \eta) - q(\phi_k) \log q(\phi_k) \end{aligned} $$

である。この式を$q(\phi_k)$に関して変分する。

$$ \begin{align} \frac{\partial f(\phi_k, q)}{\partial q(\phi_k)} &= \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) \sum_{i=1}^n \delta(z_i = k) \log p(x_i | \phi_{z_i}) + \log p(\phi_k | \eta) - \log q(\phi_k) - q(\phi_k) \frac{1}{q(\phi_k)} \\ &= \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) \sum_{i=1}^n \delta(z_i = k) \log p(x_i | \phi_{z_i}) + \log p(\phi_k | \eta) - \log q(\phi_k) - 1 \tag{3.70} \end{align} $$

 $\frac{\partial f(\phi_k, q)}{\partial q(\phi_k)} = 0$となる$q(\phi_k)$を求める。

$$ \begin{align} \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) \sum_{i=1}^n \delta(z_i = k) \log p(x_i | \phi_{z_i}) &+ \log p(\phi_k | \eta) - \log q(\phi_k) - 1 = 0 \\ \log q(\phi_k) &= \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) \sum_{i=1}^n \delta(z_i = k) \log p(x_i | \phi_{z_i}) + \log q(\phi_k | \eta) - 1 \\ q(\phi_k) &= \exp \left[ \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) \sum_{i=1}^n \delta(z_i = k) \log p(x_i | \phi_{z_i}) + \log q(\phi_k | \eta) - 1 \right] \\ &= q(\phi_k | \eta) \exp \left[ \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) \sum_{i=1}^n \delta(z_i = k) \log p(x_i | \phi_{z_i}) \right] \exp [- 1] \\ &\propto q(\phi_k | \eta) \exp \left[ \sum_{\boldsymbol{z}_{1:n}} q(\boldsymbol{z}_{1:n}) \sum_{i=1}^n \delta(z_i = k) \log p(x_i | \phi_{z_i}) \right] \\ &= q(\phi_k | \eta) \exp \left[ \sum_{i=1}^n \sum_{z_i} q(z_i) \delta(z_i = k) \log p(x_i | \phi_{z_i}) \right] \\ &= q(\phi_k | \eta) \exp \left[ \sum_{i=1}^n q(z_i = k) \log p(x_i | \phi_k) \right] \tag{3.71} \end{align} $$


3.3.3 変分ベイズ法(2)

 本をご参照ください。

参考文献

  • 佐藤一誠『トピックモデルによる統計的潜在意味解析』(自然言語処理シリーズ 8)奥村学監修,コロナ社,2015年.

おわりに

 今年の4月頃からトピックモデルの勉強を始めました。今までは青本を読んでまとめて組んでをしておりました。詳しくはこちらの記事をご覧ください。

www.anarchive-beta.com

 トピックモデルの基礎編についてはまとめられたので、それから3か月ほど燃え尽きておりました。暫くぐだぐだしていたので、リハビリも兼ねて白本の基礎編を読みつつこちらもまとめていきます。3.3節から書き始めたのは、3.2節までを読んだのが遠い昔はるか彼方のことだからで、、、その内書きます。ただ私のレベルも多少は上がったので、青本の時ほどは噛み砕いた解説にはならない予定です。そもそもは自分の知識整理目的に作成しているレジュメの転載記事ですゆえ。なので、こっちの内容がよく解らないという方は、先に青本の方に目を通してみてください。

 読んでいただければ分かると思いますが、私には数学や統計学やらの知識色々足りていませんので、多数不備があるかと思います。記事の内容に関して何も担保できませんがご理解ください。むしろ何か間違い等がありましたら、ご指摘いただければ凄く嬉しいです。

 是非これからもよろしくお願いいたします。

【次節の内容】

www.anarchive-beta.com