からっぽのしょこ

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

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

はじめに

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

 この記事では、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