\( \def\vector#1{\boldsymbol{#1}} \)

Latent Dirichlet Allocation

Takami Torao #LDA
  • このエントリーをはてなブックマークに追加

\(n\) 個の観測変数 \(\vector{x} = \{x_1, \ldots, x_n\}\) それぞれに対して潜在変数 \(\vector{z} = \{z_1,\ldots,z_n\}\) が存在すると仮定する。潜在変数 \(z_i\) の値が同じ観測変数 \(x_i\) は類似していると仮定する。

\(z_i\) が取りうる値の集合を \(\vector{K}=\{1,\ldots,K\}\) とする。

どのように類似しているのかを表す確率変数 \(\vector{\phi}=(\phi_1,\ldots,\phi_K)\) とする。\(z_i\) と \(\phi_i\) は非観測変数である。観測値 \(\vector{x}\) から推測する。

確率変数 \(x_i\) が \(\phi\) をパラメータとする確率分布 \(P(x_i|\phi)\) に従うとする。\[ x_i \sim P(x_i|\phi), \ \ \ i=1,\ldots,n \]

同時に、対応する潜在変数 \(z_i\) が \(\vector{K}\) の中から選ばれる確率を \(\vector{\pi}\) とする。\[ \vector{\pi} = (\pi_1,\ldots,\pi_K), \ \ \ \sum_{k=1}^K \pi_k = 1 \]

\(z_i\) が従う分布として多項分布 \({\rm Multi}(z_i|\vector{\pi})\) を仮定する。\(n\) 回試行する事によって生成される潜在変数 \(z_i\) の集まりの生成過程は以下のように表される。\[ z_i \sim {\rm Multi}(z_i|\vector{\pi}) \]

\(x_i\) の確率分布と合わせると、\(x_i\) は \(\phi_{z_i}\) によって特徴づけられた確率 \(P(x|\phi_{z_i})\) に従って生成されたと考えられる。\[ x_i \sim P(x_i|\phi_{z_i}) \] \(z_i=k\) なら \(\phi_k\) が確定するため \(P(x_i|\phi_{z_i})=P(x_i|z_i,\vector{\phi})\) と書くことができる。

さらに \(\phi_k\) の生成過程も考える。\(\phi_k\) の従う分布を \(P(\phi_k|\eta)\) とする。\[ \phi_k \sim P(\phi_k|\eta) \]

P.22

  1. \(\vector{\pi}\) の生成確率は \(P(\vector{\pi})\)
  2. \(\eta\) の生成確率は \(P(\eta)\)
  3. \(\eta\) が与えられたうえで \(\vector{\phi}\) が生成される確率は \(P(\vector{\phi}|\eta)\)
  4. tail-to-tail型: \(P(a,b|c)=P(a|c)P(b|c)\): \(\{z_1,\ldots,z_n\}\) は条件付独立 tail-to-tail 型なので \[P(\vector{z}|\vector{\pi}) = \prod_{i=1}^n P(z_i|\vector{\pi})\]
  5. \(\{\phi_1,\ldots,\phi_n\}\) は条件付独立 tail-to-tail 型なので \[P(\vector{\phi}|\eta) = \prod_{i=1}^n P(\phi_i|\eta)\]
  6. \(\vector{z}\) および \(\vector{\phi}\) が与えられた元で \(x_i\) は互いに条件付独立 tail-to-tail 型なので \[P(\vector{x}|\vector{z},\vector{\pi},\vector{\phi},\eta) = P(\vector{x}|\vector{z},\vector{\phi}) = \prod_{i=1}^n P(x_i|z_i,\vector{\phi})\]

よって結合分布はベイズの定理により以下のように展開される。\[ \begin{align*} P(\vector{x}|\vector{z},\vector{\pi},\vector{\phi},\eta) & = P(\vector{x}|\vector{z},\vector{\phi}) P(\vector{z}|\vector{\pi}) P(\vector{\pi}) P(\vector{\phi}|\eta) P(\eta) \\ & = \prod_{i=1}^n P(x_i|z_i,\vector{\phi}) \prod_{i=1}^n P(z_i|\vector{\pi}) P(\vector{\pi}) \prod_{k=1}^K P(\phi_k|\eta) P(\eta) \end{align*} \]

P.26 \(n\) 回の独立した試行において \(k\) という数が出る回数を \(n_k\) とする。\[ P(\vector{x}|\vector{\pi}) = \prod_{i=1}^n P(x_i|\vector{\pi}) = \prod_{k=1}^K \pi_k^{n_k} \]

\(n\) 回の試行における各値の出現回数 \(n_k\) の確率は \(\vector{\pi}\) と \(n\) がパラメータとなり以下の多項分布に従う。\[ P(n_1,\ldots,n_k|\vector{\pi},n) = {\rm Multi}(n_1,\ldots,n_k|\vector{\pi},n) \equiv \frac{n!}{\prod_{k=1}^K n_k!} \prod_{k=1}^K \pi_k^{n_k} \] \(x_i\) は \(n=1\) の多項分布であるため \(P(x_i=k|\vector{\pi}) = {\rm Multi}(n_k=1|\vector{\pi},1) = \pi_k\) \[ x_i \sim {\rm Multi}(x_i|\vector{\pi}) \]

\(\vector{\pi}\) はディリクレ分布に従う。\[ P(\vector{\pi}|\vector{\alpha}) = {\rm Dir}(\vector{\pi}|\vector{\alpha}) \equiv \frac{\Gamma \left(\sum_{k=1}^K \alpha_k \right)}{\prod_{k=1}^K \Gamma(\alpha_k)} \prod_{k=1}^K \pi_k^{\alpha_k-1} \]

\(\delta({\it eval})\) を条件式 \({\it eval}\) を満たす場合に 1、それ以外の場合に 0 とする。\(\vector{\pi}\) の事後分布は \[ P(x_i|\vector{\pi}) = \prod_{k=1}^K \pi_k^{\delta(x_i=k)} \\ P(\vector{\pi}|\vector{\alpha}) \propto \prod_{k=1}^K \pi_k^{\alpha_k-1} \] より \[ \begin{align*} P(\vector{\pi}|\vector{x},\vector{\alpha}) & = \frac{P(\vector{x},\vector{\pi}|\vector{\alpha})}{P(\vector{x}|\vector{\alpha})} \propto P(\vector{x},\vector{\pi}|\vector{\alpha}) = P(\vector{x}|\vector{\pi}) P(\vector{\pi}|\vector{\alpha}) \\ & = \prod_{i=1}^n P(x_i|\vector{\pi}) P(\vector{\pi}|\vector{\alpha}) = \prod_{i=1}^n \prod_{k=1}^K \pi_k^{\delta(x_i=k)} P(\vector{\pi}|\vector{\alpha}) \\ & = \prod_{k=1}^K \pi_k^{\sum_{i=1}^n \delta(x_i=k)} P(\vector{\pi}|\vector{\alpha}) = \prod_{k=1}^K \pi_k^{n_k} P(\vector{\pi}|\vector{\alpha}) \\ & \propto \prod_{k=1}^K \pi_k^{n_k} \prod_{k=1}^K \pi_k^{\alpha_k-1} = \prod_{k=1}^K \pi_k^{n_k+\alpha_k-1} \end{align*} \] から \(n_k+\alpha_k\) をパラメータとするディリクレ分布である。\[ P(\vector{\pi}|\vector{x},\vector{\alpha}) = \frac{\Gamma\left(\sum_{k=1}^K n_k+\alpha_k\right)}{\prod_{k=1}^K \Gamma(n_k+\alpha_k)} \prod_{k=1}^K \pi_k^{n_k+\alpha_k-1} \]

P.31 トピック \(k\) における単語 \(v\) の生起確率を \(\phi_{k,v}\) とする。単語の種類を \(V\) 。単語の出現頻度 \(\vector{\phi}_k=(\phi_{k,1},\ldots,\phi_{k,V})\)。

文書 \(d\) の \(i\) 番目の単語を \(w_{d,i}\) として対応する潜在確率を \(z_{d,i} \in \{1,\ldots,K\}\) とする。

文書数 \(M\)、文書 \(d\) の総単語数を \(n_d\) とする。文書 \(d\) でトピック \(k\) が出現する確率を \(\vector{\theta}_d = (\theta_{d,1},\ldots,\theta_{d,K})\) とする。トピック \(k\) における単語 \(v\) の出現確立を \(\phi_{k,v}\)、単語の出現分布を \(\vector{\phi}_k=(\phi_{k,1},\ldots,\phi_{k,V})\) とする。

参考文献

  1. 佐藤一誠 (2015), "トピックモデルによる統計的潜在意味解析 (自然言語処理シリーズ)", コロナ社 ISBN 4339027588
  2. 岩田具治 (2015), "トピックモデル (機械学習プロフェッショナルシリーズ)", 講談社 ISBN 4061529048