はじめに
『トピックモデルによる統計的潜在意味解析』の学習時のメモです。基本的な内容は、数式の行間を読んで埋めたものになります。本と併せて読んでいただければと思います。
この記事では、3.3.7節の単語分布に対してはMAP推定を行う場合について書いています。
数学よく解らない自分が理解できるレベルまで落として数式を書き下していますので、分かる人にはかなりくどいです。
【前節の内容】
www.anarchive-beta.com
【他の節一覧】
www.anarchive-beta.com
【この節の内容】
3.3.7 LDAの変分ベイズ法(3)
トピック集合とトピック分布の近似事後分布を変分ベイズ法で求めて、単語分布はMAP推定で求める。
・変分下限の導出
対数周辺尤度$\log p(\boldsymbol{w}, \boldsymbol{\phi} | \boldsymbol{\alpha}, \boldsymbol{\beta})$に対してイエンセンの不等式を用いて変分下限を求める。
$$
\begin{aligned}
\log p(\boldsymbol{w}, \boldsymbol{\phi} | \boldsymbol{\alpha}, \boldsymbol{\beta})
&= \log \int \sum_{\boldsymbol{z}}
p(\boldsymbol{w}, \boldsymbol{z}, \boldsymbol{\phi}, \boldsymbol{\theta} | \boldsymbol{\alpha}, \boldsymbol{\beta})
d\boldsymbol{\theta}
\\
&= \log \int \sum_{\boldsymbol{z}}
q(\boldsymbol{z}, \boldsymbol{\theta})
\frac{
p(\boldsymbol{w}, \boldsymbol{z}, \boldsymbol{\phi}, \boldsymbol{\theta} | \boldsymbol{\alpha}, \boldsymbol{\beta})
}{
q(\boldsymbol{z}, \boldsymbol{\theta})
}
d\boldsymbol{\theta}
\\
&\geq
\int \sum_{\boldsymbol{z}}
q(\boldsymbol{z}, \boldsymbol{\theta})
\log \frac{
p(\boldsymbol{w}, \boldsymbol{z}, \boldsymbol{\phi}, \boldsymbol{\theta} | \boldsymbol{\alpha}, \boldsymbol{\beta})
}{
q(\boldsymbol{z}, \boldsymbol{\theta})
}
d\boldsymbol{\theta}
\equiv F[q(\boldsymbol{z}, \boldsymbol{\theta})]
\end{aligned}
$$
ここで、近似事後分布は
$$
\begin{aligned}
q(\boldsymbol{z}, \boldsymbol{\theta})
&= q(\boldsymbol{z})
q(\boldsymbol{\theta})
\\
&= \left[
\prod_{d=1}^M \prod_{i=1}^{n_d}
q(z_{d,i})
\right]
\left[
\prod_{d=1}^M
q(\boldsymbol{\theta}_d)
\right]
\end{aligned}
$$
と因子分解できると仮定する。
また、結合分布は生成過程より、ベイズの定理を用いて
$$
\begin{aligned}
p(\boldsymbol{w}, \boldsymbol{z}, \boldsymbol{\phi}, \boldsymbol{\theta} | \boldsymbol{\alpha}, \boldsymbol{\beta})
&= p(\boldsymbol{w} | \boldsymbol{z}, \boldsymbol{\phi})
p(\boldsymbol{z} | \boldsymbol{\theta})
p(\boldsymbol{\phi} | \boldsymbol{\beta})
p(\boldsymbol{\theta} | \boldsymbol{\alpha})
\\
&= \prod_{d=1}^M \prod_{i=1}^{n_d}
p(w_{d,i} | z_{d,i}, \boldsymbol{\phi})
p(z_{d,i} | \boldsymbol{\theta}_d)
\prod_{k=1}^K
p(\boldsymbol{\phi}_k | \boldsymbol{\beta})
\prod_{d=1}^M
p(\boldsymbol{\theta}_d | \boldsymbol{\alpha})
\\
&= \prod_{d=1}^M \prod_{i=1}^{n_d}
p(w_{d,i} | \phi_{z_{d,i}})
p(z_{d,i} | \boldsymbol{\theta}_d)
\prod_{k=1}^K
p(\boldsymbol{\phi}_k | \boldsymbol{\beta})
\prod_{d=1}^M
p(\boldsymbol{\theta}_d | \boldsymbol{\alpha})
\end{aligned}
$$
となる。
従って、変分下限は
$$
\begin{align*}
F[q(\boldsymbol{z}, \boldsymbol{\theta})]
&= \int \sum_{\boldsymbol{z}}
q(\boldsymbol{z}, \boldsymbol{\theta})
\log \frac{
p(\boldsymbol{w}, \boldsymbol{z}, \boldsymbol{\phi}, \boldsymbol{\theta} | \boldsymbol{\alpha}, \boldsymbol{\beta})
}{
q(\boldsymbol{z}, \boldsymbol{\theta})
}
d\boldsymbol{\theta}
\\
&= \int \sum_{\boldsymbol{z}}
q(\boldsymbol{z})
q(\boldsymbol{\theta})
\log \frac{
p(\boldsymbol{w} | \boldsymbol{z}, \boldsymbol{\phi})
p(\boldsymbol{z} | \boldsymbol{\theta})
p(\boldsymbol{\phi} | \boldsymbol{\beta})
p(\boldsymbol{\theta} | \boldsymbol{\alpha})
}{
q(\boldsymbol{z})
q(\boldsymbol{\theta})
}
d\boldsymbol{\theta}
\\
&= \int \sum_{\boldsymbol{z}}
q(\boldsymbol{z})
q(\boldsymbol{\theta}) \left(
\log p(\boldsymbol{w} | \boldsymbol{z}, \boldsymbol{\phi})
p(\boldsymbol{z} | \boldsymbol{\theta})
- \log q(\boldsymbol{z})
+ \log p(\boldsymbol{\phi} | \boldsymbol{\beta})
+ \log \frac{
p(\boldsymbol{\theta} | \boldsymbol{\alpha})
}{
q(\boldsymbol{\theta})
}
\right)
d\boldsymbol{\theta}
\\
&= \int \sum_{\boldsymbol{z}}
q(\boldsymbol{z})
q(\boldsymbol{\theta})
\log p(\boldsymbol{w} | \boldsymbol{z}, \boldsymbol{\phi})
p(\boldsymbol{z} | \boldsymbol{\theta})
d\boldsymbol{\theta}
- \sum_{\boldsymbol{z}}
q(\boldsymbol{z})
\log q(\boldsymbol{z})
+ \log p(\boldsymbol{\phi} | \boldsymbol{\beta}) \\
&\qquad
+ \int
q(\boldsymbol{\theta})
\log \frac{
p(\boldsymbol{\theta} | \boldsymbol{\alpha})
}{
q(\boldsymbol{\theta})
}
d\boldsymbol{\theta}
\tag{3.105}
\end{align*}
$$
となる。
・単語分布の導出
変分下限から$\boldsymbol{\phi}_k$に関係する項を取り出して$\tilde{F}[\boldsymbol{\phi}_k]$とおく。
ここで
$$
\begin{aligned}
\sum_{\boldsymbol{z}}
q(\boldsymbol{z})
\log p(\boldsymbol{w} | \boldsymbol{z}, \boldsymbol{\phi})
&= \sum_{d=1}^M \sum_{i=1}^{n_d}
q(z_{d,i})
\log p(w_{d,i} | \phi_{z_{d,i}})
\\
&= \sum_{d=1}^M \sum_{i=1}^{n_d} \sum_{k=1}^K
q(z_{d,i} = k)
\log p(w_{d,i} | \boldsymbol{\phi}_k)^{\delta(z_{d,i}=k)}
\end{aligned}
$$
である。
$$
\begin{align*}
\tilde{F}[\boldsymbol{\phi}_k]
&= \sum_{d=1}^M \sum_{i=1}^{n_d}
q(z_{d,i} = k)
\log p(w_{d,i} | \boldsymbol{\phi}_k)
+ \log p(\boldsymbol{\phi}_k | \boldsymbol{\beta})
\\
&\propto
\sum_{d=1}^M \sum_{i=1}^{n_d} \sum_{v=1}^V
q(z_{d,i} = k)
\log \phi_{k,v}^{\delta(w_{d,i}=v)}
+ \log \prod_{v=1}^V
\phi_{k,v}^{\beta_{k,v}-1}
\\
&= \sum_{d=1}^M \sum_{i=1}^{n_d} \sum_{v=1}^V
q(z_{d,i} = k)
\delta(w_{d,i} = v)
\log \phi_{k,v}
+ \sum_{v=1}^V
(\beta_{k,v} - 1)
\log \phi_{k,v}
\\
&= \sum_{v=1}^V
\mathbb{E}_{q(\boldsymbol{z})} [
n_{k,v}
]
\log \phi_{k,v}
+ \sum_{v=1}^V
(\beta_{k,v} - 1)
\log \phi_{k,v}
\\
&= \sum_{v=1}^V (
\mathbb{E}_{q(\boldsymbol{z})} [
n_{k,v}
]
+ \beta_{k,v} - 1
)
\log \phi_{k,v}
\tag{3.107}
\end{align*}
$$
制約条件$\sum_{v=1}^V \phi_{k,v} = 1$から、ラグランジュ乗数$\lambda$を用いて、ラグランジュ関数$L[q(\boldsymbol{\phi}_k)]$をおき、制約付き最適化問題として解く。
$$
L[q(\boldsymbol{\phi}_k)]
= \sum_{v=1}^V (
\mathbb{E}_{q(\boldsymbol{z})} [
n_{k,v}
]
+ \beta_{k,v} - 1
)
\log \phi_{k,v}
+ \lambda \left(
1 - \sum_{v=1}^V \phi_{k,v}
\right)
$$
この式を$\boldsymbol{\phi}_k$で微分する。
$$
\frac{\partial L[q(\boldsymbol{\phi}_k)]}{\partial \boldsymbol{\phi}_k}
= (
\mathbb{E}_{q(\boldsymbol{z})} [
n_{k,v}
]
+ \beta_{k,v} - 1
)
\frac{1}{\phi_{k,v}}
- \lambda
$$
$\frac{\partial L[q(\boldsymbol{\phi}_k)]}{\partial \boldsymbol{\phi}_k} = 0$となる$\phi_{k,v}$を求める。
$$
\begin{aligned}
(
\mathbb{E}_{q(\boldsymbol{z})} [
n_{k,v}
]
+ \beta_{k,v} - 1
)
\frac{1}{\phi_{k,v}}
- \lambda
&= 0
\\
\phi_{k,v}
&= \frac{
\mathbb{E}_{q(\boldsymbol{z})} [
n_{k,v}
]
+ \beta_{k,v} - 1
}{
\lambda
}
\end{aligned}
$$
これを制約条件に代入すると
$$
\begin{aligned}
\sum_{v=1}^V
\frac{
\mathbb{E}_{q(\boldsymbol{z})} [
n_{k,v}
]
+ \beta_{k,v} - 1
}{
\lambda
}
&= 1
\\
\lambda
&= \sum_{v=1}^V
\mathbb{E}_{q(\boldsymbol{z})} [
n_{k,v}
]
+ \beta_{k,v} - 1
\end{aligned}
$$
となる。これを上の式に代入すると
$$
\phi_{k,v}
= \frac{
\mathbb{E}_{q(\boldsymbol{z})} [
n_{k,v}
]
+ \beta_{k,v} - 1
}{
\sum_{v=1}^V
\mathbb{E}_{q(\boldsymbol{z})} [
n_{k,v}
]
+ \beta_{k,v} - 1
}
$$
が得られる。
参考文献
- 佐藤一誠『トピックモデルによる統計的潜在意味解析』(自然言語処理シリーズ 8)奥村学監修,コロナ社,2015年.
おわりに
次の内容がギブスサンプリングなので、一旦3章頭のギブスサンプリングの節に戻ります。
【次節の内容】
www.anarchive-beta.com