はじめに
『トピックモデルによる統計的潜在意味解析』の学習時のメモです。基本的な内容は、数式の行間を読んで埋めたものになります。本と併せて読んでいただければと思います。
この記事では、3.3.2節の変分ベイズ法について書いています。
数学よく解らない自分が理解できるレベルまで落として数式を書き下していますので、分かる人にはかなりくどいです。
【前節の内容】
www.anarchive-beta.com
【他の節一覧】
www.anarchive-beta.com
【この記事の内容】
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}
$$
【途中式の途中式】
- $\frac{q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi})}{q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi})} = 1$を掛ける。
- イエンセンの不等式を用いる。
変分下限$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}
$$
【途中式の途中式】
- 変分下限の式と形を揃えるため、対数周辺尤度に$\sum_{\boldsymbol{z}_{1:n}} \int q(\boldsymbol{z}_{1:n}, \boldsymbol{\phi}, \boldsymbol{\pi}) d\boldsymbol{\phi} d\boldsymbol{\pi} = 1$を掛ける。
- 括弧でくくる。
- $\log A - \log \frac{B}{C} = \log (A \frac{C}{B})$の変形を行う。
- ベイズの定理$\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)}$である。
- 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}
$$
【途中式の途中式】
- 因子分解仮定(3.42)、生成過程より、それぞれ分解する。
- $\log (AB) = \log A + \log B$の変形を行う。
- 括弧を展開する。
- 式を整理する。
- $\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}
$$
【途中式の途中式】
- $\log \frac{A}{B} = \log A - \log B$の変形を行う。
- 元の分母分子を入れ替えるために、括弧から$-1$を括り出す。
- $- \log A + \log B = \log \frac{B}{A}$の変形を行う。
- 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}
$$
【途中式の途中式】
- $\log \frac{A}{B} = \log A - \log B$の変形を行う。
- 括弧を展開する。
- 式を整理する。
- 式を整理する。
- $\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}
$$
参考文献
- 佐藤一誠『トピックモデルによる統計的潜在意味解析』(自然言語処理シリーズ 8)奥村学監修,コロナ社,2015年.
おわりに
今年の4月頃からトピックモデルの勉強を始めました。今までは青本を読んでまとめて組んでをしておりました。詳しくはこちらの記事をご覧ください。
www.anarchive-beta.com
トピックモデルの基礎編についてはまとめられたので、それから3か月ほど燃え尽きておりました。暫くぐだぐだしていたので、リハビリも兼ねて白本の基礎編を読みつつこちらもまとめていきます。3.3節から書き始めたのは、3.2節までを読んだのが遠い昔はるか彼方のことだからで、、、その内書きます。ただ私のレベルも多少は上がったので、青本の時ほどは噛み砕いた解説にはならない予定です。そもそもは自分の知識整理目的に作成しているレジュメの転載記事ですゆえ。なので、こっちの内容がよく解らないという方は、先に青本の方に目を通してみてください。
読んでいただければ分かると思いますが、私には数学や統計学やらの知識色々足りていませんので、多数不備があるかと思います。記事の内容に関して何も担保できませんがご理解ください。むしろ何か間違い等がありましたら、ご指摘いただければ凄く嬉しいです。
是非これからもよろしくお願いいたします。
【次節の内容】
www.anarchive-beta.com