Coda

論文メモ Latent Dirichlet Allocation

February 23, 2020

概要

トピックモデルの潜在的ディリクレ配分法(LDA)の原論文である。 LDAは、テキストコーパスのような離散データの確率的生成モデルである。 意味のあるデータのまとまりに対する端的な説明を与える情報を見つけることを目的としている。 3つの階層からなる階層ベイズモデルである。 、データの要素は、各トピックを表すモデルの混合モデルから生成される。 トピックもまた混合モデルから確率的に生成される。 推論にはベイズ変分法を、パラメタの推定にはEMアルゴリズムをもちいらる。

モデル

テキストコーパスをLDAでモデル化する場合を考える。 ただし、文書をbag-of-wordsでとらえ、単語の並びは考慮しない。 単語\(w\)を語彙数\(V\)のOne-Hotベクトルで扱う。 文書\(\boldsymbol{\rm w}\)は\(N\)個の単語列\((w_1, w_2, \dots , w_N)\)からなり、 コーパスは\(M\)個の文書からなる\(\mathcal{D}=\{\boldsymbol{\rm w}_1, \boldsymbol{\rm w}_2, \dots ,\boldsymbol{\rm w}_M\}\)とする。 このとき、LDAは、隠れた複数のトピックから文書がなりたち、トピックは単語の分布で表わされると仮定する。 すなはち、コーパス\(\mathcal{D}\)の文書\(\boldsymbol{\rm w}\)が次の過程で生成されるとみなす。

この過程は、以下のように、グラフィカルモデルで図示できる。 外側の枠は文書を示し、内側の枠はトピックと単語の生成を示す。 graph トピック数を\(k\)とすると、ディリクレ関数\(\text{Dir}(\alpha)\)は $$ p(\theta\mid \alpha) =\frac{\Gamma (\sum^k_{i=1}\alpha_i)}{\prod^k_{i=1}\Gamma (\alpha_i)}\theta_1^{\alpha_1-1}\cdots \theta_1^{\alpha_k-1} $$ となる。 \(\Gamma\)はガンマ関数である。 このとき $$ p(\theta,\boldsymbol{\rm z},\boldsymbol{\rm w}\mid \alpha ,\beta)=p(\theta\mid \alpha)\prod_{n=1}^N p(z_n\mid\theta)p(w_n\mid z_n,\beta) $$ \(\theta\)と\(\boldsymbol{\rm z}\)について周辺化すると $$ p(\boldsymbol{\rm w}\mid\alpha, \beta) = \int p(\theta\mid \alpha)\left( \prod_{n=1}^N\sum_{z_n}p(z_n\mid\theta)p(w_n\mid z_n,\beta)\right) d\theta $$ 以上よりコーパスの生成モデルは $$ p(\mathcal{D}\mid\alpha, \beta) = \prod^M_{d=1}\int p(\theta_d\mid \alpha)\left( \prod_{n=1}^{N_d}\sum_{z_{dn}}p(z_{dn}\mid\theta_d)p(w_{dn}\mid z_{dn},\beta)\right) d\theta_d $$ となる。

推定

文書のトピックの条件付き確率は次の式で表わされる。 $$ p(\theta , \boldsymbol{\rm z}\mid \boldsymbol{\rm w}, \alpha, \beta)=\frac{p(\theta,\boldsymbol{\rm z},\boldsymbol{\rm w}\mid\alpha, \beta)}{p(\boldsymbol{\rm w}\mid \alpha,\beta)} $$ 前節より右辺の分母は $$ p(\boldsymbol{\rm w}\mid \alpha,\beta)=\frac{\Gamma(\sum_i\alpha_i)}{\prod_i\Gamma(\alpha_i)}\int\left(\prod^k_{i=1}\theta^{\alpha_i-1}_i\right)\left(\prod^N_{n=1}\sum^k_{i=1}\prod^V_{j=1}(\theta_i\beta_{ij})^{w^j_n}\right)d\theta $$ となる。 \(\beta\)は\(k\times V\)の行列であり\(\beta_{ij}=p(w^j=1\mid z^i=1)\)である。 上の式は、\(\theta\)と\(\beta\)が結合しているために導出することができない(Dickey, 1983)。 これに対して、ベイズ変分法を用いた推定方法がもちいられている。