からっぽのしょこ

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

5.3:ノイズあり対応トピックモデルの崩壊型ギブズサンプリングの導出:多様なハイパーパラメータの場合【青トピックモデルのノート】

はじめに

 『トピックモデル』(MLPシリーズ)の勉強会資料のまとめです。各種モデルやアルゴリズムを「数式」と「プログラム」を用いて解説します。
 本の補助として読んでください。

 この記事では、ノイズあり対応トピックモデルに対する崩壊型ギブスサンプリングの数式の行間を埋めます。

【前節の内容】

www.anarchive-beta.com

【他の節の内容】

www.anarchive-beta.com

【この節の内容】

5.3 ノイズあり対応トピックモデルの崩壊型ギブズサンプリングの導出:多様なハイパーパラメータの場合

 ノイズあり対応トピックモデル(NoisyCorr-LDA・noisy correspondence topic model)に対する不動点反復法(固定点反復法・fixed point iteration)を用いた崩壊型ギブスサンプリング(周辺化ギブスサンプリング・collapsed Gibbs sampling)におけるパラメータの計算式を導出する。この記事では、ハイパーパラメータが多様な値の場合を扱う。
 トピックモデル(LDA・latent Dirichlet allocation)の定義や記号については「4.1:トピックモデルの生成モデルの導出【青トピックモデルのノート】 - からっぽのしょこ」、ノイズあり対応トピックモデルの定義や記号については「5.3:ノイズあり対応トピックモデルの生成モデルの導出【青トピックモデルのノート】 - からっぽのしょこ」、ハイパーパラメータが一様な値の場合については「5.3:ノイズあり対応トピックモデルの崩壊型ギブズサンプリングの導出:一様なハイパーパラメータの場合【青トピックモデルのノート】 - からっぽのしょこ」を参照のこと。

パラメータの周辺化の導出

 まずは、サンプリング式や更新式の導出に用いる各変数の周辺分布の式を導出する。

 関係性分布のハイパーパラメータ  \eta_1, \eta_2 については、一様な値  \eta = \eta_1 = \eta_2 を仮定しており、2つの値をスカラ  \eta で表記する。

結合周辺分布の設定

 パラメータ  \boldsymbol{\Theta}, \boldsymbol{\Phi}, \boldsymbol{\Psi}, \lambda を周辺化(積分消去)したときの観測変数  \mathbf{W}, \mathbf{X} と潜在変数  \mathbf{Z}, \mathbf{Y}, \mathbf{R} の結合分布(同時分布)を求める。

 \displaystyle
p(
    \mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}, \mathbf{R}
\mid
    \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}, \eta
)
    = \iiiint
          p(
              \mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}, \mathbf{R}, 
              \boldsymbol{\Theta}, \boldsymbol{\Phi}, \boldsymbol{\Psi}, \lambda
          \mid
              \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}, \eta
          )
      \mathrm{d} \boldsymbol{\Theta} \mathrm{d} \boldsymbol{\Phi} \mathrm{d} \boldsymbol{\Psi} \mathrm{d} \lambda

 ノイズあり対応トピックモデルの生成過程(依存関係)に従って、 \mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}, \mathbf{R} の結合周辺分布を分割する。

 \displaystyle
\begin{align}
p(
    \mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}, \mathbf{R}
\mid
    \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}, \eta
)
   &= p(\mathbf{Z}, \mathbf{Y}, \mathbf{R} \mid \boldsymbol{\alpha}, \eta)
      p(\mathbf{W}, \mathbf{X} \mid \mathbf{Z}, \mathbf{Y}, \mathbf{R}, \boldsymbol{\beta}, \boldsymbol{\gamma})
\\
   &= p(\mathbf{Z}, \mathbf{Y} \mid \boldsymbol{\alpha})
      p(\mathbf{R} \mid \eta)
      p(\mathbf{W} \mid \mathbf{Z}, \boldsymbol{\beta})
      p(\mathbf{X} \mid \mathbf{Y}, \mathbf{R}, \boldsymbol{\gamma})
\\
   &= p(\mathbf{Z} \mid \boldsymbol{\alpha})
      p(\mathbf{Y} \mid \mathbf{Z})
      p(\mathbf{W} \mid \mathbf{Z}, \boldsymbol{\beta})
      p(\mathbf{X} \mid \mathbf{Y}, \mathbf{R}, \boldsymbol{\gamma})
      p(\mathbf{R} \mid \eta)
\tag{1}
\end{align}

 ノイズあり対応トピックモデルの依存関係については「ノイズあり対応トピックモデルの生成モデルの導出」を参照のこと。
  \mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}, \mathbf{R} に関する周辺分布または条件付き分布から得られることが分かった。

単語トピック集合の周辺分布

  \mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}, \mathbf{R} の結合周辺分布の式(1)の1つ目の項は、トピック分布のパラメータ  \boldsymbol{\Theta} の事前分布を用いた単語トピック集合  \mathbf{Z} の周辺分布である。
 この式、はトピックモデル(4.5節)と同じ式なので、次の式になる。

 \displaystyle
\begin{align}
p(\mathbf{Z} \mid \boldsymbol{\alpha})
   &= \int
          p(\mathbf{Z} \mid \boldsymbol{\Theta})
          p(\boldsymbol{\Theta} \mid \boldsymbol{\alpha})
      \mathrm{d} \boldsymbol{\Theta}
\\
   &= \prod_{d=1}^D \left[
          \int
              \left\{ \prod_{n=1}^{N_d}
                  p(z_{dn} \mid \boldsymbol{\theta}_d)
              \right\}
              p(\boldsymbol{\theta}_d \mid \boldsymbol{\alpha})
          \mathrm{d} \boldsymbol{\theta}_d
      \right]
\\
   &= \prod_{d=1}^D \left\{
          \frac{\Gamma(\sum_{k=1}^K \alpha_k)}{\prod_{k=1}^K \Gamma(\alpha_k)}
              \int \prod_{k=1}^K
                  \theta_{dk}^{N_{dk} + \alpha_k-1}
              \mathrm{d} \boldsymbol{\theta}_d
      \right\}
\\
   &= \prod_{d=1}^D \left\{
          \frac{\Gamma(\sum_{k=1}^K \alpha_k)}{\prod_{k=1}^K \Gamma(\alpha_k)}
          \frac{
              \prod_{k=1}^K
                  \Gamma(N_{dk} + \alpha_k)
          }{
              \Gamma(N_d + \sum_{k=1}^K \alpha_k)
          }
      \right\}
\tag{4.10}\\
   &= \prod_{d=1}^D \left\{
          \frac{\Gamma(\sum_{k=1}^K \alpha_k)}{\Gamma(N_d + \sum_{k=1}^K \alpha_k)}
          \prod_{k=1}^K
              \frac{\Gamma(N_{dk} + \alpha_k)}{\Gamma(\alpha_k)}
      \right\}
\tag{4.10'}
\end{align}

 詳しくは「4.5:トピックモデルの崩壊型ギブズサンプリングの導出:多様なハイパーパラメータの場合【青トピックモデルのノート】 - からっぽのしょこ」を参照のこと。
  \mathbf{Z} の周辺分布の式が得られた。

補助情報トピック集合の条件付き分布

  \mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}, \mathbf{R} の結合周辺分布の式(1)の2つ目の項は、単語トピック集合  \mathbf{Z} が与えられたときの補助情報トピック集合  \mathbf{Y} の条件付き分布である。
 この式は、対応トピックモデル(5.2節)と同じ式なので、次の式になる。

 \displaystyle
\begin{align}
p(\mathbf{Y} \mid \mathbf{Z})
   &= \prod_{d=1}^D \prod_{m=1}^{M_d}
          p(y_{dm} \mid \mathbf{z}_d)
\\
   &= \prod_{d=1}^D \prod_{m=1}^{M_d}
          \frac{N_{dy_{dm}}}{N_d}
\\
   &= \prod_{d=1}^D \prod_{k=1}^K
          \Bigl(\frac{N_{dk}}{N_d}\Bigr)^{M_{dk}}
\tag{2}
\end{align}

 詳しくは「5.2:対応トピックモデルの崩壊型ギブズサンプリングの導出:一様なハイパーパラメータの場合【青トピックモデルのノート】 - からっぽのしょこ」を参照のこと。
  \mathbf{Y} の条件付き分布の式が得られた。

文書集合の周辺分布

  \mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}, \mathbf{R} の結合周辺分布の式(1)の3つ目の項は、単語分布のパラメータ  \boldsymbol{\Phi} の事前分布を用いた文書集合  \mathbf{W} の周辺分布である。
 この式は、トピックモデル(4.5節)と同じ式なので、次の式になる。

 \displaystyle
\begin{align}
p(\mathbf{W} \mid \mathbf{Z}, \boldsymbol{\beta})
   &= \int
          p(\mathbf{W} \mid \mathbf{Z}, \boldsymbol{\Phi})
          p(\boldsymbol{\Phi} \mid \boldsymbol{\beta})
      \mathrm{d} \boldsymbol{\Phi}
\\
   &= \int
          \left\{ \prod_{d=1}^D \prod_{n=1}^{N_d}
              p(w_{dn} \mid \boldsymbol{\phi}_{z_{dn}})
          \right\}
          \prod_{k=1}^K
              p(\boldsymbol{\phi}_k \mid \boldsymbol{\beta})
      \mathrm{d} \boldsymbol{\Phi}
\\
   &= \prod_{k=1}^K \left\{
          \frac{\Gamma(\sum_{v=1}^V \beta_v)}{\prod_{v=1}^V \Gamma(\beta_v)}
          \int
              \prod_{v=1}^V
                  \phi_{kv}^{N_{kv}+\beta_v-1}
          \mathrm{d} \boldsymbol{\phi}_k
      \right\}
\\
   &= \prod_{k=1}^K \left\{
          \frac{\Gamma(\sum_{v=1}^V \beta_v)}{\prod_{v=1}^V \Gamma(\beta_v)}
          \frac{
              \prod_{v=1}^V
                  \Gamma(N_{kv} + \beta_v)
          }{
              \Gamma(N_k + \sum_{v=1}^V \beta_v)
          }
      \right\}
\tag{4.11}\\
   &= \prod_{k=1}^K \left\{
          \frac{\Gamma(\sum_{v=1}^V \beta_v)}{\Gamma(N_k + \sum_{v=1}^V \beta_v)}
          \prod_{v=1}^V
              \frac{\Gamma(N_{kv} + \beta_v)}{\Gamma(\beta_v)}
      \right\}
\tag{4.11'}
\end{align}

 詳しくは「トピックモデルの崩壊型ギブズサンプリングの導出:多様なハイパーパラメータの場合」を参照のこと。
  \mathbf{W} の周辺分布の式が得られた。

補助情報集合の周辺分布

  \mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}, \mathbf{R} の結合周辺分布の式(1)の4つ目の項は、補助情報分布のパラメータ  \boldsymbol{\Psi} の事前分布を用いた補助情報集合  \mathbf{X} の周辺分布である。
 この式について、パラメータを明示して変形する。ただし、補助情報トピックに関する添字を  k = r_{dm}y_{dm} で表す。

 \displaystyle
\begin{aligned}
p(\mathbf{X} \mid \mathbf{Y}, \mathbf{R}, \boldsymbol{\gamma})
   &= \int
          p(\mathbf{X}, \boldsymbol{\Psi} \mid \mathbf{Y}, \mathbf{R}, \boldsymbol{\gamma})
      \mathrm{d} \boldsymbol{\Psi}
\\
   &= \int
          p(\mathbf{X} \mid \mathbf{Y}, \mathbf{R}, \boldsymbol{\Psi})
          p(\boldsymbol{\Psi} \mid \boldsymbol{\gamma})
      \mathrm{d} \boldsymbol{\Psi}
\\
   &= \int
          \left\{ \prod_{d=1}^D
              p(\mathbf{x}_d \mid \mathbf{y}_d, \mathbf{r}_d, \boldsymbol{\Psi})
          \right\}
          \prod_{k=0}^K
              p(\boldsymbol{\psi}_k \mid \boldsymbol{\gamma})
      \mathrm{d} \boldsymbol{\Psi}
\\
   &= \int
          \left\{ \prod_{d=1}^D \prod_{m=1}^{M_d}
              p(x_{dm} \mid \boldsymbol{\psi}_{(r_{dm}y_{dm})})
          \right\}
          \prod_{k=0}^K
              p(\boldsymbol{\psi}_k \mid \boldsymbol{\gamma})
      \mathrm{d} \boldsymbol{\Psi}
\end{aligned}

途中式の途中式(クリックで展開)


  • 1: 周辺化された  \boldsymbol{\Psi} を明示する。
  • 2: 観測変数  \mathbf{X} とパラメータ  \boldsymbol{\Psi} の項を分割する。
  • 3: 文書・トピックごとの積に分解する。
  • 4: 補助情報ごとの積に分解する。

  \boldsymbol{\psi}_{(r_{dm}y_{dm})} の添字(  r_{dm} y_{dm} で1つのインデックス)について、 r_{dm} = 0 のとき  r_{dm} y_{dm} = 0 になり  \boldsymbol{\psi}_0 r_{dm} = 1 のとき  r_{dm} y_{dm} =  y_{dm} になり  \boldsymbol{\psi}_{y_{dm}} となる。


 さらに、確率分布を具体的な式に置き換えて、式を整理する。

 \displaystyle
\begin{align}
p(\mathbf{X} \mid \mathbf{Y}, \mathbf{R}, \boldsymbol{\gamma})
   &= \int
          \left\{ \prod_{d=1}^D \prod_{m=1}^{M_d}
              \psi_{(r_{dm}y_{dm}),x_{dm}}
          \right\}
          \prod_{k=0}^K \left\{
              \frac{\Gamma(\sum_{s=1}^S \gamma_s)}{\prod_{s=1}^S \Gamma(\gamma_s)}
              \prod_{s=1}^S
                  \psi_{ks}^{\gamma_s-1}
          \right\}
      \mathrm{d} \boldsymbol{\Psi}
\\
   &= \int
          \left\{ \prod_{k=0}^K \prod_{s=1}^S
              \psi_{ks}^{M_{ks}}
          \right\}
          \prod_{k=0}^K \left\{
              \frac{\Gamma(\sum_{s=1}^S \gamma_s)}{\prod_{s=1}^S \Gamma(\gamma_s)}
              \prod_{s=1}^S
                  \psi_{ks}^{\gamma_s-1}
          \right\}
      \mathrm{d} \boldsymbol{\Psi}
\\
   &= \prod_{k=0}^K \left\{
          \frac{\Gamma(\sum_{s=1}^S \gamma_s)}{\prod_{s=1}^S \Gamma(\gamma_s)}
          \int
              \prod_{s=1}^S
                  \psi_{ks}^{M_{ks} + \gamma_s-1}
          \mathrm{d} \boldsymbol{\psi}_k
      \right\}
\\
   &= \prod_{k=0}^K \left\{
      \frac{\Gamma(\sum_{s=1}^S \gamma_s)}{\prod_{s=1}^S \Gamma(\gamma_s)}
          \frac{
              \prod_{s=1}^S
                  \Gamma(M_{ks} + \gamma_s)
          }{
              \Gamma(\sum_{s=1}^S \{M_{ks} + \gamma_s\})
          }
      \right\}
\\
   &= \prod_{k=0}^K \left\{
      \frac{\Gamma(\sum_{s=1}^S \gamma_s)}{\prod_{s=1}^S \Gamma(\gamma_s)}
          \frac{
              \prod_{s=1}^S
                  \Gamma(M_{ks} + \gamma_s)
          }{
              \Gamma(M_k + \sum_{s=1}^S \gamma_s)
          }
      \right\}
\tag{3}\\
   &= \prod_{k=0}^K \left\{
      \frac{\Gamma(\sum_{s=1}^S \gamma_s)}{\Gamma(M_k + \sum_{s=1}^S \gamma_s)}
      \prod_{s=1}^S
          \frac{\Gamma(M_{ks} + \gamma_s)}{\Gamma(\gamma_s)}
      \right\}
\tag{3'}
\end{align}

途中式の途中式(クリックで展開)


  • 1: 各補助情報の種類(内容)  x_{dm} はカテゴリ分布、各トピックの補助情報分布のパラメータ  \boldsymbol{\psi}_k はディリクレ分布を仮定しているので、それぞれ定義式に置き換える。
 \displaystyle
\begin{aligned}
p(x_{dm} \mid \boldsymbol{\psi}_{(r_{dm}y_{dm})})
   &= \mathrm{Cat}(x_{dm} \mid \boldsymbol{\phi}_{(r_{dm}y_{dm})})
    = \psi_{(r_{dm}y_{dm}),x_{dm}}
\\
p(\boldsymbol{\psi}_k \mid \boldsymbol{\gamma})
   &= \mathrm{Dir}(\boldsymbol{\psi}_k \mid \boldsymbol{\gamma})
    = \frac{\Gamma(\sum_{s=1}^S \gamma_s)}{\prod_{s=1}^S \Gamma(\gamma_s)}
      \prod_{s=1}^S
          \psi_{ks}^{\gamma_s-1}
\end{aligned}
  • 2:  M = \sum_{d=1}^D M_d 個の補助情報に対応するパラメータ  \psi_{(r_{dm}y_{dm}),x_{dm}} について、各補助情報に割り当てられた文書内容との関係性  r_{dm} = b\ (b = 0, 1) とトピック番号  y_{dm} = k、種類番号  x_{dm} = s を用いてトピックと種類ごとにまとめると、 M_{ks} 個の  \psi_{ks} に置き換えられる。
  • 3:  \boldsymbol{\psi}_k と無関係な正規化項を  \int の外に出し、 \psi_{ks} の項をまとめる。
  • 4: ディリクレ分布の正規化項(1.2.4項)より、積分全体を正規化項の逆数の形に置き換える。
  • 5: トピックごとの補助情報数の関係より、 M_k = \sum_{s=1}^S M_{ks} である。
  • 6: 不動点反復法を行うために、分母を入れ替えて  \gamma_s, \sum_{s=1}^S \gamma_s の項をそれぞれまとめる。

  \mathbf{X} の周辺分布の式が得られた。

関係性集合の周辺分布

  \mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}, \mathbf{R} の結合周辺分布の式(1)の5つ目の項は、関係性分布のパラメータ  \lambda の事前分布  p(\lambda \mid \eta) を用いた関係性集合  \mathbf{R} の周辺分布である。
 この式は、一様なハイパーパラメータの場合のノイズあり対応トピックモデル(5.3節)と同じ式なので、次の式になる。

 \displaystyle
\begin{align}
p(\mathbf{R} \mid \eta)
   &= \int
          p(\mathbf{R} \mid \lambda)
          p(\lambda \mid \eta)
      \mathrm{d} \lambda
\\
   &= \int
          \left\{ \prod_{d=1}^D \prod_{m=1}^{M_d}
              p(r_{dm} \mid \lambda)
          \right\}
          p(\lambda \mid \eta)
      \mathrm{d} \lambda
\\
   &= \frac{\Gamma(2 \eta)}{\Gamma(\eta)^2}
      \int
          (1 - \lambda)^{M_0 + \eta-1}
          \lambda^{M_1 + \eta-1}
      \mathrm{d} \lambda
\\
   &= \frac{\Gamma(2 \eta)}{\Gamma(\eta)^2}
      \frac{
          \Gamma(M_0 + \eta)
          \Gamma(M_1 + \eta)
      }{
          \Gamma(M + 2 \eta)
      }
\tag{4}
\\
   &= \frac{\Gamma(2 \eta)}{\Gamma(M + 2 \eta)}
      \frac{\Gamma(M_0 + \eta) \Gamma(M_1 + \eta)}{\Gamma(\eta)^2}
\tag{4'}
\end{align}

 詳しくは「ノイズあり対応トピックモデルの崩壊型ギブズサンプリングの導出:一様なハイパーパラメータの場合」を参照のこと。
  \mathbf{R} の周辺分布の式が得られた。

結合周辺分布

  \mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}, \mathbf{R} の結合周辺分布の式(1)に、 \mathbf{Z} の周辺分布の式(4.10')、 \mathbf{Y} の条件付き分布の式(2)、 \mathbf{W} の周辺分布の式(4.11')、 \mathbf{X} の周辺分布の式(3')、 \mathbf{R} の周辺分布の式(4')を代入する。

 \displaystyle
\begin{aligned}
p(\mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}, \mathbf{R} \mid \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}, \eta)
   &= \prod_{d=1}^D \left\{
          \frac{\Gamma(\sum_{k=1}^K \alpha_k)}{\Gamma(N_d + \sum_{k=1}^K \alpha_k)}
          \prod_{k=1}^K
              \frac{\Gamma(N_{dk} + \alpha_k)}{\Gamma(\alpha_k)}
      \right\}
\\
   &\quad * 
      \prod_{d=1}^D \prod_{k=1}^K
          \Bigl(\frac{N_{dk}}{N_d}\Bigr)^{M_{dk}}
\\
   &\quad * 
      \prod_{k=1}^K \left\{
          \frac{\Gamma(\sum_{v=1}^V \beta_v)}{\Gamma(N_k + \sum_{v=1}^V \beta_v)}
          \prod_{v=1}^V
              \frac{\Gamma(N_{kv} + \beta_v)}{\Gamma(\beta_v)}
      \right\}
\\
   &\quad * 
      \prod_{k=0}^K \left\{
      \frac{\Gamma(\sum_{s=1}^S \gamma_s)}{\Gamma(M_k + \sum_{s=1}^S \gamma_s)}
      \prod_{s=1}^S
          \frac{\Gamma(M_{ks} + \gamma_s)}{\Gamma(\gamma_s)}
      \right\}
\\
   &\quad * 
      \frac{\Gamma(2 \eta)}{\Gamma(M + 2 \eta)}
      \frac{\Gamma(M_0 + \eta) \Gamma(M_1 + \eta)}{\Gamma(\eta)^2}
\end{aligned}

  \mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}, \mathbf{R} の結合周辺分布が得られた。

 以上で、各変数の周辺分布の式と、結合周辺分布の式が得られた。

スポンサードリンク

サンプリング式の導出

 次は、各変数の周辺分布を用いて、各潜在変数のサンプリング確率(条件付き分布)を導出する。

 文書  d n 番目の単語  w_{dn} を除いた文書集合を  \mathbf{W}_{\backslash dn}、単語トピック集合を  \mathbf{Z}_{\backslash dn} とする。全ての文書集合は  \mathbf{W} = \{w_{dn}, \mathbf{W}_{\backslash dn}\}、全ての単語トピック集合は  \mathbf{Z} = \{z_{dn}, \mathbf{Z}_{\backslash dn}\} で表せる。
 文書  d m 番目の補助情報  x_{dm} を除いた補助情報集合を  \mathbf{X}_{\backslash dm}、補助情報トピック集合を  \mathbf{Y}_{\backslash dm}、関係性集合を  \mathbf{R}_{\backslash dm} とする。全ての補助情報集合は  \mathbf{X} = \{x_{dm}, \mathbf{X}_{\backslash dm}\}、全ての補助情報トピック集合は  \mathbf{Y} = \{y_{dm}, \mathbf{Y}_{\backslash dm}\}、全ての関係性集合は  \mathbf{R} = \{r_{dm}, \mathbf{R}_{\backslash dm}\} で表せる。
 同様に、 w_{dn} を除く単語数を  N_{dk \backslash dn}, N_{kv \backslash dn}, N_{k \backslash dn} x_{dm} を除く補助情報数を  M_{dk \backslash dm}, M_{ks \backslash dm}, M_{k \backslash dm} で表す。

単語トピックの条件付き分布の設定

 全単語の文書集合  \mathbf{W} と単語  w_{dn} 以外のトピック集合  \mathbf{Z}_{\backslash dn} 、補助情報集合  \mathbf{X} と補助情報トピック集合  \mathbf{Y}、関係性集合  \mathbf{R} が与えられた(条件とする)ときの単語  w_{dn} のトピック  z_{dn} の条件付き分布を求める。

 \displaystyle
\begin{align}
p(z_{dn} = k \mid \mathbf{W}, \mathbf{X}, \mathbf{Z}_{\backslash dn}, \mathbf{Y}, \mathbf{R}, \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}, \eta)
   &= \frac{
          p(
              w_{dn}, \mathbf{W}_{\backslash dn}, \mathbf{X}, 
              z_{dn} = k, \mathbf{Z}_{\backslash dn}, \mathbf{Y}, \mathbf{R}
          \mid
              \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}, \eta
          )
      }{
          p(
              w_{dn}, \mathbf{W}_{\backslash dn}, \mathbf{X}, 
              \mathbf{Z}_{\backslash dn}, \mathbf{Y}, \mathbf{R}
          \mid
              \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}, \eta
          )
      }
\\
   &\propto
      p(
          w_{dn}, \mathbf{W}_{\backslash dn}, \mathbf{X}, 
          z_{dn} = k, \mathbf{Z}_{\backslash dn}, \mathbf{Y}, \mathbf{R}
      \mid
          \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}, \eta
      )
\\
   &= p(z_{dn} = k \mid \mathbf{Z}_{\backslash dn}, \boldsymbol{\alpha})
      p(w_{dn} \mid \mathbf{W}_{\backslash dn}, z_{dn} = k, \mathbf{Z}_{\backslash dn}, \boldsymbol{\beta})
\\
   &\quad * 
      p(\mathbf{y}_d \mid z_{dn} = k, \mathbf{z}_{d \backslash dn})
\\
   &\quad * 
      p(\mathbf{Z}_{\backslash dn} \mid \boldsymbol{\alpha})
      p(\mathbf{W}_{\backslash dn} \mid \mathbf{Z}_{\backslash dn}, \boldsymbol{\beta})
\\
   &\quad * 
      p(\mathbf{Y}_{\backslash d} \mid \mathbf{Z}_{\backslash d})
      p(\mathbf{R} \mid \eta)
      p(\mathbf{X} \mid \mathbf{Y}, \mathbf{R}, \boldsymbol{\gamma})
\\
   &\propto
      p(z_{dn} = k \mid \mathbf{Z}_{\backslash dn}, \boldsymbol{\alpha})
      p(w_{dn} \mid \mathbf{W}_{\backslash dn}, z_{dn} = k, \mathbf{Z}_{\backslash dn}, \boldsymbol{\beta})
      p(\mathbf{y}_d \mid z_{dn} = k, \mathbf{z}_{d \backslash dn})
\tag{5}
\end{align}

途中式の途中式(クリックで展開)


  • 1: 条件付き確率より、目的の変数  z_{dn} 以外の変数  w_{dn}, \mathbf{W}_{\backslash dn}, \mathbf{X}, \mathbf{Z}_{\backslash dn}, \mathbf{Y}, \mathbf{R} を条件に移した式を立てる。
  • 2:  z_{dn} と無関係な項を省く。
  • 3: 変数ごとの項に分割する。

 単語  w_{dn} に関する変数  w_{dn}, z_{dn} と単語  w_{dn} 以外に関する変数  \mathbf{W}_{\backslash dn}, \mathbf{Z}_{\backslash dn}、補助情報に関する変数  \mathbf{X}, \mathbf{Y}, \mathbf{R} の項を分割する。

 \displaystyle
\begin{aligned}
&
p(
    w_{dn}, \mathbf{W}_{\backslash dn}, \mathbf{X}, 
    z_{dn} = k, \mathbf{Z}_{\backslash dn}, \mathbf{Y}, \mathbf{R}
\mid
    \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}, \eta
)
\\
   &= p(
          w_{dn}, z_{dn} = k
      \mid
          \mathbf{W}_{\backslash dn}, \mathbf{Z}_{\backslash dn}, 
          \boldsymbol{\alpha}, \boldsymbol{\beta}
      )
      p(
          \mathbf{W}_{\backslash dn}, \mathbf{X}, 
          \mathbf{Z}_{\backslash dn}, \mathbf{Y}, \mathbf{R}
      \mid
          z_{dn} = k, 
          \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}, \eta
      )
\\
   &= p(
          w_{dn}, z_{dn} = k
      \mid
          \mathbf{W}_{\backslash dn}, \mathbf{Z}_{\backslash dn}, 
          \boldsymbol{\alpha}, \boldsymbol{\beta}
      )
      p(
          \mathbf{W}_{\backslash dn}, \mathbf{Z}_{\backslash dn}
      \mid
          \boldsymbol{\alpha}, \boldsymbol{\beta}
      )
      p(
          \mathbf{X}, \mathbf{Y}, \mathbf{R}
      \mid
          z_{dn} = k, \mathbf{Z}_{\backslash dn}, 
          \boldsymbol{\gamma}, \eta
      )
\end{aligned}

 さらに1つ目の項の、観測変数  w_{dn} と潜在変数  z_{dn} の項を分割する。

 \displaystyle
p(
    w_{dn}, z_{dn} = k
\mid
    \mathbf{W}_{\backslash dn}, \mathbf{Z}_{\backslash dn}, 
    \boldsymbol{\alpha}, \boldsymbol{\beta}
)
    = p(w_{dn} \mid \mathbf{W}_{\backslash dn}, z_{dn} = k, \mathbf{Z}_{\backslash dn}, \boldsymbol{\beta})
      p(z_{dn} = k \mid \mathbf{Z}_{\backslash dn}, \boldsymbol{\alpha})

 2つ目の項の、観測変数  \mathbf{W}_{\backslash dn} と潜在変数  \mathbf{Z}_{\backslash dn} の項を分割する。

 \displaystyle
p(\mathbf{W}_{\backslash dn}, \mathbf{Z}_{\backslash dn} \mid \boldsymbol{\alpha}, \boldsymbol{\beta})
    = p(\mathbf{W}_{\backslash dn} \mid \mathbf{Z}_{\backslash dn}, \boldsymbol{\beta})
      p(\mathbf{Z}_{\backslash dn} \mid \boldsymbol{\alpha})

 3つ目の項の、観測変数  \mathbf{X} と潜在変数  \mathbf{Y}, \mathbf{R} の項を分割する。

 \displaystyle
\begin{aligned}
p(\mathbf{X}, \mathbf{Y}, \mathbf{R} \mid z_{dn} = k, \mathbf{Z}_{\backslash dn}, \boldsymbol{\gamma}, \eta)
   &= p(\mathbf{X} \mid \mathbf{Y}, \mathbf{R}, \boldsymbol{\gamma})
      p(\mathbf{Y}, \mathbf{R} \mid z_{dn} = k, \mathbf{Z}_{\backslash dn}, \eta)
\\
   &= p(\mathbf{X} \mid \mathbf{Y}, \mathbf{R}, \boldsymbol{\gamma})
      p(\mathbf{Y} \mid z_{dn} = k, \mathbf{Z}_{\backslash dn})
      p(\mathbf{R} \mid \eta)
\end{aligned}

 さらに中の項を、 z_{dn} に関する項と  z_{dn} 以外に関する項に分割する。

 \displaystyle
p(\mathbf{Y} \mid z_{dn} = k, \mathbf{Z}_{\backslash dn})
  = p(\mathbf{y}_d \mid z_{dn} = k, \mathbf{z}_{\backslash dn})
    p(\mathbf{Y}_{\backslash d} \mid \mathbf{Z}_{\backslash d})
  • 4:  z_{dn} と無関係な項を省く。

  z_{dn} に影響しない項を省いて比例関係のみに注目すると、 w_{dn}, z_{dn}, \mathbf{y}_d に関する事後周辺分布から得られることが分かった。

単語トピックの事後周辺分布

  z_{dn} の条件付き分布の式(5)の1つ目の項は、単語  w_{dn} 以外のトピック集合  \mathbf{Z}_{\backslash dn} が与えられたときの単語  w_{dn} のトピック  z_{dn} の周辺分布である。
 この式は、トピックモデル(4.5節)と同じ式なので、 \mathbf{Z} の周辺分布の式(4.10)を用いて、次の式になる。

 \displaystyle
\begin{align}
p(z_{dn} = k \mid \mathbf{Z}_{\backslash dn}, \boldsymbol{\alpha})
   &= \frac{
          p(z_{dn} = k, \mathbf{Z}_{\backslash dn} \mid \boldsymbol{\alpha})
      }{
          p(\mathbf{Z}_{\backslash dn} \mid \boldsymbol{\alpha})
      }
\\
   &= \frac{
          N_{dk \backslash dn}
          + \alpha_k
      }{
          N_d - 1
          + \sum_{k'=1}^K \alpha_{k'}
      }
\tag{4.13}
\end{align}

 詳しくは「トピックモデルの崩壊型ギブズサンプリングの導出:多様なハイパーパラメータの場合」を参照のこと。
  z_{dn} (に割り当てられるトピック  k )の事後周辺分布の式が得られた。

単語の事後周辺分布

  z_{dn} の条件付き分布の式(5)の2つ目の項は、単語  w_{dn} 以外の文書集合  \mathbf{W}_{\backslash dn} と全単語のトピック集合  \mathbf{Z} が与えられたときの単語  w_{dn} の周辺分布である。
 この式は、トピックモデル(4.5節)と同じ式なので、 \mathbf{W} の周辺分布の式(4.11)を用いて、次の式になる。

 \displaystyle
\begin{align}
p(w_{dn} \mid \mathbf{W}_{\backslash dn}, z_{dn} = k, \mathbf{Z}_{\backslash dn}, \boldsymbol{\beta})
   &= \frac{
          p(w_{dn}, \mathbf{W}_{\backslash dn} \mid z_{dn} = k, \mathbf{Z}_{\backslash dn}, \boldsymbol{\beta})
      }{
           p(\mathbf{W}_{\backslash dn} \mid \mathbf{Z}_{\backslash dn}, \boldsymbol{\beta})
      }
\\
   &= \frac{
          N_{kw_{dn} \backslash dn}
          + \beta_v
      }{
          N_{k \backslash dn}
          + \sum_{v'=1}^V \beta_{v'}
      }
\tag{4.14}
\end{align}

 詳しくは「トピックモデルの崩壊型ギブズサンプリングの導出:多様なハイパーパラメータの場合」を参照のこと。
  w_{dn} の事後周辺分布の式が得られた。

補助情報トピック集合の事後分布

  z_{dn} の条件付き分布の式(5)の3つ目の項は、単語トピック集合  \mathbf{Z} が与えられたときの文書  d の補助情報トピック集合  \mathbf{y}_d の条件付き分布である。
 この式は、対応トピックモデル(5.2節)と同じ式なので、 \mathbf{Y} の条件付き分布の式(2)の文書  d に関する項を用いて、次の式になる。

 \displaystyle
\begin{align}
p(\mathbf{y}_d \mid z_{dn} = k, \mathbf{Z}_{\backslash dn}, \mathbf{Y}_{\backslash d})
   &= \frac{
          p(\mathbf{y}_d, \mathbf{Y}_{\backslash d} \mid z_{dn} = k, \mathbf{Z}_{\backslash dn})
      }{
          p(\mathbf{Y}_{\backslash d} \mid \mathbf{Z}_{\backslash d})
      }
\\
   &= \Bigl(
          \frac{N_{dk \backslash dn} + 1}{N_{dk \backslash dn}}
      \Bigr)^{M_{dk}}
      \Bigl(
          \frac{N_d - 1}{N_d}
      \Bigr)^{M_d}
      \prod_{k'=1}^K
          \Bigl(
              \frac{N_{dk' \backslash dn}}{N_d - 1}
          \Bigr)^{M_{dk'}}
\tag{6}
\end{align}

 詳しくは「対応トピックモデルの崩壊型ギブズサンプリングの導出:一様なハイパーパラメータの場合」を参照のこと。
  \mathbf{y}_d の事後分布の式が得られた。

単語トピックの条件付き分布

  z_{dn} の条件付き分布の式(5)に、 z_{dn} の事後周辺分布の式(4.13)と  w_{dn} の事後周辺分布の式(4.14)、 \mathbf{y}_d の事後分布の式(6)を代入する。

 \displaystyle
\begin{align}
p(z_{dn} = k \mid \mathbf{W}, \mathbf{X}, \mathbf{Z}_{\backslash dn}, \mathbf{Y}, \mathbf{R}, \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}, \eta)
   &\propto
      \frac{
          N_{dk \backslash dn}
          + \alpha_k
      }{
          N_d - 1
          + \sum_{k'=1}^K \alpha_{k'}
      }
      \frac{
          N_{kw_{dn} \backslash dn}
          + \beta_v
      }{
          N_{k \backslash dn}
          + \sum_{v'=1}^V \beta_{v'}
      }
      \Bigl(
          \frac{N_{dk \backslash dn} + 1}{N_{dk \backslash dn}}
      \Bigr)^{M_{dk}}
      \Bigl(
          \frac{N_d - 1}{N_d}
      \Bigr)^{M_d}
      \prod_{k'=1}^K
          \Bigl(
              \frac{N_{dk' \backslash dn}}{N_d - 1}
          \Bigr)^{M_{dk'}}
\\
   &\propto
      (N_{dk \backslash dn} + \alpha_k)
      \frac{
          N_{kw_{dn} \backslash dn}
          + \beta_v
      }{
          N_{k \backslash dn}
          + \sum_{v'=1}^V \beta_{v'}
      }
      \Bigl(
          \frac{N_{dk \backslash dn}+1}{N_{dk \backslash dn}}
      \Bigr)^{M_{dk}}
\tag{5.3}
\end{align}

  z_{dn} = k に影響しない項を省いた。他のトピックについても同様に計算でき、全てのトピックに関する和で割ると正規化できる。
  z_{dn} の条件付き分布の式が得られた。

補助情報トピックの条件付き分布の設定

 単語集合  \mathbf{W} と単語トピック集合  \mathbf{Z}、全ての補助情報集合  \mathbf{X} と補助情報  x_{dm} 以外のトピック集合  \mathbf{Y}_{\backslash dm}、関係性集合  \mathbf{R} が与えられた(条件とする)ときの補助情報  x_{dm} のトピック  y_{dm} の条件付き分布を求める。

 \displaystyle
\begin{align}
p(
    y_{dm} = k
\mid
    \mathbf{W}, \mathbf{X}, 
    \mathbf{Z}, \mathbf{Y}_{\backslash dm}, r_{dm} = 1, \mathbf{R}_{\backslash dm}, 
    \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}, \eta
)
   &= \frac{
          p(
              \mathbf{W}, x_{dm}, \mathbf{X}_{\backslash dm}, 
              \mathbf{Z}, y_{dm} = k, \mathbf{Y}_{\backslash dm}, r_{dm} = 1, \mathbf{R}_{\backslash dm}
          \mid
              \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}, \eta
          )
      }{
          p(
              \mathbf{W}, x_{dm}, \mathbf{X}_{\backslash dm}, 
              \mathbf{Z}, \mathbf{Y}_{\backslash dm}, r_{dm} = 1, \mathbf{R}_{\backslash dm}
          \mid
              \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}, \eta
          )
      }
\\
   &\propto
      p(
          \mathbf{W}, x_{dm}, \mathbf{X}_{\backslash dm}, 
          \mathbf{Z}, y_{dm} = k, \mathbf{Y}_{\backslash dm}, r_{dm} = 1, \mathbf{R}_{\backslash dm}
      \mid
          \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}, \eta
      )
\\
   &= p(y_{dm} = k \mid \mathbf{Z}, \mathbf{Y}_{\backslash dm})
      p(r_{dm} \mid \mathbf{R}_{\backslash dm}, \eta)
      p(x_{dm} \mid \mathbf{X}_{\backslash dm}, y_{dm} = k, \mathbf{Y}_{\backslash dm}, r_{dm} = 1, \mathbf{R}_{\backslash dm}, \boldsymbol{\gamma})
\\
   &\quad *
      p(\mathbf{Y}_{\backslash dm} \mid \mathbf{Z})
      p(\mathbf{R}_{\backslash dm} \mid \eta)
      p(\mathbf{X}_{\backslash dm} \mid \mathbf{Y}_{\backslash dm}, \mathbf{R}_{\backslash dm}, \boldsymbol{\gamma})
\\
   &\quad * 
      p(\mathbf{W} \mid \mathbf{Z}, \boldsymbol{\beta})
      p(\mathbf{Z} \mid \boldsymbol{\alpha})
\\
   &\propto
      p(y_{dm} = k \mid \mathbf{Z}, \mathbf{Y}_{\backslash dm})
      p(x_{dm} \mid \mathbf{X}_{\backslash dm}, y_{dm} = k, \mathbf{Y}_{\backslash dm}, r_{dm} = 1, \mathbf{R}_{\backslash dm}, \boldsymbol{\gamma})
\tag{7}
\end{align}

途中式の途中式(クリックで展開)


  • 1: 条件付き確率より、目的の変数  y_{dm} 以外の変数  \mathbf{W}, x_{dm}, \mathbf{X}_{\backslash dm}, \mathbf{Z}, \mathbf{Y}_{\backslash dm}, r_{dm}, \mathbf{R}_{\backslash dm} を条件に移した式を立てる。
  • 2:  y_{dm} と無関係な項を省く。
  • 3: 変数ごとの項に分割する。

 単語に関する変数  \mathbf{W}, \mathbf{Z}、補助情報  x_{dm} に関する変数  x_{dm}, y_{dm}, r_{dm} と補助情報  x_{dm} 以外に関する変数  \mathbf{X}_{\backslash dm}, \mathbf{Y}_{\backslash dm}, \mathbf{R}_{\backslash dm} の項を分割する。

 \displaystyle
\begin{aligned}
&
p(
    \mathbf{W}, x_{dm}, \mathbf{X}_{\backslash dm}, 
    \mathbf{Z}, y_{dm} = k, \mathbf{Y}_{\backslash dm} , r_{dm} = 1, \mathbf{R}_{\backslash dm}
\mid
    \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}, \eta
)
\\
   &= p(
          x_{dm}, y_{dm} = k, r_{dm} = 1
      \mid
          \mathbf{X}_{\backslash dm}, \mathbf{Z}, \mathbf{Y}_{\backslash dm}, \mathbf{R}_{\backslash dm}, 
          \boldsymbol{\gamma}, \eta
      )
      p(
          \mathbf{W}, \mathbf{X}_{\backslash dm}, 
          \mathbf{Z}, \mathbf{Y}_{\backslash dm}, \mathbf{R}_{\backslash dm}
      \mid
          \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}, \eta
      )
\\
   &= p(
          x_{dm}, y_{dm} = k, r_{dm} = 1
      \mid
          \mathbf{X}_{\backslash dm}, \mathbf{Z}, \mathbf{Y}_{\backslash dm}, \mathbf{R}_{\backslash dm}, 
          \boldsymbol{\gamma}, \eta
      )
      p(
          \mathbf{X}_{\backslash dm}, \mathbf{Y}_{\backslash dm}, \mathbf{R}_{\backslash dm}
      \mid
          \mathbf{Z}, \boldsymbol{\gamma}, \eta
      )
      p(\mathbf{W}, \mathbf{Z} \mid \boldsymbol{\alpha}, \boldsymbol{\beta})
\end{aligned}

 さらに1つ目の項の、観測変数  x_{dm} と潜在変数  y_{dm}, r_{dm} の項を分割する。

 \displaystyle
\begin{aligned}
&
p(
    x_{dm}, y_{dm} = k, r_{dm} = 1
\mid
    \mathbf{X}_{\backslash dm}, \mathbf{Z}, \mathbf{Y}_{\backslash dm}, \mathbf{R}_{\backslash dm}, 
    \boldsymbol{\gamma}, \eta
)
\\
   &= p(x_{dm} \mid \mathbf{X}_{\backslash dm}, y_{dm} = k, \mathbf{Y}_{\backslash dm}, r_{dm} = 1, \mathbf{R}_{\backslash dm}, \boldsymbol{\gamma})
      p(y_{dm} = k, r_{dm} = 1 \mid \mathbf{Z}, \mathbf{Y}_{\backslash dm}, \mathbf{R}_{\backslash dm}, \eta)
\\
   &= p(x_{dm} \mid \mathbf{X}_{\backslash dm}, y_{dm} = k, \mathbf{Y}_{\backslash dm}, r_{dm} = 1, \mathbf{R}_{\backslash dm}, \boldsymbol{\gamma})
      p(y_{dm} = k \mid \mathbf{Z}, \mathbf{Y}_{\backslash dm})
      p(r_{dm} = 1 \mid \mathbf{R}_{\backslash dm}, \eta)
\end{aligned}

 2つ目の項の、観測変数  \mathbf{X}_{\backslash dm} と潜在変数  \mathbf{Y}_{\backslash dm}, \mathbf{R}_{\backslash dm} の項をそれぞれ分割する。

 \displaystyle
\begin{aligned}
p(\mathbf{X}_{\backslash dm}, \mathbf{Y}_{\backslash dm}, \mathbf{R}_{\backslash dm} \mid \mathbf{Z}, \boldsymbol{\gamma}, \eta)
   &= p(\mathbf{X}_{\backslash dm} \mid \mathbf{Y}_{\backslash dm}, \mathbf{R}_{\backslash dm}, \boldsymbol{\gamma})
      p(\mathbf{Y}_{\backslash dm}, \mathbf{R}_{\backslash dm} \mid \mathbf{Z}, \eta)
\\
   &= p(\mathbf{X}_{\backslash dm} \mid \mathbf{Y}_{\backslash dm}, \mathbf{R}_{\backslash dm}, \boldsymbol{\gamma})
      p(\mathbf{Y}_{\backslash dm} \mid \mathbf{Z})
      p(\mathbf{R}_{\backslash dm} \mid \eta)
\end{aligned}

 3つ目の項の、観測変数  \mathbf{W} と潜在変数  \mathbf{Z} の項を分割する。

 \displaystyle
p(\mathbf{W}, \mathbf{Z} \mid \boldsymbol{\alpha}, \boldsymbol{\beta})
    = p(\mathbf{W} \mid \mathbf{Z}, \boldsymbol{\beta})
      p(\mathbf{Z} \mid \boldsymbol{\alpha})
  • 4:  y_{dm} と無関係な項を省く。

 補助情報  x_{dm} がトピックを持つ  y_{dm} = k となるのは関係性がある  r_{dm} = 1 のときであり、値としてとり得るトピックは(一般補助情報  k = 0 を除く)  k = 1, 2, \dots, K である。
  y_{dm} に影響しない項を省いて比例関係のみに注目すると、 x_{dm}, y_{dm} に関する事後周辺分布から得られることが分かった。

補助情報トピックの事後分布

  y_{dm} の条件付き分布の式(7)の前の項は、補助情報  x_{dm} 以外のトピック集合  \mathbf{Z}, \mathbf{Y}_{\backslash dm} が与えられたときの補助情報  x_{dm} のトピック  y_{dm} の条件付き分布である。
 この式は、対応トピックモデル(5.2節)と同じ式なので、 \mathbf{Y} の条件付き分布の式(2)を用いて、次の式になる。

 \displaystyle
\begin{align}
p(y_{dm} = k \mid \mathbf{Z}, \mathbf{Y}_{\backslash dm})
   &= \frac{
          p(y_{dm} = k, \mathbf{Y}_{\backslash dm} \mid \mathbf{Z})
      }{
          p(\mathbf{Y}_{\backslash dm} \mid \mathbf{Z})
      }
\\
   &= \frac{N_{dk}}{N_d}
\tag{8}
\end{align}

 詳しくは「対応トピックモデルの崩壊型ギブズサンプリングの導出:一様なハイパーパラメータの場合」を参照のこと。
  y_{dm} (に割り当てられるトピック  k )の事後分布の式が得られた。

補助情報の事後周辺分布:補助情報

  y_{dm} の条件付き分布の式(7)の後の項は、補助情報  x_{dm} 以外の補助情報集合  \mathbf{X}_{\backslash dm} と全補助情報のトピック集合  \mathbf{Y} が与えられたときの補助情報  x_{dm} の周辺分布である。
 この式は、結合トピックモデル(5.1節)と同じ式なので、 \mathbf{X} の周辺分布の式(3)を用いて、次の式になる。

 \displaystyle
\begin{align}
p(x_{dm} \mid \mathbf{X}_{\backslash dm}, y_{dm} = k, \mathbf{Y}_{\backslash dm}, r_{dm} = 1, \mathbf{R}_{\backslash dm}, \boldsymbol{\gamma})
   &= \frac{
          p(x_{dm}, \mathbf{X}_{\backslash dm} \mid y_{dm} = k, \mathbf{Y}_{\backslash dm}, r_{dm} = 1, \mathbf{R}_{\backslash dm}, \boldsymbol{\gamma})
      }{
           p(\mathbf{X}_{\backslash dm} \mid \mathbf{Y}_{\backslash dm}, \mathbf{R}_{\backslash dm}, \boldsymbol{\gamma})
      }
\\
   &= \frac{
          M_{kx_{dm} \backslash dm}
          + \gamma_{x_{dm}}
      }{
          M_{k \backslash dm}
          + \sum_{s=1}^S \gamma_s
      }
\tag{9}
\end{align}

 詳しくは「5.1:結合トピックモデルの崩壊型ギブズサンプリングの導出:多様なハイパーパラメータの場合【青トピックモデルのノート】 - からっぽのしょこ」を参照のこと。
  x_{dm} の事後周辺分布の式が得られた。

補助情報トピックの条件付き分布

  y_{dm} の条件付き分布の式(7)に、 y_{dm} の事後分布の式(8)と  x_{dm} の事後周辺分布の式(9)を代入する。

 \displaystyle
\begin{align}
p(y_{dm} = k \mid \mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}_{\backslash dm}, \mathbf{R}, \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}, \eta)
   &\propto
      \frac{N_{dk}}{N_d}
      \frac{
          M_{kx_{dm} \backslash dm}
          + \gamma_{x_{dm}}
      }{
          M_{k \backslash dm}
          + \sum_{s=1}^S \gamma_s
      }
\\
   &\propto
      N_{dk}
      \frac{
          M_{kx_{dm} \backslash dm}
          + \gamma_{x_{dm}}
      }{
          M_{k \backslash dm}
          + \sum_{s=1}^S \gamma_s
      }
\tag{5.4}
\end{align}

  y_{dm} = k に影響しない項を省いた。他のトピックについても同様に計算でき、全てのトピックに関する和で割ると正規化できる。
  y_{dm} の条件付き分布の式が得られた。

関係性の条件付き分布の設定

 単語集合  \mathbf{W} と単語トピック集合  \mathbf{Z}、全ての補助情報集合  \mathbf{X} とトピック集合  \mathbf{Y}、補助情報  x_{dm} 以外の関係性集合  \mathbf{R}_{\backslash dm} が与えられた(条件とする)ときの補助情報  x_{dm} の文書内容との関係性  r_{dm} の条件付き分布を求める。関係の有無を  b \in \{0, 1\} の2値で表す。

 \displaystyle
\begin{align}
p(
    r_{dm} = b
\mid
    \mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}, \mathbf{R}_{\backslash dm}, 
    \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}, \eta
)
   &= \frac{
          p(
              \mathbf{W}, x_{dm}, \mathbf{X}_{\backslash dm}, 
              \mathbf{Z}, y_{dm}, \mathbf{Y}_{\backslash dm}, r_{dm} = b, \mathbf{R}_{\backslash dm}
          \mid
              \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}, \eta
          )
      }{
          p(
              \mathbf{W}, x_{dm}, \mathbf{X}_{\backslash dm}, 
              \mathbf{Z}, y_{dm}, \mathbf{Y}_{\backslash dm}, \mathbf{R}_{\backslash dm}
          \mid
              \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}, \eta
          )
      }
\\
   &\propto
      p(
          \mathbf{W}, x_{dm}, \mathbf{X}_{\backslash dm}, 
          \mathbf{Z}, y_{dm}, \mathbf{Y}_{\backslash dm}, r_{dm} = b, \mathbf{R}_{\backslash dm}
      \mid
          \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}, \eta
      )
\\
   &= p(y_{dm} \mid \mathbf{Z}, \mathbf{Y}_{\backslash dm})
      p(r_{dm} = b \mid \mathbf{R}_{\backslash dm}, \eta)
      p(x_{dm} \mid \mathbf{X}_{\backslash dm}, y_{dm}, \mathbf{Y}_{\backslash dm}, r_{dm} = b, \mathbf{R}_{\backslash dm}, \boldsymbol{\gamma})
\\
   &\quad *
      p(\mathbf{Y}_{\backslash dm} \mid \mathbf{Z})
      p(\mathbf{R}_{\backslash dm} \mid \eta)
      p(\mathbf{X}_{\backslash dm} \mid \mathbf{Y}_{\backslash dm}, \mathbf{R}_{\backslash dm}, \boldsymbol{\gamma})
\\
   &\quad * 
      p(\mathbf{Z} \mid \boldsymbol{\alpha})
      p(\mathbf{W} \mid \mathbf{Z}, \boldsymbol{\beta})
\\
   &\propto
      p(r_{dm} = b \mid \mathbf{R}_{\backslash dm}, \eta)
      p(x_{dm} \mid \mathbf{X}_{\backslash dm}, y_{dm}, \mathbf{Y}_{\backslash dm}, r_{dm} = b, \mathbf{R}_{\backslash dm}, \boldsymbol{\gamma})
\tag{10}
\end{align}

途中式の途中式(クリックで展開)


  • 1: 条件付き確率より、目的の変数  r_{dm} 以外の変数  \mathbf{W}, x_{dm}, \mathbf{X}_{\backslash dm}, \mathbf{Z}, y_{dm}, \mathbf{Y}_{\backslash dm}, \mathbf{R}_{\backslash dm} を条件に移した式を立てる。
  • 2:  r_{dm} と無関係な項を省く。
  • 3: 変数ごとの項に分割する。

 単語に関する変数  \mathbf{W}, \mathbf{Z}、補助情報  x_{dm} に関する変数  x_{dm}, y_{dm}, r_{dm} と補助情報  x_{dm} 以外に関する変数  \mathbf{X}_{\backslash dm}, \mathbf{Y}_{\backslash dm}, \mathbf{R}_{\backslash dm} の項を分割する。

 \displaystyle
\begin{aligned}
&
p(
    \mathbf{W}, x_{dm}, \mathbf{X}_{\backslash dm}, 
    \mathbf{Z}, y_{dm}, \mathbf{Y}_{\backslash dm}, r_{dm} = b, \mathbf{R}_{\backslash dm}
\mid
    \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}, \eta
)
\\
   &= p(
          x_{dm}, y_{dm}, r_{dm} = b
      \mid
          \mathbf{X}_{\backslash dm}, 
          \mathbf{Z}, \mathbf{Y}_{\backslash dm}, \mathbf{R}_{\backslash dm}, 
          \boldsymbol{\gamma}, \eta
      )
      p(
          \mathbf{W}, \mathbf{X}_{\backslash dm}, 
          \mathbf{Z}, \mathbf{Y}_{\backslash dm}, \mathbf{R}_{\backslash dm}
      \mid
          \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}, \eta
      )
\\
   &= p(
          x_{dm}, y_{dm}, r_{dm} = b
      \mid
          \mathbf{X}_{\backslash dm}, 
          \mathbf{Z}, \mathbf{Y}_{\backslash dm}, \mathbf{R}_{\backslash dm}, 
          \boldsymbol{\gamma}, \eta
      )
      p(
          \mathbf{X}_{\backslash dm}, \mathbf{Y}_{\backslash dm}, \mathbf{R}_{\backslash dm}
      \mid
          \mathbf{Z}, \boldsymbol{\gamma}, \eta
      )
      p(
          \mathbf{W}, \mathbf{Z}
      \mid
          \boldsymbol{\alpha}, \boldsymbol{\beta}
      )
\end{aligned}

 さらに1つ目の項の、観測変数  x_{dm} と潜在変数  y_{dm} の項を分割する。

 \displaystyle
\begin{aligned}
&
 p(
    x_{dm}, y_{dm}, r_{dm} = b
\mid
    \mathbf{X}_{\backslash dm}, 
    \mathbf{Z}, \mathbf{Y}_{\backslash dm}, \mathbf{R}_{\backslash dm}, 
    \boldsymbol{\gamma}, \eta
)
\\
   &= p(x_{dm} \mid \mathbf{X}_{\backslash dm}, y_{dm}, \mathbf{Y}_{\backslash dm}, r_{dm} = b, \mathbf{R}_{\backslash dm}, \boldsymbol{\gamma})
      p(y_{dm}, r_{dm} = b \mid \mathbf{Z}, \mathbf{Y}_{\backslash dm}, \mathbf{R}_{\backslash dm}, \eta)
\\
   &= p(x_{dm} \mid \mathbf{X}_{\backslash dm}, y_{dm}, \mathbf{Y}_{\backslash dm}, r_{dm} = b, \mathbf{R}_{\backslash dm}, \boldsymbol{\gamma})
      p(y_{dm} \mid \mathbf{Z}, \mathbf{Y}_{\backslash dm})
      p(r_{dm} = b \mid \mathbf{R}_{\backslash dm}, \eta)
\end{aligned}

 2つ目の項の、観測変数  \mathbf{X}_{\backslash dm} と潜在変数  \mathbf{Y}_{\backslash dm}, \mathbf{R}_{\backslash dm} の項を分割する。

 \displaystyle
\begin{aligned}
p(
    \mathbf{X}_{\backslash dm}, \mathbf{Y}_{\backslash dm}, \mathbf{R}_{\backslash dm}
\mid
    \mathbf{Z}, \boldsymbol{\gamma}, \eta
)
   &= p(\mathbf{X}_{\backslash dm} \mid \mathbf{Y}_{\backslash dm}, \mathbf{R}_{\backslash dm}, \boldsymbol{\gamma})
      p(\mathbf{Y}_{\backslash dm}, \mathbf{R}_{\backslash dm} \mid \mathbf{Z}, \eta)
\\
   &= p(\mathbf{X}_{\backslash dm} \mid \mathbf{Y}_{\backslash dm}, \mathbf{R}_{\backslash dm}, \boldsymbol{\gamma})
      p(\mathbf{Y}_{\backslash dm} \mid \mathbf{Z})
      p(\mathbf{R}_{\backslash dm} \mid \eta)
\end{aligned}

 3つ目の項の、観測変数  \mathbf{W} と潜在変数  \mathbf{Z} の項を分割する。

 \displaystyle
p(\mathbf{W}, \mathbf{Z} \mid \boldsymbol{\alpha}, \boldsymbol{\beta})
    = p(\mathbf{W} \mid \mathbf{Z}, \boldsymbol{\beta})
      p(\mathbf{Z} \mid \boldsymbol{\alpha})
  • 4:  r_{dm} と無関係な項を省く。

  r_{dm} に影響しない項を省いて比例関係のみに注目すると、 x_{dm}, r_{dm} に関する事後周辺分布から得られることが分かった。

関係性の事後周辺分布

  r_{dm} の条件付き分布の式(10)の前の項は、補助情報  x_{dm} 以外の関係性集合  \mathbf{R}_{\backslash dm} が与えられたときの補助情報  x_{dm} の文書内容との関係性  r_{dm} の事後周辺分布である。
 この式は、一様なハイパーパラメータの場合のノイズあり対応トピックモデル(5.3節)と同じ式なので、 \mathbf{R} の周辺分布の式(4)を用いて、次の式になる。

 \displaystyle
\begin{align}
p(r_{dm} = b \mid \mathbf{R}_{\backslash dm}, \eta)
   &= \frac{
          p(r_{dm} = b, \mathbf{R}_{\backslash dm} \mid \eta)
      }{
          p(\mathbf{R}_{\backslash dm} \mid \eta)
      }
\\
   &= \frac{
          M_{b \backslash dm} + \eta
      }{
          M-1 + 2 \eta
      }
\tag{11}
\end{align}

 詳しくは「ノイズあり対応トピックモデルの崩壊型ギブズサンプリングの導出:一様なハイパーパラメータの場合」を参照のこと。
  r_{dm} (に割り当てられる関係性  b )の事後周辺分布の式が得られた。

補助情報の事後周辺分布:関係性

  r_{dm} の条件付き分布の式(10)の後の項は、補助情報  x_{dm} 以外の補助情報集合  \mathbf{X}_{\backslash dm} と全補助情報のトピック集合  \mathbf{Y}、関係性集合  \mathbf{R} が与えられたときの補助情報  x_{dm} の事後周辺分布である。
 この式は、 \mathbf{X} の周辺分布の式(3)を用いて求められる。ただし、補助情報トピックに関する添字を  k = b y_{dm} で表す。

 \displaystyle
\begin{align}
p(
    x_{dm}
\mid
    \mathbf{X}_{\backslash dm}, 
    y_{dm}, \mathbf{Y}_{\backslash dm}, r_{dm} = b, \mathbf{R}_{\backslash dm}, 
    \boldsymbol{\gamma}
)
   &= \frac{
          p(
              x_{dm}, \mathbf{X}_{\backslash dm}
          \mid
              y_{dm}, \mathbf{Y}_{\backslash dm}, r_{dm} = b, \mathbf{R}_{\backslash dm}, 
              \boldsymbol{\gamma}
          )
      }{
          p(
              \mathbf{X}_{\backslash dm}
          \mid
              \mathbf{Y}_{\backslash dm}, \mathbf{R}_{\backslash dm}, 
              \boldsymbol{\gamma}
          )
      }
\\
   &= \frac{\Gamma(\sum_{s=1}^S \gamma_s)^{K+1}}{\prod_{s=1}^S \Gamma(\gamma_s)^{K+1}}
      \frac{
          \Gamma(M_{(by_{dm}),x_{dm} \backslash dm} + 1 + \gamma_s)
          \prod_{s \neq x_{dm}}
              \Gamma(M_{(by_{dm}),s \backslash dm} + \gamma_s)
      }{
          \Gamma(M_{(by_{dm}) \backslash dm} + 1 + \sum_{s=1}^S \gamma_s)
      }
      \prod_{k \neq by_{dm}} 
          \frac{
              \prod_{s=1}^S
                  \Gamma(M_{ks \backslash dm} + \gamma_s)
          }{
              \Gamma(M_{k \backslash dm} + \sum_{s=1}^S \gamma_s)
          }
\\
   &\quad * 
      \frac{\prod_{s=1}^S \Gamma(\gamma_s)^{K+1}}{\Gamma(\sum_{s=1}^S \gamma_s)^{K+1}}
      \frac{
          \Gamma(M_{(by_{dm}) \backslash dm} + \sum_{s=1}^S \gamma_s)
      }{
          \prod_{s=1}^S
              \Gamma(M_{(by_{dm}),s \backslash dm} + \gamma_s)
      }
      \prod_{k \neq by_{dm}} 
          \frac{
              \Gamma(M_{k \backslash dm} + \sum_{s=1}^S \gamma_s)
          }{
              \prod_{s=1}^S
                  \Gamma(M_{ks \backslash dm} + \gamma_s)
          }
\\
   &= \frac{
          (M_{(by_{dm}),x_{dm} \backslash dm} + \gamma_s)
          \Gamma(M_{(by_{dm}),x_{dm} \backslash dm} + \gamma_s)
          \prod_{s \neq x_{dm}}
              \Gamma(M_{(by_{dm}),s \backslash dm} + \gamma_s)
      }{
          (M_{(by_{dm}) \backslash dm} + \sum_{s=1}^S \gamma_s)
          \Gamma(M_{(by_{dm}) \backslash dm} + \sum_{s=1}^S \gamma_s)
      }
\\
   &\quad * 
      \frac{
          \Gamma(M_{(by_{dm}) \backslash dm} + \sum_{s=1}^S \gamma_s)
      }{
          \prod_{s=1}^S
              \Gamma(M_{(by_{dm}),s \backslash dm} + \gamma_s)
      }
\\
   &= \frac{
          M_{(by_{dm}),x_{dm} \backslash dm} + \gamma_s
      }{
          M_{(by_{dm}) \backslash dm} + \sum_{s=1}^S \gamma_s
      }
\tag{12}
\end{align}

途中式の途中式(クリックで展開)


  • 1: 条件付き確率より、目的の変数  x_{dm} 以外の変数  \mathbf{X}_{\backslash dm} を条件に移した式を立てる。
  • 2: 式(3)を用いて、分母分子を具体的な式に置き換える。

  \mathbf{X} の周辺分布(分子)は式(3)であり、 \mathbf{X}_{\backslash dm} の周辺分布(分母)は式(3)から補助情報  x_{dm} に関して取り除いた式である。

 \displaystyle
\begin{align}
p(x_{dm}, \mathbf{X}_{\backslash dm} \mid y_{dm}, \mathbf{Y}_{\backslash dm}, r_{dm}, \mathbf{R}_{\backslash dm}, \boldsymbol{\gamma})
   &= \prod_{k=0}^K \left\{
          \frac{\Gamma(\sum_{s=1}^S \gamma_s)}{\prod_{s=1}^S \Gamma(\gamma_s)}
          \frac{
              \prod_{s=1}^S
                  \Gamma(M_{ks} + \gamma_s)
          }{
              \Gamma(M_k + \sum_{s=1}^S \gamma_s)
          }
      \right\}
\tag{3}\\
p(\mathbf{X}_{\backslash dm} \mid \mathbf{Y}_{\backslash dm}, \mathbf{R}_{\backslash dm}, \boldsymbol{\gamma})
   &= \prod_{k=0}^K \left\{
          \frac{\Gamma(\sum_{s=1}^S \gamma_s)}{\prod_{s=1}^S \Gamma(\gamma_s)}
          \frac{
              \prod_{s=1}^S
                  \Gamma(M_{ks \backslash dm} + \gamma_s)
          }{
              \Gamma(M_{k \backslash dm} + \sum_{s=1}^S \gamma_s)
          }
      \right\}
\end{align}

 ただし、次の関係である。詳しくは「結合トピックモデル版」を参照のこと。

 \displaystyle
\begin{aligned}
M_{0s}
   &= \begin{cases}
          M_{0s \backslash dm} + 1
             &\quad
                (r_{dm} = 0\ \mathrm{and}\ x_{dm} = s) \\
          M_{0s \backslash dm}
             &\quad
                (r_{dm} \neq 0\ \mathrm{or}\ x_{dm} \neq s)
      \end{cases}
\\
M_0
   &= \begin{cases}
          M_{0 \backslash dm} + 1
             &\quad
                (r_{dm} = 0) \\
          M_{0 \backslash dm}
             &\quad
                (r_{dm} \neq 0)
      \end{cases}
\\
M_{ks}
   &= \begin{cases}
          M_{ks \backslash dm} + 1
             &\quad
                (r_{dm} = 1, y_{dm} = k\ \mathrm{and}\ x_{dm} = s) \\
          M_{ks \backslash dm}
             &\quad
                (r_{dm} = 1, y_{dm} \neq k\ \mathrm{or}\ x_{dm} \neq s)
      \end{cases}
\\
M_k
   &= \begin{cases}
          M_{k \backslash dm} + 1
             &\quad
                (r_{dm} = 1, y_{dm} = k) \\
          M_{k \backslash dm}
             &\quad
                (r_{dm} = 1, y_{dm} \neq k)
      \end{cases}
\end{aligned}

  \mathbf{X} の周辺分布の式について、 M_{0s}, M_0, M_{ks}, M_k M_{0s \backslash dm}, M_{0 \backslash dm}, M_{ks \backslash dm}, M_{k \backslash dm} に置き換える。
 トピック  by_{dm} や種類  x_{dm} の項のみ形が異なるので、 \prod_{k=1}^K, \prod_{s=1}^S から取り出しておく。

  • 3: ガンマ関数の性質  \Gamma(x + 1) = (x) \Gamma(x) より、項を変形する。
  • 4:  s に関する総乗  \prod_{s=1}^S \Gamma(x_s) = \Gamma(x_{x_{dm}}) \prod_{s \neq x_{dm}} \Gamma(x_s) なので、約分すると  k = by_{dm}, s = x_{dm} に関する項のみが残る。

  x_{dm} の事後周辺分布の式が得られた。

関係性の条件付き分布

  r_{dm} の条件付き分布の式(10)に、 r_{dm} の事後周辺分布の式(11)と  x_{dm} の事後周辺分布の式(12)を代入する。

 \displaystyle
\begin{aligned}
p(
    r_{dm} = b
\mid
    \mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}, \mathbf{R}_{\backslash dm}, 
    \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}, \eta
)
   &\propto
      \frac{
          M_{b \backslash dm} + \eta
      }{
          M-1 + 2 \eta
      }
      \frac{
          M_{(by_{dm}),x_{dm} \backslash dm}
          + \gamma_{x_{dm}}
      }{
          M_{(by_{dm}) \backslash dm}
          + \sum_{s=1}^S \gamma_s
      }
\\
   &\propto
      (M_{b \backslash dm} + \eta)
      \frac{
          M_{(by_{dm}),x_{dm} \backslash dm}
          + \gamma_{x_{dm}}
      }{
          M_{(by_{dm}) \backslash dm}
          + \sum_{s=1}^S \gamma_s
      }
\end{aligned}

  r_{dm} = b に影響しない項を省いた。関係の有無  b = 0, 1 に関する和で割ると正規化できる。
  r_{dm} の条件付き分布の式が得られた。

 この式は、文書内容と関係がない場合  b = 0 のときトピックが  k = b y_{dm} = 0 になるので

 \displaystyle
\begin{aligned}
p(
    r_{dm} = 0
\mid
    \mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}, \mathbf{R}_{\backslash dm}, 
    \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}, \eta
)
   &\propto
      (M_{0 \backslash dm} + \eta)
      \frac{
          M_{0x_{dm} \backslash dm}
          + \gamma_{x_{dm}}
      }{
          M_{0 \backslash dm}
          + \sum_{s=1}^S \gamma_s
      }
\end{aligned}

となり、また関係がある場合  b = 1 のとき  k = b y_{dm} = y_{dm} になるので

 \displaystyle
\begin{aligned}
p(
    r_{dm} = 1
\mid
    \mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}, \mathbf{R}_{\backslash dm}, 
    \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}, \eta
)
   &\propto
      (M_{1 \backslash dm} + \eta)
      \frac{
          M_{y_{dm}x_{dm} \backslash dm}
          + \gamma_{x_{dm}}
      }{
          M_{y_{dm} \backslash dm}
          + \sum_{s=1}^S \gamma_s
      }
\end{aligned}

となる。

 以上で、各潜在変数のサンプリング式が得られた。

スポンサードリンク

ハイパーパラメータの更新式の導出

 続いて、サンプリングしたトピック集合を用いて、全変数の結合周辺分布を最大化するハイパーパラメータを推定する。しかし、解析的に求められない。そこで、不動点反復法により結合周辺分布の下限を繰り返し更新することで最大化を行うための各分布のハイパーパラメータの更新式を導出する。

結合周辺分布の下限の設定

  \mathbf{Z} の周辺分布の式(4.10')を

 \displaystyle
\begin{align}
p(\mathbf{Z} \mid \boldsymbol{\boldsymbol{\alpha}})
   &= \prod_{d=1}^D \left\{
          \frac{\Gamma(\sum_{k=1}^K \alpha_k)}{\Gamma(N_d + \sum_{k=1}^K \alpha_k)}
          \prod_{k=1}^K
              \frac{\Gamma(N_{dk} + \alpha_k)}{\Gamma(\alpha_k)}
      \right\}
\tag{4.10'}\\
   &\geq
      \prod_{d=1}^D \left[
          \frac{\Gamma(\sum_{k=1}^K \alpha_k)}{\Gamma(N_d + \sum_{k=1}^K \alpha_k)}
          \exp \Bigl(
              (\alpha_k - \alpha_k^{\mathrm{new}})
          \Bigr)
          \prod_{k=1}^K \left\{
              \frac{\Gamma(N_{dk} + \alpha_k)}{\Gamma(\alpha_k)}
              \alpha_k^{-a_{\alpha}}
              (\alpha_k^{\mathrm{new}})^{a_{\alpha}}
          \right\}
      \right]
\end{align}

と変形し、また  \mathbf{W} の周辺分布の式(4.11')を

 \displaystyle
\begin{align}
p(\mathbf{W} \mid \mathbf{Z}, \boldsymbol{\beta})
   &= \prod_{k=1}^K \left\{
          \frac{\Gamma(\sum_{v=1}^V \beta_v)}{\Gamma(N_k + \sum_{v=1}^V \beta_v)}
          \prod_{v=1}^V
              \frac{\Gamma(N_{kv} + \beta_v)}{\Gamma(\beta_v)}
      \right\}
\tag{4.11'}\\
   &\geq
      \prod_{k=1}^K \left[
          \frac{\Gamma(\sum_{v=1}^V \beta_v)}{\Gamma(N_k + \sum_{v=1}^V \beta_v)}
          \exp \Bigl(
              (\beta_v - \beta_v^{\mathrm{new}})
              b_{\beta}
          \Bigr)
          \prod_{v=1}^V \left\{
              \frac{\Gamma(N_{kv} + \beta_v)}{\Gamma(\beta_v)}
              \beta_v^{-a_{\beta}}
              (\beta_v^{\mathrm{new}})^{a_{\beta}}
          \right\}
      \right]
\end{align}

と変形し、 \mathbf{X} の周辺分布の式(3')を

 \displaystyle
\begin{align}
p(\mathbf{X} \mid \mathbf{Y}, \mathbf{R}, \boldsymbol{\gamma})
   &= \prod_{k=0}^K \left\{
          \frac{\Gamma(\sum_{s=1}^S \gamma_s)}{\Gamma(M_k + \sum_{s=1}^S \gamma_s)}
          \prod_{s=1}^S
              \frac{\Gamma(M_{ks} + \gamma_s)}{\Gamma(\gamma_s)}
      \right\}
\tag{3'}\\
   &\geq
      \prod_{k=0}^K \left[
          \frac{\Gamma(\sum_{s=1}^S \gamma_s)}{\Gamma(M_k + \sum_{s=1}^S \gamma_s)}
          \exp \Bigl(
              (\gamma_s - \gamma_s^{\mathrm{new}})
              b_{\gamma}
          \Bigr)
          \prod_{s=1}^S \left\{
              \frac{\Gamma(M_{ks} + \gamma_s)}{\Gamma(\gamma_s)}
              \gamma_s^{-a_{\gamma}}
              (\gamma_s^{\mathrm{new}})^{a_{\gamma}}
          \right\}
      \right]
\end{align}

と変形し、 \mathbf{R} の周辺分布の式(4')を

 \displaystyle
\begin{align}
p(\mathbf{R} \mid \eta)
   &= \frac{\Gamma(2 \eta)}{\Gamma(M + 2 \eta)}
      \frac{\Gamma(M_0 + \eta) \Gamma(M_1 + \eta)}{\Gamma(\eta)^2}
\tag{4'}\\
   &\geq
      \frac{\Gamma(2 \eta)}{\Gamma(M + 2 \eta)}
      \exp \Bigl(
          (2 \eta - 2 \eta^{\mathrm{new}})
          b_{\eta}
      \Bigr)
      \frac{\Gamma(M_0 + \eta) \Gamma(M_1 + \eta)}{\Gamma(\eta)^2}
      \eta^{-a_{\eta}}
      (\eta^{\mathrm{new}})^{a_{\eta}}
\end{align}

と変形して、 \mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}, \mathbf{R} の結合周辺分布の式(1)を置き換え下限  G とおく。

 \displaystyle
\begin{aligned}
p(\mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}, \mathbf{R} \mid \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}, \eta)
   &\geq
      \prod_{d=1}^D \Biggl[
          \frac{\Gamma(\sum_{k=1}^K \alpha_k)}{\Gamma(N_d + \sum_{k=1}^K \alpha_k)}
          \exp \Bigl(
              (\alpha_k - \alpha_k^{\mathrm{new}})
              b_{\alpha}
          \Bigr)
      \Biggr.
\\
   &\qquad \qquad * 
      \Biggl.
          \prod_{k=1}^K \left\{
              \frac{\Gamma(N_{dk} + \alpha_k)}{\Gamma(\alpha_k)}
              \alpha_k^{-a_{\alpha}}
              (\alpha_k^{\mathrm{new}})^{a_{\alpha}}
          \right\}
      \Biggr]
\\
   &\quad * 
      \prod_{d=1}^D \prod_{k=1}^K
          \Bigl(\frac{N_{dk}}{N_d}\Bigr)^{M_{dk}}
\\
   &\quad * 
      \prod_{k=1}^K \Biggl[
          \frac{\Gamma(\sum_{v=1}^V \beta_v)}{\Gamma(N_k + \sum_{v=1}^V \beta_v)}
          \exp \Bigl(
              (\beta_v - \beta_v^{\mathrm{new}})
              b_{\beta}
          \Bigr)
      \Biggr.
\\
   &\qquad \qquad * 
      \Biggl.
          \prod_{v=1}^V \left\{
              \frac{\Gamma(N_{kv} + \beta_v)}{\Gamma(\beta_v)}
              \beta_v^{-a_{\beta}}
              (\beta_v^{\mathrm{new}})^{a_{\beta}}
          \right\}
      \Biggr]
\\
   &\quad *
      \prod_{k=0}^K \Biggl[
          \frac{\Gamma(\sum_{s=1}^S \gamma_s)}{\Gamma(M_k + \sum_{s=1}^S \gamma_s)}
          \exp \Bigl(
              (\gamma_s - \gamma_s^{\mathrm{new}})
              b_{\gamma}
          \Bigr)
      \Biggr.
\\
   &\qquad \qquad * 
      \Biggl.
          \prod_{s=1}^S \left\{
              \frac{\Gamma(M_{ks} + \gamma_s)}{\Gamma(\gamma_s)}
              \gamma_s^{-a_{\gamma}}
              (\gamma_s^{\mathrm{new}})^{a_{\gamma}}
          \right\}
      \Biggr]
\\
   &\quad * 
      \frac{\Gamma(2 \eta)}{\Gamma(M + 2 \eta)}
      \exp \Bigl(
          (2 \eta - 2 \eta^{\mathrm{new}})
          b_{\eta}
      \Bigr)
\\
   &\qquad * 
      \prod_{b \in \{0, 1\}} \left\{
          \frac{\Gamma(M_b + \eta)}{\Gamma(\eta)^2}
          \eta^{-a_{\eta}}
          (\eta^{\mathrm{new}})^{a_{\eta}}
      \right\}
    \equiv
      G
\end{aligned}

 また、次のようにおいた。

 \displaystyle
\begin{aligned}
a_{\alpha}
   &= \Bigl(
         \Psi(N_{dk} + \alpha_k)
         - \Psi(\alpha_k)
      \Bigr)
      \alpha_k
\\
b_{\alpha}
   &= \Psi \Bigl(N_d + \sum_{k=1}^K \alpha_k \Bigr)
      - \Psi \Bigl(\sum_{k=1}^K \alpha_k \Bigr)
\\
a_{\beta}
   &= \Bigl(
         \Psi(N_{kv} + \beta_v)
         - \Psi(\beta_v)
      \Bigr)
      \beta_v
\\
b_{\beta}
   &= \Psi \Bigl(
          N_k + \sum_{v=1}^V \beta_v
      \Bigr)
      - \Psi \Bigl(
          \sum_{v=1}^V \beta_v
        \Bigr)
\\
a_{\gamma}
   &= \Bigl(
         \Psi(M_{ks} + \gamma_s)
         - \Psi(\gamma_s)
      \Bigr)
      \gamma_s
\\
b_{\gamma}
   &= \Psi \Bigl(
          M_k + \sum_{s=1}^S \gamma_s
      \Bigr)
      - \Psi \Bigl(
          \sum_{s=1}^S \gamma_s
        \Bigr)
\\
a_{\eta}
   &= \Bigl(
         \Psi(M_b + \eta)
         - \Psi(\eta)
      \Bigr)
      \eta
\\
b_{\eta}
   &= \Psi(M + 2 \eta)
      - \Psi(2 \eta)
\end{aligned}
\tag{13}

途中式の途中式(クリックで展開)


  • 1: 対数ガンマとディガンマ関数の不等式を用いて、項を置き換える。

  \hat{x} \geq 0 に対して、 x \gt 0 n \geq 0 のとき、次の関係が成り立つ。

 \displaystyle
\begin{aligned}
\frac{\Gamma(x)}{\Gamma(n + x)}
   &\geq
      \frac{\Gamma(\hat{x})}{\Gamma(n + \hat{x})}
      \exp \Bigl(
          (\hat{x} - x) b
      \Bigr)
\\
b  &= \Psi(n + \hat{x})
      - \Psi(\hat{x})
\end{aligned}

 また、 \hat{x} \geq 0 に対して、 n \geq 1 のとき、次の関係が成り立つ。

 \displaystyle
\begin{aligned}
\frac{\Gamma(n + x)}{\Gamma(x)}
   &\geq
      \frac{\Gamma(n + \hat{x})}{\Gamma(\hat{x})}
      \hat{x}^{-a}
      x^a
\\
a  &= \Bigl(
          \Psi(n + \hat{x})
          - \Psi(\hat{x})
      \Bigr)
      \hat{x}
\end{aligned}

 現在の値(中心)  \hat{x} \alpha_k, \beta_v, \gamma_s, \eta、更新後の値(変数)  x \alpha_k^{\mathrm{new}}, \beta_v^{\mathrm{new}}, \gamma_s^{\mathrm{new}}, \eta^{\mathrm{new}} と対応させて下限の式に変形する。


 現在の値を  \alpha_k, \beta_v, \gamma_s, \eta、更新後の値を  \alpha_k^{\mathrm{new}}, \beta_v^{\mathrm{new}}, \gamma_s^{\mathrm{new}}, \eta^{\mathrm{new}} とする(  a, b の添字の  \alpha, \beta, \gamma, \eta は識別用で計算上の意味はない)。周辺尤度に関して  \alpha, \beta, \gamma, \eta の周りでテイラー展開(近似)して下限として用いる。
 下限への変形については「対数ガンマ関数とディガンマ関数の不等式の導出【青トピックモデルのノート】 - からっぽのしょこ」を参照のこと。

  \mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y} の結合周辺分布の下限  G の対数をとり対数下限  F とおく。

 \displaystyle
\begin{aligned}
F  &= \log G
\\
   &= \sum_{d=1}^D \Biggl[
          \log \frac{\Gamma(\sum_{k=1}^K \alpha_k)}{\Gamma(N_d + \sum_{k=1}^K \alpha_k)}
          + (\alpha_k - \alpha_k^{\mathrm{new}})
            b_{\alpha}
      \Biggr.
\\
   &\qquad \qquad
      \Biggl.
          + \sum_{k=1}^K \left\{
              \log \frac{\Gamma(N_{dk} + \alpha_k)}{\Gamma(\alpha_k)}
              - a_{\alpha} \log \alpha_k
              + a_{\alpha} \log \alpha_k^{\mathrm{new}}
          \right\}
      \Biggr]
\\
   &\quad
      + \sum_{d=1}^D \sum_{k=1}^K
          M_{dk} \log \frac{N_{dk}}{N_d}
\\
   &\quad
      + \sum_{k=1}^K \Biggl[
          \log \frac{\Gamma(\sum_{v=1}^V \beta_v)}{\Gamma(N_k + \sum_{v=1}^V \beta_v)}
          + (\beta_v - \beta_v^{\mathrm{new}})
            b_{\beta}
      \Biggr.
\\
   &\qquad \qquad
      \Biggl.
          + \sum_{v=1}^V \left\{
              \log \frac{\Gamma(N_{kv} + \beta_v)}{\Gamma(\beta_v)}
              - a_{\beta} \log \beta_v
              + a_{\beta} \log \beta_v^{\mathrm{new}}
          \right\}
      \Biggr]
\\
   &\quad
      + \sum_{k=0}^K \Biggl[
          \log \frac{\Gamma(\sum_{s=1}^S \gamma_s)}{\Gamma(M_k + \sum_{s=1}^S \gamma_s)}
          + (\gamma_s - \gamma_s^{\mathrm{new}})
            b_{\gamma}
      \Biggr.
\\
   &\qquad \qquad
      \Biggl.
          + \sum_{s=1}^S \left\{
              \log \frac{\Gamma(M_{ks} + \gamma_s)}{\Gamma(\gamma_s)}
              - a_{\gamma} \log \gamma_s
              + a_{\gamma} \log \gamma_s^{\mathrm{new}}
          \right\}
      \Biggr]
\\
   &\quad
      + \log \frac{\Gamma(2 \eta)}{\Gamma(M + 2 \eta)}
      + (2 \eta - 2 \eta^{\mathrm{new}})
        b_{\eta}
\\
   &\qquad
      + \sum_{b \in \{0, 1\}} \left\{
          \log \frac{\Gamma(M_b + \eta)}{\Gamma(\eta)^2}
          - a_{\eta} \log \eta
          + a_{\eta} \log \eta^{\mathrm{new}}
      \right\}
\end{aligned}

  \mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}, \mathbf{R} の結合周辺分布の対数下限の式が得られた。

トピック分布のハイパーパラメータ

  \mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}, \mathbf{R} の結合周辺分布の対数下限  F から  \alpha_k^{\mathrm{new}} に関する項を取り出し(無関係な項を定数  \mathrm{const.} にまとめ)関数  F(\alpha_k^{\mathrm{new}}) とおく。

 \displaystyle
F(\alpha_k^{\mathrm{new}})
    = \sum_{d=1}^D \Bigl\{
          - b_{\alpha} \alpha_k^{\mathrm{new}}
          + a_{\alpha} \log \alpha_k^{\mathrm{new}}
      \Bigr\}
      + \mathrm{const.}

 この式は、トピックモデル(4.5節)と同じ式なので、関数  F(\alpha_k^{\mathrm{new}}) \alpha_k^{\mathrm{new}} に関して微分して解くと、次の式が得られる。

 \displaystyle
\alpha_k^{\mathrm{new}}
    = \alpha_k
      \frac{
          \sum_{d=1}^D
              \Psi(N_{dk} + \alpha_k)
          - D \Psi(\alpha_k)
      }{
          \sum_{d=1}^D
              \Psi(N_d + \sum_{k'=1}^K \alpha_{k'})
          - D \Psi(\sum_{k'=1}^K \alpha_{k'})
      }
\tag{4.16}

  i 回目の更新において、 \alpha_k を更新前の値(  i-1 回目の更新値)  \alpha_k^{(i-1)} \alpha_k^{\mathrm{new}} を更新後の値(  i 回目の更新値)  \alpha_k^{(i)} とする。また、初期値は  \alpha_k^{(0)} とする。

 \displaystyle
\alpha_k^{(i)}
    = \alpha_k^{(i-1)}
      \frac{
          \sum_{d=1}^D
              \Psi \Bigl(
                  N_{dk}^{(i-1)} + \alpha_k^{(i-1)}
              \Bigr)
              - D
                \Psi \Bigl(
                  \alpha_k^{(i-1)}
                \Bigr)
      }{
          \sum_{d=1}^D
              \Psi \Bigl(
                  N_d^{(i-1)}
                  + \sum_{k'=1}^K
                      \alpha_{k'}^{(i-1)}
              \Bigr)
              - D
                \Psi \Bigl(
                  \sum_{k'=1}^K
                      \alpha_{k'}^{(i-1)}
                \Bigr)
      }

 詳しくは「トピックモデルの崩壊型ギブズサンプリングの導出:多様なハイパーパラメータの場合」を参照のこと。
  \alpha_k の更新式が得られた。

単語分布のハイパーパラメータ

  \mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}, \mathbf{R} の結合周辺分布の対数下限  F から  \beta_v^{\mathrm{new}} に関する項を取り出し関数  F(\beta_v^{\mathrm{new}}) とおく。

 \displaystyle
F(\beta_v^{\mathrm{new}})
    = \sum_{k=1}^K \Bigl\{
          - b_{\beta} \beta_v^{\mathrm{new}}
          + a_{\beta} \log \beta_v^{\mathrm{new}}
      \Bigr\}
      + \mathrm{const.}

 この式は、トピックモデル(4.5節)と同じ式なので、関数  F(\beta_v^{\mathrm{new}}) \beta_v^{\mathrm{new}} に関して微分して解くと、次の式が得られる。

 \displaystyle
\beta_v^{\mathrm{new}}
    = \beta_v
      \frac{
          \sum_{k=1}^K
              \Psi(N_{kv} + \beta_v)
          - K \Psi(\beta_v)
      }{
          \sum_{k=1}^K
              \Psi(N_k + \sum_{v'=1}^V \beta_{v'})
          - K \Psi(\sum_{v'=1}^V \beta_{v'})
      }
\tag{4.17}

  i 回目の更新において、 \beta_v を更新前の値(  i-1 回目の更新値)  \beta_v^{(i-1)} \beta_v^{\mathrm{new}} を更新後の値(  i 回目の更新値)  \beta_v^{(i)} とする。また、初期値は  \beta_v^{(0)} とする。

 \displaystyle
\beta_v^{(i)}
    = \beta_v^{(i-1)}
      \frac{
          \sum_{k=1}^K
              \Psi \Bigl(
                  N_{kv}^{(i-1)} + \beta_v^{(i-1)}
              \Bigr)
          - K
            \Psi \Bigl(
              \beta_v^{(i-1)}
            \Bigr)
      }{
          \sum_{k=1}^K
              \Psi \Bigl(
                  N_k^{(i-1)}
                  + \sum_{v'=1}^V
                      \beta_{v'}^{(i-1)}
              \Bigr)
          - K
            \Psi \Bigl(
              \sum_{v'=1}^V
                  \beta_{v'}^{(i-1)}
            \Bigr)
      }

 詳しくは「トピックモデルの崩壊型ギブズサンプリングの導出:多様なハイパーパラメータの場合」を参照のこと。
  \beta_v の更新式が得られた。

補助情報分布のハイパーパラメータ

  \mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}, \mathbf{R} の結合周辺分布の対数下限  F から  \gamma_s^{\mathrm{new}} に関する項を取り出し関数  F(\gamma_s^{\mathrm{new}}) とおく。

 \displaystyle
F(\gamma_s^{\mathrm{new}})
    = \sum_{k=0}^K \Bigl\{
          - b_{\gamma} \gamma_s^{\mathrm{new}}
          + a_{\gamma} \log \gamma_s^{\mathrm{new}}
      \Bigr\}
      + \mathrm{const.}

 この式は、結合トピックモデル(5.1節)の式にトピック  k = 0 を含めた式なので、関数  F(\gamma_s^{\mathrm{new}}) \gamma_s^{\mathrm{new}} に関して微分して解くと、次の式が得られる。

 \displaystyle
\gamma_s^{\mathrm{new}}
    = \gamma_s
      \frac{
          \sum_{k=0}^K
              \Psi(M_{ks} + \gamma_s)
          - K \Psi(\gamma_s)
      }{
          \sum_{k=0}^K
              \Psi(M_k + \sum_{s'=1}^S \gamma_{s'})
          - K \Psi(\sum_{s'=1}^S \gamma_{s'})
      }

  i 回目の更新において、 \gamma_s を更新前の値(  i-1 回目の更新値)  \gamma_s^{(i-1)} \gamma_s^{\mathrm{new}} を更新後の値(  i 回目の更新値)  \gamma_s^{(i)} とする。また、初期値は  \gamma_s^{(0)} とする。

 \displaystyle
\gamma_s^{(i)}
    = \gamma_s^{(i-1)}
      \frac{
          \sum_{k=0}^K
              \Psi \Bigl(
                  M_{ks}^{(i-1)}
                  + \gamma_s^{(i-1)}
              \Bigr)
          - K
            \Psi \Bigl(
              \gamma_s^{(i-1)}
            \Bigr)
      }{
          \sum_{k=0}^K
              \Psi \Bigl(
                  M_k^{(i-1)}
                  + \sum_{s'=1}^S
                      \gamma_{s'}^{(i-1)}
              \Bigr)
          - K
            \Psi \Bigl(
              \sum_{s'=1}^S
                  \gamma_{s'}^{(i-1)}
            \Bigr)
      }

 詳しくは「結合トピックモデルの崩壊型ギブズサンプリングの導出:多様なハイパーパラメータの場合」を参照のこと。
  \gamma_s の更新式が得られた。ただし、補助情報に関するトピックは、 k = 0, 1, 2, \dots, K である。

関係性分布のハイパーパラメータ

  \mathbf{W}, \mathbf{X}, \mathbf{Z}, \mathbf{Y}, \mathbf{R} の結合周辺分布の対数下限  F から  \eta^{\mathrm{new}} に関する項を取り出し関数  F(\eta^{\mathrm{new}}) とおく。

 \displaystyle
F(\eta^{\mathrm{new}})
    = - 2 b_{\eta} \eta^{\mathrm{new}}
      + \sum_{b \in \{0, 1\}}
          a_{\eta} \log \eta^{\mathrm{new}}
      + \mathrm{const.}

 この式は、一様なハイパーパラメータの場合のノイズあり対応トピックモデル(5.3節)と同じ式なので、関数  F(\eta^{\mathrm{new}}) \eta^{\mathrm{new}} に関して微分して解くと、次の式が得られる。

 \displaystyle
\eta^{\mathrm{new}}
    = \eta
      \frac{
          \Psi(M_0 + \eta)
          + \Psi(M_1 + \eta)
          - 2 \Psi(\eta)
      }{
          2 \Psi(M + 2 \eta)
          - 2 \Psi(2 \eta)
      }

  i 回目の更新において、 \eta を更新前の値(  i-1 回目の更新値)  \eta^{(i-1)} \eta^{\mathrm{new}} を更新後の値(  i 回目の更新値)  \eta^{(i)} とする。また、初期値は  \eta^{(0)} とする。

 \displaystyle
\eta^{(i)}
    = \eta^{(i-1)}
      \frac{
          \Psi \Bigl(
              M_0^{(i-1)} + \eta^{(i-1)}
          \Bigr)
          + \Psi \Bigl(
              M_1^{(i-1)} + \eta^{(i-1)}
            \Bigr)
          - 2 \Psi \Bigl(
              \eta^{(i-1)}
            \Bigr)
      }{
          2 \Psi \Bigl(
              M + 2 \eta^{(i-1)}
          \Bigl)
          - 2 \Psi \Bigl(
              2 \eta^{(i-1)}
            \Bigr)
      }

 詳しくは「ノイズあり対応トピックモデルの崩壊型ギブズサンプリングの導出:一様なハイパーパラメータの場合」を参照のこと。
  \eta の更新式が得られた。

 以上で、各分布のハイパーパラメータの更新式が得られた。

スポンサードリンク

事後予測分布の導出

 最後は、各変数の周辺分布を用いて、未知(新規)の各変数の事後予測分布を導出する。

 既存の文書  d において新たに生成される(  N_d+1 番目の)単語(の語彙)を  w_d^{*}、トピックを  z_d^{*}、新たに生成される(  M_d+1 番目の)補助情報(の種類)を  x_d^{*}、トピックを  y_d^{*}、文書内容との関係性を  r^{*} で表す。

トピックの事後予測分布の設定

 単語トピック集合  \mathbf{Z} が与えられたときの文書  d の未知の単語  w_d^{*} のトピック  z_d^{*} の予測分布を求める。

 \displaystyle
p(z_d^{*} = k \mid \mathbf{Z}, \boldsymbol{\alpha})
    = \int
          p(z_d^{*} = k \mid \boldsymbol{\theta}_d)
          p(\boldsymbol{\theta}_d \mid \mathbf{Z}, \boldsymbol{\alpha})
      \mathrm{d} \boldsymbol{\theta}_d

  \boldsymbol{\theta}_d の事後分布を用いた  z_d^{*} の周辺分布である。

トピックの事後予測分布

 この式は、トピックモデル(4.5節)と同じ式なので、 \mathbf{Z} の周辺分布の式(2)を用いて、次の式になる。

 \displaystyle
\begin{aligned}
p(z_d^{*} = k \mid \mathbf{Z}, \boldsymbol{\alpha})
   &= \frac{
          p(z_d^{*} = k, \mathbf{Z} \mid \boldsymbol{\alpha})
      }{
          p(\mathbf{Z} \mid \boldsymbol{\alpha})
      }
\\
   &= \frac{
          N_{dk} + \alpha_k
      }{
          N_d + \sum_{k'=1}^K \alpha_{k'}
      }
    \equiv
        \hat{\theta}_{dk}
\end{aligned}

 詳しくは「トピックモデルの崩壊型ギブズサンプリングの導出:多様なハイパーパラメータの場合」を参照のこと。
  z_d^{*} (に割り当てられるトピック  k )の事後予測分布の式が得られた。この式を  \hat{\theta}_{dk} とおく。

トピック分布のパラメータ

 他のトピックについても同様に求められるので、 z_d^{*} の事後予測分布のパラメータは、次の  K 次元ベクトルになる。

 \displaystyle
\begin{aligned}
\hat{\boldsymbol{\theta}}_d
   &= (\hat{\theta}_{d1}, \hat{\theta}_{d2}, \cdots, \hat{\theta}_{dK})
\\
   &= \left(
          \frac{N_{d1} + \alpha_1}{N_d + \sum_{k=1}^K \alpha_k}, 
          \frac{N_{d2} + \alpha_2}{N_d + \sum_{k=1}^K \alpha_k}, 
          \cdots, 
          \frac{N_{dK} + \alpha_K}{N_d + \sum_{k=1}^K \alpha_k}
      \right)
\end{aligned}

 サンプリングデータ  \mathbf{Z} から推定したトピック分布のパラメータ  \boldsymbol{\theta}_d の推定値と言える。

単語の事後予測分布の設定

 文書集合  \mathbf{W} と単語トピック集合  \mathbf{Z}、未知の単語のトピック  z_d^{*} が与えられたときの未知の単語(の語彙)  w_d^{*} の予測分布を求める。

 \displaystyle
p(w_d^{*} = v \mid \mathbf{W}, z_d^{*} = k, \mathbf{Z}, \boldsymbol{\beta})
    = \int
          p(w_d^{*} = v \mid z_d^{*} = k, \boldsymbol{\phi}_k)
          p(\boldsymbol{\phi}_k \mid \mathbf{W}, \mathbf{Z}, \boldsymbol{\beta})
      \mathrm{d} \boldsymbol{\phi}_k

  \boldsymbol{\phi}_k の事後分布を用いた単語  w_d^{*} の周辺分布である。

単語の事後予測分布の設定

 この式は、トピックモデル(4.5節)と同じ式なので、 \mathbf{W} の周辺分布の式(4.11)を用いて、次の式になる。

 \displaystyle
\begin{aligned}
p(w_d^{*} = v \mid \mathbf{W}, z_d^{*} = k, \mathbf{Z}, \boldsymbol{\beta})
   &= \frac{
          p(w_d^{*} = v, \mathbf{W} \mid z_d^{*} = k, \mathbf{Z}, \boldsymbol{\beta})
      }{
          p(\mathbf{W} \mid \mathbf{Z}, \boldsymbol{\beta})
      }
\\
   &= \frac{
          N_{kv} + \beta_v
      }{
          N_k + \sum_{v'=1}^V \beta_{v'}
      }
    \equiv
        \hat{\phi}_{kv}
\end{aligned}

 詳しくは「トピックモデルの崩壊型ギブズサンプリングの導出:多様なハイパーパラメータの場合」を参照のこと。
  w_d^{*} (に割り当てられる語彙  v )の事後予測分布の式が得られた。この式を  \hat{\phi}_{kv} とおく。

単語分布のパラメータ

 他の語彙についても同様に求められるので、 w_d^{*} の事後予測分布のパラメータは、次の  V 次元ベクトルになる。

 \displaystyle
\begin{aligned}
\hat{\boldsymbol{\phi}}_k
   &= (\hat{\phi}_{k1}, \hat{\phi}_{k2}, \cdots, \hat{\phi}_{kV})
\\
   &= \left(
          \frac{N_{k1} + \beta_1}{N_k + \sum_{v=1}^V \beta_v}, 
          \frac{N_{k2} + \beta_2}{N_k + \sum_{v=1}^V \beta_v}, 
          \cdots, 
          \frac{N_{kV} + \beta_V}{N_k + \sum_{v=1}^V \beta_v}
      \right)
\end{aligned}

 観測・サンプリングデータ  \mathbf{W}, \mathbf{Z} から推定した単語分布のパラメータ  \boldsymbol{\phi}_k の推定値と言える。

補助情報分布のパラメータの設定

 補助情報集合  \mathbf{X} と補助情報トピック集合  \mathbf{Y}、関係性集合  \mathbf{R}、未知の補助情報のトピック  y_d^{*}、文書内容との関係性  r^{*} が与えられたときの未知の補助情報(の種類)  x_d^{*} の予測分布を求める。

 文書内容と関係がない場合(  r_{dm} = 0 のとき)に関して、 x_d^{*} の事後予測分布は次の式で求められる。

 \displaystyle
\begin{align}
p(x_d^{*} = s \mid \mathbf{X}, y_d^{*}, \mathbf{Y}, r^{*} = 0, \mathbf{R}, \boldsymbol{\gamma})
   &= \int
          p(
              x_d^{*} = s, \boldsymbol{\psi}_0
          \mid
              \mathbf{X}, y_d^{*}, \mathbf{Y}, r^{*} = 0, \mathbf{R}, 
              \boldsymbol{\psi}_0, \boldsymbol{\gamma}
          )
      \mathrm{d} \boldsymbol{\psi}_0
\\
   &= \int
          p(x_d^{*} = s \mid y_d^{*}, r^{*} = 0, \boldsymbol{\psi}_0)
          p(\boldsymbol{\psi}_0 \mid \mathbf{X}, \mathbf{Y}, \mathbf{R}, \boldsymbol{\gamma})
      \mathrm{d} \boldsymbol{\psi}_0
\tag{14}
\end{align}

  \boldsymbol{\psi}_0 の事後分布を用いた補助情報  x_d^{*} の周辺分布である。

 また、文書内容と関係がある場合(  r_{dm} = 1 のとき)に関して、 x_d^{*} の事後予測分布は次の式で求められる。

 \displaystyle
\begin{aligned}
p(x_d^{*} = s \mid \mathbf{X}, y_d^{*} = k, \mathbf{Y}, r^{*} = 1, \mathbf{R}, \boldsymbol{\gamma})
   &= \int
          p(
              x_d^{*} = s, \boldsymbol{\psi}_k
          \mid
              \mathbf{X}, y_d^{*} = k, \mathbf{Y}, r^{*} = 1, \mathbf{R}, 
              \boldsymbol{\psi}_k, \boldsymbol{\gamma}
          )
      \mathrm{d} \boldsymbol{\psi}_k
\\
   &= \int
          p(x_d^{*} = s \mid y_d^{*} = k, r^{*} = 1, \boldsymbol{\psi}_k)
          p(\boldsymbol{\psi}_k \mid \mathbf{X}, \mathbf{Y}, \mathbf{R}, \boldsymbol{\gamma})
      \mathrm{d} \boldsymbol{\psi}_k
\end{aligned}

  \boldsymbol{\psi}_k の事後分布を用いた補助情報  x_d^{*} の周辺分布である。

補助情報の事後予測分布

 文書内容と関係がない場合の  x_d^{*} の事後予測分布の式(14)は、結合トピックモデル(5.1節)の式をトピックが  k = 0 とした場合と言えるので、 \mathbf{X} の周辺分布の式(3)を用いて、次の式になる。

 \displaystyle
\begin{aligned}
p(x_d^{*} = s \mid \mathbf{X}, y_d^{*}, \mathbf{Y}, r^{*} = 0, \mathbf{R}, \boldsymbol{\gamma})
   &= \frac{
          p(x_d^{*} = s, \mathbf{X} \mid y_d^{*}, \mathbf{Y}, r^{*} = 0, \mathbf{R}, \boldsymbol{\gamma})
      }{
          p(\mathbf{X} \mid \mathbf{Y}, \mathbf{R}, \boldsymbol{\gamma})
      }
\\
   &= \frac{
          M_{0s} + \gamma_s
      }{
          M_0 + \sum_{s'=1}^S \gamma_{s'}
      }
    \equiv
        \hat{\psi}_{0s}
\end{aligned}

  k = 0 に関しての  x_d^{*} (に割り当てられる種類  s )の事後予測分布の式が得られた。この式を  \hat{\psi}_{0s} とおく。

 また、文書内容と関係がある場合の  x_d^{*} の事後予測分布の式(15)は、結合トピックモデル(5.1節)と同じ式なので、 \mathbf{X} の周辺分布の式(3)を用いて、次の式になる。

 \displaystyle
\begin{aligned}
p(x_d^{*} = s \mid \mathbf{X}, y_d^{*} = k, \mathbf{Y}, r^{*} = 1, \mathbf{R}, \boldsymbol{\gamma})
   &= \frac{
          p(x_d^{*} = s, \mathbf{X} \mid y_d^{*} = k, \mathbf{Y}, r^{*} = 1, \mathbf{R}, \boldsymbol{\gamma})
      }{
          p(\mathbf{X} \mid \mathbf{Y}, \mathbf{R}, \boldsymbol{\gamma})
      }
\\
   &= \frac{
          M_{ks} + \gamma_s
      }{
          M_k + \sum_{s'=1}^S \gamma_{s'}
      }
    \equiv
        \hat{\psi}_{ks}
\end{aligned}

  k = 1, \dots, K に関しての  x_d^{*} (に割り当てられる種類  s )の事後予測分布の式が得られた。この式を  \hat{\psi}_{ks} とおく。

 詳しくは「結合トピックモデルの崩壊型ギブズサンプリングの導出:多様なハイパーパラメータの場合」を参照のこと。
 全てのトピック  k = 0, 1, 2, \dots, K に関して同じ形状の式になることが分かった。

補助情報分布のパラメータ

 他の種類についても同様に求められるので、 x_d^{*} の事後予測分布のパラメータは、次の  S 次元ベクトルになる。

 \displaystyle
\begin{aligned}
\hat{\boldsymbol{\psi}}_k
   &= (\hat{\psi}_{k1}, \hat{\psi}_{k2}, \cdots, \hat{\psi}_{kS})
\\
   &= \left(
          \frac{M_{k1} + \gamma_1}{M_k + \sum_{s=1}^S \gamma_s}, 
          \frac{M_{k2} + \gamma_2}{M_k + \sum_{s=1}^S \gamma_s}, 
          \cdots, 
          \frac{M_{kS} + \gamma_S}{M_k + \sum_{s=1}^S \gamma_s}
      \right)
\end{aligned}

 観測・サンプリングデータ  \mathbf{X}, \mathbf{Y}, \mathbf{R} から推定した補助情報分布のパラメータ  \boldsymbol{\psi}_k の推定値と言える。ただし、補助情報に関するトピックは  k = 0, 1, 2, \dots, K である。

関係性の事後予測分布の設定

 関係性集合  \mathbf{R} が与えられたときの未知の補助情報の文書内容との関係性(の有無)  r^{*} の予測分布を求める。

 \displaystyle
p(r^{*} = b \mid \mathbf{R}, \eta)
    = \int
          p(r^{*} = b \mid \lambda)
          p(\lambda \mid \mathbf{R}, \eta)
      \mathrm{d} \lambda

  \lambda の事後分布を用いた関係性  r^{*} の周辺分布である。

関係性の事後予測分布

 この式は、一様なハイパーパラメータの場合のノイズあり対応トピックモデル(5.3節)と同じ式なので、 \mathbf{R} の周辺分布の式(4)を用いて、次の式になる。  

 \displaystyle
\begin{aligned}
p(r^{*} = b \mid \mathbf{R}, \eta)
   &= \frac{
          p(r^{*} = b, \mathbf{R} \mid \eta)
      }{
          p(\mathbf{R} \mid \eta)
      }
\\
   &= \frac{
          M_b + \eta
      }{
          M + 2 \eta
      }
    \equiv
      \hat{\lambda}_b
\end{aligned}

 詳しくは「ノイズあり対応トピックモデルの崩壊型ギブズサンプリングの導出:一様なハイパーパラメータの場合」を参照のこと。
  r^{*} (に割り当てられる関係の有無  b ) の事後周辺分布の式が得られた。この式を  \hat{\lambda}_b とおく。

関係性分布のパラメータ

 関係の有無のどちらについても同様に求められるので、次の  2 次元ベクトルにまとめられる。

 \displaystyle
\begin{aligned}
\hat{\boldsymbol{\lambda}}
   &= (\hat{\lambda}_0, \hat{\lambda}_1)
\\
   &= \left(
          \frac{M_0 + \eta}{M + 2 \eta}, 
          \frac{M_1 + \eta}{M + 2 \eta}
      \right)
\end{aligned}

 サンプリングデータ  \mathbf{R} から推定した  (1 - \lambda, \lambda) の推定値と言える。

  \hat{\lambda}_0 + \hat{\lambda}_1 = 1 であり  \hat{\lambda}_0 = 1 - \hat{\lambda}_1 なので、 \hat{\lambda} = \hat{\lambda}_1 とおくと、 r^{*} の事後予測分布のパラメータは、次の式になる。

 \displaystyle
\hat{\lambda}
    = \frac{
          M_1 + \eta
      }{
          M + 2 \eta
      }
    = \frac{
          M - M_0 + \eta
      }{
          M + 2 \eta
      }

 サンプリングデータ  \mathbf{R} から推定した関係性分布のパラメータ  \lambda の推定値と言える。

 以上で、各変数の事後予測分布の式と、各分布のパラメータの推定値の計算式が得られた。

 この節では、ノイズあり対応トピックモデルを扱った。次の節では、著者トピックモデルを扱う。

参考書籍

おわりに

 大体書けたと思ったので諸事情のため冒頭部分のみを先に10月19日に投稿して数日中に完成させるつもりでいたのですが、理解できていない部分(前や前々の記事を参照)があることに気付いてなんやかんやで書き終わったのは12月19日でした。
 でも改めて完成版を読み返すと、この記事で導出しているのは2か所だけでほとんど他の記事で導出済みなのでは。いやいや、各節(モデル)との対応関係を整理するだけでも大変だったんですよ。この2か月で理解が深まったことで前回(一様版)の記事の文量が増えて今回(多様版)の記事の文量は減りましたね。これでも文量は減ったんです。
 5章ではこのモデルが一番の山なのでこれを超えればなんとかなるんじゃないでしょうか。私の復習はまだ進んでいませんが。

 これでこの2か月間ずっと頭の片隅にあったもやもやが晴れて他のことに取り組めます。

 2024年10月19日は、BEYOOOOONDSの結成6周年の日でした。

 7年目は体制など変化の年になりそうですが、これからもビヨらしく活動してほしいな。

  • 2025.05.22:加筆修正しました。

 5章までのギブスサンプリング数式編の記事の加筆修正が済んだので、全体の構成を統一するために再度調整しました。
 もやもやが晴れても次のもやもやが湧いてくるんだよね。残りの2モデルの復習で生じたもやもやも解消して今は晴れやかな気分です、今はね。でももやもやが無くなったら勉強を止めるときだと思う。

【次節の内容】

  • 数式読解編

 著者トピックモデルの生成モデルを数式で確認します。

www.anarchive-beta.com