はじめに
『トピックモデル』(MLPシリーズ)の勉強会資料のまとめです。各種モデルやアルゴリズムを「数式」と「プログラム」を用いて解説します。
本の補助として読んでください。
この記事では、著者トピックモデルで登場する数式の行間を埋めます。
【前節の内容】
【他の節の内容】
【この節の内容】
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節で用いる記号を次にまとめる。
・グラフィカルモデル
著者トピックモデルをグラフィカルモデルで表現すると、次の図になる。
・作図用の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>θ</B>@_{s}>] } beta [label = 'β'] subgraph cluster_K{ label = K phi [label = <<B>φ</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}$の分布は
【途中式の途中式】
- 文書ごとの積に分解する。
- 単語ごとの積に分解する。
- 周辺化された単語の潜在著者$y_{dn}$と潜在トピック$z_{dn}$を明示する。
- 生成過程に従い乗法定理より、項を分解する。
- 単語$w_{dn}$に対して、その文書の$m$番目の著者が割り当てられる確率$p(y_{dn} = m | \mathbf{a}_d)$は$\frac{1}{M_d}$である。
と分解できる。
参考書籍
おわりに
5章ではこのモデルが一番興味ある。とりあえずこれは組んでみたい。作詞家ごとのトピック分布、楽しそう。
【次節の内容】