からっぽのしょこ

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

5.4:著者トピックモデルの生成モデルの導出【青トピックモデルのノート】

はじめに

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

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

【前節の内容】

www.anarchive-beta.com

【他の節の内容】

www.anarchive-beta.com

【この節の内容】

著者トピックモデルのグラフィカルモデル

5.4 著者トピックモデル

 これまでのモデルでは、トピックに依存して補助情報が生成されるとしました。著者トピックモデルでは、補助情報として著者情報を用います。この著者情報に依存してトピックが生成されます。つまり著者ごとにトピック分布を持つとします。

 共通する部分が多々あるので、「4.5:トピックモデルの崩壊型ギブズサンプリングの導出:一様なハイパーパラメータの場合【青トピックモデルのノート】 - からっぽのしょこ」も参照してください。

・生成過程

 これまでと同様に、変数$w_{dn}$はパラメータ$\boldsymbol{\phi}_k$を持つカテゴリ分布に、潜在変数$z_{dn},\ y_{dn}$はそれぞれパラメータ$\boldsymbol{\theta}_d,\ (\frac{1}{M_d}, \cdots, \frac{1}{M_d})$を持つカテゴリ分布に、パラメータ$\boldsymbol{\theta}_d,\ \boldsymbol{\phi}_k$はそれぞれハイパーパラメータ$\alpha,\ \beta$を持つディリクレ分布に従って生成されると仮定する。$M_d$はその文書の著者数で、観測データ$\mathbf{a}_d = (a_{d1}, \cdots, a_{dM_d})$より得られる。詳しくは図5.11を参照のこと。

・記号一覧

 4章に加えて5.4節で用いる記号を次にまとめる。

5.4節で追加する記号一覧


・グラフィカルモデル

 著者トピックモデルをグラフィカルモデルで表現すると、次の図になる。

・作図用のRコード(クリックで展開)

# 利用パッケージ
library(DiagrammeR)

# 著者トピックモデル
DiagrammeR::grViz("
  digraph AuthorTM{
    graph [rankdir = LR]
    node [shape = circle, fixedsize = ture, fontname = 'Times-Italic']
    
    alpha [label = 'α']
    subgraph cluster_A{
      label = A
      theta [label = <<B>&theta;</B>@_{s}>]
    }
    
    beta [label = '&beta;']
    subgraph cluster_K{
      label = K
      phi [label = <<B>&phi;</B>@_{k}>]
    }
    
    subgraph cluster_D{
      label = D
      a [label = a, style = filled, filledcolor = 'gray']
      subgraph cluster_N{
        label = N
        y [label = 'y@_{dn}']
        z [label = 'z@_{dn}']
        w [label = 'w@_{dn}', style = filled, filledcolor = 'gray']
      }
    }
    
    edge []
      alpha -> theta -> z;
      phi -> beta [dir = back];
      w -> phi [dir = back];
      a -> y -> z -> w;
  }
")

著者トピックモデルのグラフィカルモデル


・生成モデル

 生成過程に従うと、著者情報$\mathbf{A}$が与えられたときの文書集合$\mathbf{W}$の分布は

$$ \begin{aligned} p(\mathbf{W} | \mathbf{A}, \boldsymbol{\Theta}, \boldsymbol{\Phi}) &= \prod_{d=1}^D p(\mathbf{w}_d | \mathbf{a}_d, \boldsymbol{\Theta}, \boldsymbol{\Phi}) \\ &= \prod_{d=1}^D \prod_{n=1}^{N_d} p(w_{dn} | \mathbf{a}_d, \boldsymbol{\Theta}, \boldsymbol{\Phi}) \\ &= \prod_{d=1}^D \prod_{n=1}^{N_d} \sum_{m=1}^{M_d} \sum_{k=1}^K p(w_{dn}, y_{dn} = m, z_{dn} = k | \mathbf{a}_d, \boldsymbol{\theta}_{a_{dm}}, \boldsymbol{\phi}_k) \\ &= \prod_{d=1}^D \prod_{n=1}^{N_d} \sum_{m=1}^{M_d} \sum_{k=1}^K p(w_{dn} | z_{dn} = k, \boldsymbol{\phi}_k) p(z_{dn} = k | y_{dn} = m, \boldsymbol{\theta}_{a_{dm}}) p(y_{dn} = m | \mathbf{a}_d) \\ &= \prod_{d=1}^D \prod_{n=1}^{N_d} \sum_{m=1}^{M_d} \frac{1}{M_d} \sum_{k=1}^K p(w_{dn} | z_{dn} = k, \boldsymbol{\phi}_k) p(z_{dn} = k | y_{dn} = m, \boldsymbol{\theta}_{a_{dm}}) \end{aligned} $$

【途中式の途中式】

  1. 文書ごとの積に分解する。
  2. 単語ごとの積に分解する。
  3. 周辺化された単語の潜在著者$y_{dn}$と潜在トピック$z_{dn}$を明示する。
  4. 生成過程に従い乗法定理より、項を分解する。
  5. 単語$w_{dn}$に対して、その文書の$m$番目の著者が割り当てられる確率$p(y_{dn} = m | \mathbf{a}_d)$は$\frac{1}{M_d}$である。


と分解できる。

参考書籍

おわりに

 5章ではこのモデルが一番興味ある。とりあえずこれは組んでみたい。作詞家ごとのトピック分布、楽しそう。

【次節の内容】

www.anarchive-beta.com