からっぽのしょこ

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

5.2:対応トピックモデルの生成モデルの導出【青トピックモデルのノート】

はじめに

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

 この記事では、対応トピックモデルで登場する数式の行間を埋めます。

【前節の内容】

www.anarchive-beta.com

【他の節の内容】

www.anarchive-beta.com

【この節の内容】

5.2 対応トピックモデルの生成モデルの導出

 文書集合(単語情報)と依存関係のある補助情報を扱う対応トピックモデル(correspondence topic model)の定義(仮定)を確認する。
 トピックモデルの定義や共通する記号類については「4.1:トピックモデルの生成モデルの導出【青トピックモデルのノート】 - からっぽのしょこ」、依存関係のない場合については「5.1:結合トピックモデルの生成モデルの導出【青トピックモデルのノート】 - からっぽのしょこ」を参照のこと。

生成過程の設定

 まずは、対応トピックモデルの生成過程(generative process)を数式で確認する。アルゴリズムについては図5.5を参照のこと。

 文書  d の補助情報数を  M_d、補助情報番号(インデックス)を  m \in \{1, 2, \dots, M_d\} とする。
 補助情報の種類(ユニーク補助情報)数を  S、種類番号を  s \in \{1, 2, \dots, S\} とする。

 文書  d に含まれる(出現した)  m 番目の補助情報を  x_{dm} で表す。各補助情報  x_{dm} の値として種類番号  s をとることで、その補助情報の種類を表す。

 \displaystyle
x_{dm} \in \{1, 2, \dots, S\}

 また、補助情報  x_{dm} が種類  s であることを明示的に  x_{dm} = s と書くこともある。
  M_d 個の補助情報を集合  \mathbf{x}_d として扱い、文書  d の補助情報集合と呼ぶ。

 \displaystyle
\mathbf{x}_d
    = \{x_{d1}, x_{d2}, \cdots, x_{dM_d}\}

 文書ごとに補助情報集合を持ち、 D 個の補助情報集合を集合  \mathbf{X} として扱い、補助情報集合と呼ぶ。

 \displaystyle
\mathbf{X}
    = \{\mathbf{x}_1, \mathbf{x}_2, \cdots, \mathbf{x}_D\}


 補助情報  x_{dm} が持つ(割り当てられた)トピックを  y_{dm} で表す。各補助情報のトピック  y_{dm} の値としてトピック番号  k をとることで、その補助情報のトピックを表す。

 \displaystyle
y_{dm} \in \{1, 2, \dots, K\}

 また、補助情報のトピック  y_{dm} k であることを明示的に  y_{dm} = k と書くこともある。
 文書  d M_d 個の補助情報のトピックを集合  \mathbf{y}_d として扱い、文書  d の補助情報トピック集合と呼ぶ。

 \displaystyle
\mathbf{y}_d
    = \{y_{d1}, y_{d2}, \cdots, y_{dM_d}\}

 文書ごとに補助情報トピック集合を持ち、 D 個の補助情報トピック集合を集合  \mathbf{Y} として扱い、補助情報トピック集合と呼ぶ。

 \displaystyle
\mathbf{Y}
    = \{\mathbf{y}_1, \mathbf{y}_2, \cdots, \mathbf{y}_D\}

 トピックは観測できないデータであるため潜在変数や潜在トピックとも呼ばれる。

 各文書の単語トピック集合  \mathbf{z}_d (  N_d 個の単語に割り当てられたトピック)におけるトピックごとの割合をまとめて、 K 次元ベクトル  \bar{\boldsymbol{\theta}}_d とする。

 \displaystyle
\begin{aligned}
\bar{\theta}_{dk}
   &= \frac{N_{dk}}{N_d}
\\
\bar{\boldsymbol{\theta}}_d
   &= (\bar{\theta}_{d1}, \bar{\theta}_{d2}, \cdots, \bar{\theta}_{dK})
\\
   &= \left(
          \frac{N_{d1}}{N_d}, \frac{N_{d2}}{N_d}, \cdots, \frac{N_{dK}}{N_d}
      \right)
\end{aligned}

  \bar{\theta}_{dk} は、文書  d の補助情報  x_{dm} にトピック  k が生成される(割り当てられる)確率に対応する。
  \bar{\boldsymbol{\theta}}_d の各要素は、非負の分子(各トピックの単語数)の総和が分母(全トピックの単語数)と一致  N_d = \sum_{k=1}^K N_{dk} するので、カテゴリ分布のパラメータの条件(非負の値で総和が1になる値)を満たす。

 \displaystyle
0 \leq \bar{\theta}_{dk} \leq 1
,\ 
\sum_{k=1}^K
    \bar{\theta}_{dk}
    = 1

  \bar{\boldsymbol{\theta}}_d は文書  d の補助情報トピック分布のパラメータと言え、カテゴリ分布のパラメータとして用いる。
 各補助情報のトピック  y_{dm} は、 \bar{\boldsymbol{\theta}}_d をパラメータとするカテゴリ分布に従って独立に生成されると仮定する。

 \displaystyle
y_{dm}
    \sim
      \mathrm{Categorical}(\bar{\boldsymbol{\theta}}_d)

 文書中の単語に割り当てられなかった(  N_{dj} = 0 の)トピック  j は、対応するパラメータ(生成確率)が  \bar{\theta}_{dj} = 0 なので、補助情報のトピックとして生成されない。単語トピックとして割り当てられた数が多いほど、パラメータが大きく(生成確率が高く)なるので、補助情報トピックとし生成されやすくなる。

 トピック  k の補助情報に対して種類(内容)  s が生成される(出現する)確率を  \psi_{ks} で表す。
 各種類に対応する  S 個の生成確率をまとめて、 S 次元ベクトル  \boldsymbol{\psi}_k で表す。

 \displaystyle
\boldsymbol{\psi}_k
    = (\psi_{k1}, \psi_{k2}, \cdots, \psi_{kS})

  \boldsymbol{\psi}_k の各要素は確率なので、それぞれ非負の値であり、総和(全ての種類に関する和)が1になる条件を満たす必要がある。

 \displaystyle
0 \leq \psi_{ks} \leq 1
,\ 
\sum_{s=1}^S
    \psi_{sk}
    = 1

  \boldsymbol{\psi}_k をトピック  k の補助情報分布のパラメータと呼び、カテゴリ分布のパラメータとして用いる。
 トピックごとに補助情報分布(のパラメータ)を持ち、 K 個のパラメータを集合  \boldsymbol{\Psi} として扱い、補助情報分布のパラメータ集合と呼ぶ。

 \displaystyle
\boldsymbol{\Psi}
    = \{\boldsymbol{\psi}_1, \boldsymbol{\psi}_2, \cdots, \boldsymbol{\psi}_K\}


 また、補助情報分布のパラメータ  \boldsymbol{\psi}_k (  \boldsymbol{\Psi} の各要素)は、 \boldsymbol{\gamma} をパラメータとするディリクレ分布に従って独立に生成されると仮定する。

 \displaystyle
\boldsymbol{\psi}_k
    \sim
      \mathrm{Dirichlet}(\boldsymbol{\gamma})

 ディリクレ分布の確率変数は、カテゴリ分布のパラメータの条件(非負の値で総和が1になる値)を満たす。
  \boldsymbol{\gamma} S 次元ベクトルであり、補助情報分布のハイパーパラメータ(超パラメータ)と呼ぶ。

 \displaystyle
\boldsymbol{\gamma}
    = (\gamma_1, \gamma_2, \cdots, \gamma_S)

  \boldsymbol{\gamma} はディリクレ分布のパラメータなので、各要素は非負の値の条件を満たす必要がある。

 \displaystyle
\gamma_s \gt 0

  \gamma_s \psi_{1s}, \psi_{2s}, \cdots, \psi_{Ks} に影響する。

 各補助情報  x_{dm} の種類(内容)は、補助情報に割り当てられたトピックに応じた  \boldsymbol{\psi}_{y_{dm}} をパラメータとするカテゴリ分布に従って独立に生成されると仮定する。

 \displaystyle
x_{dm}
    \sim
      \mathrm{Categorical}(\boldsymbol{\psi}_{y_{dm}})

 文書集合  \mathbf{W} とも独立して生成される。

 以上で、対応トピックモデルの生成過程(定義・仮定)を確認した。生成過程は、変数やパラメータ間の依存関係であり、生成モデルや推論アルゴリズムの導出でも用いる。

記号一覧

 続いて、トピックモデル(4章)に加えて対応トピックモデル(5.2節)で用いる記号類を表にまとめる。

記号 意味 制約・関係性
 S 補助情報の種類数  S \geq M_d
 s \in \{1, 2, \dots, S\} 補助情報の種類(ユニーク補助情報)インデックス
 M_d 文書  d の補助情報数  M_d = \sum_{k=1}^K M_{dk}
 M_k 全文書におけるトピック  k の補助情報数  M_k = \sum_{d=1}^D M_{dk} = \sum_{s=1}^S M_{ks}
 M_{dk} 文書  d におけるトピック  k の補助情報数
 M_{ks} トピック  k における種類  s の補助情報数
 m \in \{1, 2, \dots, M_d\} 文書  d の補助情報インデックス
 \mathbf{X} = \{\mathbf{x}_1, \cdots, \mathbf{x}_d, \cdots, \mathbf{x}_D\} 補助情報集合
 \mathbf{x}_d = \{x_{d1}, \cdots, x_{dm}, \cdots, x_{dM_d}\} 文書  d の補助情報集合
 x_{dm} \in \{1, 2, \cdots, S\} 文書  d m 番目の補助情報  x_{dm} \sim \mathrm{Cat}(\boldsymbol{\psi}_{y_{dm}})
 \mathbf{Y} = \{\mathbf{y}_1, \cdots, \mathbf{y}_d, \cdots, \mathbf{y}_D\} 補助情報トピック集合
 \mathbf{y}_d = \{y_{d1}, \cdots, y_{dm}, \cdots, y_{dM_d}\} 文書  d の補助情報トピック集合
 y_{dm} \in \{1, 2, \cdots, K\} 補助情報  x_{dm} のトピック  y_{dm} \sim \mathrm{Cat}(\bar{\boldsymbol{\theta}}_d)
 \bar{\boldsymbol{\theta}}_d = (\bar{\theta}_{d1}, \cdots, \bar{\theta}_{dk}, \cdots, \bar{\theta}_{dK}) 文書  d の補助情報トピック分布のパラメータ
 \bar{\theta}_{dk} = \frac{N_{dk}}{N_d} 文書  d における補助情報に対するトピック  k の生成確率  \bar{\theta}_{dk} \geq 0, \sum_{k=1}^K \bar{\theta}_{dk} = 1
 \boldsymbol{\Psi} = \{\boldsymbol{\psi}_1, \cdots, \boldsymbol{\psi}_k, \cdots, \boldsymbol{\psi}_K\} 補助情報分布のパラメータ集合
 \boldsymbol{\psi}_k = (\psi_{k1}, \cdots, \psi_{ks}, \cdots, \psi_{kS}) トピック  k の補助情報分布のパラメータ  \boldsymbol{\psi}_k \sim \mathrm{Dir}(\boldsymbol{\gamma})
 \psi_{ks} トピック  k における種類  s の生成確率  \psi_{ks} \geq 0, \sum_{s=1}^S \psi_{ks} = 1
 \boldsymbol{\gamma} = (\gamma_1, \cdots, \gamma_s, \cdots, \gamma_S) 補助情報分布のハイパーパラメータ
 \gamma_s  \psi_{ks}\ (k = 1, \dots, K) に影響する値  \gamma_s \gt 0

 ハイパーパラメータ  \boldsymbol{\gamma} が一様な(全て同じ)値の場合  \gamma_1 = \cdots = \gamma_S = \gamma はスカラ  \gamma で表す。
 補助情報トピック集合  \mathbf{Y} に対して、 \mathbf{Z} を単語トピック集合と呼ぶ。

 以上の記号を用いて、対応トピックモデルやその推論アルゴリズムを定義する。

尤度関数の導出

 次は、対応トピックモデルにおける尤度関数(likelihood function)を数式で確認する。

 パラメータ  \boldsymbol{\Theta}, \boldsymbol{\Phi}, \boldsymbol{\Psi} が与えられた(条件とする)ときの観測データ  \mathbf{W}, \mathbf{X} の生成確率(結合分布)は、生成過程(依存関係)に従い次のように変形できる。

 \displaystyle
\begin{aligned}
p(\mathbf{W}, \mathbf{X} \mid \boldsymbol{\Theta}, \boldsymbol{\Phi}, \boldsymbol{\Psi})
   &= \prod_{d=1}^D
          p(\mathbf{w}_d, \mathbf{x}_d \mid \boldsymbol{\theta}_d, \boldsymbol{\Phi}, \boldsymbol{\Psi})
\\
   &= \prod_{d=1}^D \sum_{\mathbf{z}_d}
          p(\mathbf{w}_d, \mathbf{x}_d, \mathbf{z}_d \mid \boldsymbol{\theta}_d, \boldsymbol{\Phi}, \boldsymbol{\Psi})
\\
   &= \prod_{d=1}^D \sum_{\mathbf{z}_d} \Bigl[
          p(\mathbf{z}_d \mid \boldsymbol{\theta}_d)
          p(\mathbf{w}_d \mid \mathbf{z}_d, \boldsymbol{\Phi})
          p(\mathbf{x}_d \mid \mathbf{z}_d, \boldsymbol{\Psi})
      \Bigr]
\\
   &= \prod_{d=1}^D \sum_{\mathbf{z}_d} \left[
          \prod_{n=1}^{N_d} \Bigl\{
              p(z_{dn} \mid \boldsymbol{\theta}_d)
              p(w_{dn} \mid \boldsymbol{\phi}_{z_{dn}})
          \Bigr\}
          \left\{ \prod_{m=1}^{M_d}
              p(x_{dm} \mid \mathbf{z}_d, \boldsymbol{\Psi})
          \right\}
      \right]
\\
   &= \prod_{d=1}^D \sum_{\mathbf{z}_d} \left[
          \prod_{n=1}^{N_d} \Bigl\{
              p(z_{dn} \mid \boldsymbol{\theta}_d)
              p(w_{dn} \mid \boldsymbol{\phi}_{z_{dn}})
          \Bigr\}
          \left\{ \prod_{m=1}^{M_d} \sum_{k=1}^K
              p(x_{dm}, y_{dm} = k \mid \mathbf{z}_d, \boldsymbol{\psi}_k)
          \right\}
      \right]
\\
   &= \prod_{d=1}^D \sum_{\mathbf{z}_d} \left[
          \prod_{n=1}^{N_d} \Bigl\{
              p(z_{dn} \mid \boldsymbol{\theta}_d)
              p(w_{dn} \mid \boldsymbol{\phi}_{z_{dn}})
          \Bigr\}
          \prod_{m=1}^{M_d} \sum_{k=1}^K \Bigl\{
              p(y_{dm} = k \mid \mathbf{z}_d)
              p(x_{dm} \mid y_{dm} = k, \boldsymbol{\psi}_k)
          \Bigr\}
      \right]
\end{aligned}

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


  • 1: 文書ごとの積に分解する。
  • 2: 周辺化された潜在変数  \mathbf{z}_d を明示する。
  • 3: 観測・潜在変数  \mathbf{w}_d, \mathbf{x}_d, \mathbf{z}_d の項を分割する。
  • 4: 単語・補助情報ごとの積に分解する。
  • 5: 周辺化された潜在変数  y_{dm} を明示する。
  • 6: 補助情報に関する変数  x_{dm}, y_{dm} の項を分割する。

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

 \displaystyle
\begin{aligned}
p(\mathbf{W}, \mathbf{X} \mid \boldsymbol{\Theta}, \boldsymbol{\Phi}, \boldsymbol{\Psi})
   &= \prod_{d=1}^D \sum_{\mathbf{z}_d} \left[
          \prod_{n=1}^{N_d} \Bigl\{
              \theta_{dz_{dn}}
              \phi_{z_{dn}w_{dn}}
          \Bigr\}
          \prod_{m=1}^{M_d} \sum_{k=1}^K \left\{
              \frac{N_{dk}}{N_d}
              \psi_{kx_{dm}}
          \right\}
      \right]
\\
   &= \prod_{d=1}^D \sum_{\mathbf{z}_d} \left[
          \prod_{v=1}^V \Bigl\{
              \theta_{dz_{dn}}
              \phi_{z_{dn}v}
          \Bigr\}^{N_{dv}}
          \prod_{s=1}^S \Bigl\{
              \sum_{k=1}^K
                  \frac{N_{dk}}{N_d}
                  \psi_{ks}
          \Bigr\}^{M_{ds}}
      \right]
\end{aligned}

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


  • 1: それぞれカテゴリ分布を仮定しているので、各変数がとる値(インデックス)のパラメータが生成確率に対応する。
 \displaystyle
\begin{aligned}
p(z_{dn} \mid \boldsymbol{\theta}_d)
   &= \mathrm{Cat}(z_{dn} \mid \boldsymbol{\theta}_d)
    = \theta_{dz_{dn}}
\\
p(w_{dn} \mid \boldsymbol{\phi}_{z_{dn}})
   &= \mathrm{Cat}(w_{dn} \mid \boldsymbol{\phi}_{z_{dn}})
    = \phi_{z_{dn}w_{dn}}
\\
p(y_{dm} = k \mid \mathbf{z}_d)
   &= \mathrm{Cat}(k \mid \bar{\boldsymbol{\theta}}_d)
    = \bar{\theta}_{dk}
    = \frac{N_{dk}}{N_d}
\\
p(x_{dm} \mid y_{dm} = k, \boldsymbol{\psi}_k)
   &= \mathrm{Cat}(x_{dm} \mid \boldsymbol{\psi}_k)
    = \psi_{kx_{dn}}
\end{aligned}
  • 2: 単語番号  n を用いた式から、語彙番号  v を用いた式に変換する。 N_d 個の単語に対応するパラメータ  \sum_{k=1}^K \theta_{dz_{dn}} \phi_{z_{dn}w_{dn}} について、各単語に割り当てられた語彙番号  w_{dn} = v を用いてトピックごとにまとめると、 N_{dv} 個の  \sum_{k=1}^K \theta_{dz_{dn}} \phi_{z_{dn}v} に置き換えられる。
  • 2: 補助情報番号  m を用いた式から、補助情報の種類番号  s を用いた式に変換する。 M_d 個の補助情報に対応するパラメータ  \sum_{k=1}^K \bar{\theta}_{dk} \psi_{kx_{dm}} について、各補助情報に割り当てられた種類番号  x_{dm} = s を用いてトピックごとにまとめると、 M_{ds} 個の  \sum_{k=1}^K \bar{\theta}_{dk} \psi_{ks} に置き換えられる。

 ここで、 \sum_{\mathbf{z}_d} \equiv \sum_{z_{d1}=1}^K, \sum_{z_{d2}=1}^K, \cdots, \sum_{z_{dN_d}=1}^K は、全ての単語トピックの組み合わせに関する和を表す。
 トピック分布・単語分布・補助情報分布のパラメータ(と語彙頻度・補助情報頻度)を用いた式が得られた。

生成モデルの導出

 続いて、対応トピックモデルの生成モデル(generative model)を数式で確認する。

 観測変数  \mathbf{W}, \mathbf{X}、潜在変数  \mathbf{Z}, \mathbf{Y}、パラメータ  \boldsymbol{\Theta}, \boldsymbol{\Phi}, \boldsymbol{\Psi}、ハイパーパラメータ  \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma} をそれぞれ確率変数とする結合分布(同時分布)は、生成過程(依存関係)に従い次のように変形できる。

 \displaystyle
\begin{aligned}
p(
    \mathbf{W}, \mathbf{X}, 
    \mathbf{Z}, \mathbf{Y}, 
    \boldsymbol{\Theta}, \boldsymbol{\Phi}, \boldsymbol{\Psi}, 
    \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}
)
   &= p(\mathbf{W} \mid \mathbf{Z}, \boldsymbol{\Phi})
      p(\mathbf{Z} \mid \boldsymbol{\Theta})
      p(\mathbf{X} \mid \mathbf{Y}, \boldsymbol{\Psi})
      p(\mathbf{Y} \mid \mathbf{Z})
      p(\boldsymbol{\Theta} \mid \boldsymbol{\alpha})
      p(\boldsymbol{\alpha})
\\
   &\qquad
      * p(\boldsymbol{\Phi} \mid \boldsymbol{\beta})
      p(\boldsymbol{\beta})
      p(\boldsymbol{\Psi} \mid \boldsymbol{\gamma})
      p(\boldsymbol{\gamma})
\\
   &= \prod_{d=1}^D \Bigl[
          p(\mathbf{w}_d \mid \mathbf{z}_d, \boldsymbol{\Phi})
          p(\mathbf{z}_d \mid \boldsymbol{\theta}_d)
          p(\mathbf{x}_d \mid \mathbf{y}_d, \boldsymbol{\Psi})
          p(\mathbf{y}_d \mid \mathbf{z}_d)
          p(\boldsymbol{\theta}_d \mid \boldsymbol{\alpha})
      \Bigr]
      p(\boldsymbol{\alpha})
\\
   &\qquad *
      \prod_{k=1}^K \Bigl\{
          p(\boldsymbol{\phi}_k \mid \boldsymbol{\beta})
          p(\boldsymbol{\psi}_k \mid \boldsymbol{\gamma})
      \Bigr\}
      p(\boldsymbol{\beta})
      p(\boldsymbol{\gamma})
\\
   &= \prod_{d=1}^D \left[
          \prod_{n=1}^{N_d} \Bigl\{
              p(w_{dn} \mid \boldsymbol{\phi}_{z_{dn}})
              p(z_{dn} \mid \boldsymbol{\theta}_d)
          \Bigr\}
          \prod_{m=1}^{M_d} \Bigl\{
              p(x_{dm} \mid \boldsymbol{\psi}_{y_{dm}})
              p(y_{dm} \mid \mathbf{z}_d)
          \Bigr\}
          p(\boldsymbol{\theta}_d \mid \boldsymbol{\alpha})
      \right]
      p(\boldsymbol{\alpha})
\\
   &\qquad *
      \prod_{k=1}^K \Bigl\{
          p(\boldsymbol{\phi}_k \mid \boldsymbol{\beta})
          p(\boldsymbol{\psi}_k \mid \boldsymbol{\gamma})
      \Bigr\}
      p(\boldsymbol{\beta})
      p(\boldsymbol{\gamma})
\end{aligned}

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


  • 1: 変数やパラメータごとの項に分割する。

 観測変数、潜在変数、パラメータ、ハイパーパラメータごとに項を分割する。

 \displaystyle
\begin{aligned}
p(
    \mathbf{W}, \mathbf{X}, 
    \mathbf{Z}, \mathbf{Y}, 
    \boldsymbol{\Theta}, \boldsymbol{\Phi}, \boldsymbol{\Psi}, 
    \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}
)
   &= p(
          \mathbf{W}, \mathbf{X}, 
          \mathbf{Z}, \mathbf{Y}, 
          \boldsymbol{\Theta}, \boldsymbol{\Phi}, \boldsymbol{\Psi}
      \mid 
          \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}
      )
      p(\boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma})
\\
   &= p(
          \mathbf{W}, \mathbf{X}, 
          \mathbf{Z}, \mathbf{Y}
      \mid 
          \boldsymbol{\Theta}, \boldsymbol{\Phi}, \boldsymbol{\Psi}
      )
      p(
          \boldsymbol{\Theta}, \boldsymbol{\Phi}, \boldsymbol{\Psi}
      \mid 
          \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}
      )
      p(\boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma})
\\
   &= p(
          \mathbf{W}, \mathbf{X}
      \mid
          \mathbf{Z}, \mathbf{Y}, 
          \boldsymbol{\Phi}, \boldsymbol{\Psi}
      )
      p(\mathbf{Z}, \mathbf{Y} \mid \boldsymbol{\Theta})
      p(
          \boldsymbol{\Theta}, \boldsymbol{\Phi}, \boldsymbol{\Psi}
      \mid 
          \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}
      )
      p(\boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma})
\end{aligned}

 さらに1つ目の項の、独立な観測変数の項を分割する。

 \displaystyle
p(
    \mathbf{W}, \mathbf{X}
\mid
    \mathbf{Z}, \mathbf{Y}, \boldsymbol{\Phi}, \boldsymbol{\Psi}
)
    = p(\mathbf{W} \mid \mathbf{Z}, \boldsymbol{\Phi})
      p(\mathbf{X} \mid \mathbf{Y}, \boldsymbol{\Psi})

 2つ目の項の、依存関係のある潜在変数の項を分割する。

 \displaystyle
p(\mathbf{Z}, \mathbf{Y} \mid \boldsymbol{\Theta})
    = p(\mathbf{Y} \mid \mathbf{Z})
      p(\mathbf{Z} \mid \boldsymbol{\Theta})

 3つ目の項の、独立なパラメータの項を分割する。

 \displaystyle
p(
    \boldsymbol{\Theta}, \boldsymbol{\Phi}, \boldsymbol{\Psi}
\mid 
    \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}
)
    = p(\boldsymbol{\Theta} \mid \boldsymbol{\alpha})
      p(\boldsymbol{\Phi} \mid \boldsymbol{\beta})
      p(\boldsymbol{\Psi} \mid \boldsymbol{\gamma})

 4つ目の項の、独立なハイパーパラメータの項を分割する。

 \displaystyle
p(\boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma})
    = p(\boldsymbol{\alpha})
      p(\boldsymbol{\beta})
      p(\boldsymbol{\gamma})

 確率変数と依存関係のない条件を適宜省いている。

  • 2: 文書・トピックごとの積に分解する。
  • 3: 単語・補助情報ごとの積に分解する。

 この式自体が変数やパラメータ間の依存関係を表している。

グラフィカルモデル

 最後は、対応トピックモデルの生成モデルをグラフィカルモデル表現(graphical model representation)で確認する。

 対応トピックモデルの生成モデルは、次の式に分解できた。

 \displaystyle
\begin{aligned}
p(
    \mathbf{W}, \mathbf{X}, 
    \mathbf{Z}, \mathbf{Y}, 
    \boldsymbol{\Theta}, \boldsymbol{\Phi}, \boldsymbol{\Psi}, 
    \boldsymbol{\alpha}, \boldsymbol{\beta}, \boldsymbol{\gamma}
)
   &= p(\mathbf{W} \mid \mathbf{Z}, \boldsymbol{\Phi})
      p(\mathbf{Z} \mid \boldsymbol{\Theta})
      p(\boldsymbol{\Theta} \mid \boldsymbol{\alpha})
      p(\boldsymbol{\alpha})
      p(\boldsymbol{\Phi} \mid \boldsymbol{\beta})
      p(\boldsymbol{\beta})
\\
   &\qquad * 
      p(\mathbf{X} \mid \mathbf{Y}, \boldsymbol{\Psi})
      p(\mathbf{Y} \mid \mathbf{Z})
      p(\boldsymbol{\Psi} \mid \boldsymbol{\gamma})
      p(\boldsymbol{\gamma})
\\
   &= \prod_{d=1}^D \left[
          \prod_{n=1}^{N_d} \Bigl\{
              p(w_{dn} \mid \boldsymbol{\phi}_{z_{dn}})
              p(z_{dn} \mid \boldsymbol{\theta}_d)
          \Bigr\}
          p(\boldsymbol{\theta}_d \mid \boldsymbol{\alpha})
      \right]
      p(\boldsymbol{\alpha})
      \left\{ \prod_{k=1}^K
          p(\boldsymbol{\phi}_k \mid \boldsymbol{\beta})
      \right\}
      p(\boldsymbol{\beta})
\\
   &\qquad *
      \prod_{d=1}^D \left[
          \prod_{m=1}^{M_d} \Bigl\{
              p(x_{dm} \mid \boldsymbol{\psi}_{y_{dm}})
              p(y_{dm} \mid \mathbf{z}_d)
          \Bigr\}
      \right]
      \left\{ \prod_{k=1}^K
          p(\boldsymbol{\psi}_k \mid \boldsymbol{\gamma})
      \right\}
      p(\boldsymbol{\gamma})
\end{aligned}

 この式をグラフィカルモデルにすると、次の図になる。

対応トピックモデルのグラフィカルモデル

 「  z_{dn} \to y_{dm} 」が、各文書の補助情報に対するトピック分布  p(y_{dm} \mid \mathbf{z}_d) に対応し、単語トピック集合(の各トピックの割合)に従って各補助情報のトピック  y_{dm} が生成されることを示している。
 「  y_{dm} \to x_{dm} 」と「  \boldsymbol{\psi}_k \to x_{dm} 」が、各トピックの補助情報分布  p(x_{dm} \mid \boldsymbol{\psi}_{y_{dm}}) に対応し、補助情報分布(のパラメータ)に従って各補助情報(の種類)  x_{dm} が生成されることを示している。
 「  \boldsymbol{\gamma} \to \boldsymbol{\psi}_k 」が、補助情報分布のパラメータの事前分布  p(\boldsymbol{\psi}_k \mid \boldsymbol{\gamma}) に対応し、事前分布(のパラメータ)に従って補助情報分布のパラメータ  \boldsymbol{\psi}_k が生成されることを示している。
 「  [K] 」が、 \prod_{k=1}^K に対応し、 K 個の単語分布と補助情報分布のパラメータ  \boldsymbol{\phi}_k, \boldsymbol{\psi}_k が繰り返し生成されることを示している。
 「  [M_d] 」が、 \prod_{m=1}^{M_d} に対応し、 M_d 個のトピック  y_{dm} と補助情報  x_{dm} が繰り返し生成されることを示している。
 「  [D] 」が、 \prod_{d=1}^D に対応し、 D 個のトピック集合  \mathbf{z}_d, \mathbf{y}_d と単語集合  \mathbf{w}_d、補助情報集合  \mathbf{x}_d、またトピック分布のパラメータ  \boldsymbol{\theta}_d が繰り返し生成されることを示している。

 その他の関係(ノードとエッジ)についてはトピックモデル(4.1節)と同じである。

 この記事では、対応トピックモデルで用いる記号や定義を確認した。次の記事では、崩壊型ギブスサンプリングによるパラメータの計算式を導出する。

参考書籍

おわりに

 丸1日で解けました!いやぁ気持ちいい。前節のは1週間ほど唸ってました。まぁ理解してみれば前節とそう変わらないから当然と言えば当然なんですがね。でも変わらないことを理解するのに半日、違うところへの理解を深めるのに半日かかるんですよ。
 さて次節はこれを更に複雑にしたものですが、どれくらいかかるでしょうか。

 2020年10月6日は、アンジュルムの橋迫鈴ちゃんのお誕生日!夢見る15歳♪

(ちなみにサムネの方ではないです。)

  • 2024.10.04:加筆修正の際に「対応トピックモデルの崩壊型ギブスサンプリングの導出:一様なハイパーパラメータの場合」を記事から独立しました。

 解けました!って言ってるのは主に次の記事の内容ですね。

【次節の内容】

  • 数式読解編

 ハイパーパラメータが一様な場合の対応トピックモデルに対する周辺化ギブズサンプリングを数式で確認します。

www.anarchive-beta.com

 ノイズあり対応トピックモデルの生成モデルを数式で確認します。

www.anarchive-beta.com