この記事では,研究のサーベイをまとめていきたいと思います。ただし,全ての論文が網羅されている訳ではありません。また,分かりやすいように多少意訳した部分もあります。ですので,参考程度におさめていただければ幸いです。
間違えている箇所がございましたらご指摘ください。随時更新予定です。他のサーベイまとめ記事はコチラのページをご覧ください。
LDAとは?
LDAはLatent Dirichlet Allocationの頭文字を取ったもので,言語を解析するときに利用する確率的なモデルの1つです。隠されたトピックを利用するために,トピックモデルと呼ばれる枠組みに分類されます。
ここでは,モデルを「ある構造が生成される過程」,言語の解析を「文章のモデルを推測すること」とすることにします。つまり,LDAとは「文章の生成過程を推測するために利用される確率的な過程」のことを指します。
LDAは LSI (Latent Semantic Index)のから派生したモデルとみなすことができます。LSIはLDAと同じトピックモデルの1つで,潜在的意味解析と呼ばれることもあります。LSIは,文章中で同じ意味を持つであろう単語を同じグループにまとめることで,要領よくモデリングする手法です。そして,LSIを確率的に派生させたものがPLSI(Probabilistic LSI)です。
LDAは,PLSIをベイズの立場から捉えなおしたモデルになります。PLSIではトピック数を知っておく必要があり,知らない文章にモデルが対応していませんでした。しかし,PLSIをベイズ化することで,トピック自体の確率分布を仮定することになるので,知らない文章にもモデルを利用することができます。
数学的背景
LDAを視覚化すると,下のようになります。
【パラメータの定義】
$α$ : $\theta$を発生させる分布(ディリクレ分布)
$β$ : あるトピックから単語を発生させる分布(ディリクレ分布)
${\phi}$ : $\mathrm{z}$を発生させる分布(多項分布)
${\gamma}$ : $\theta$を発生させる分布 (ディリクレ分布)
${\theta}$ : トピックを発生させる分布(多項分布)
${\mathrm{z}}$ : 文章から単語を発生させる分布(多項分布)
${w}$ : 単語
以上を踏まえると,LDAのアルゴリズムは以下のようになります。
1. Choose $N$ ~ Poisson($\xi$)
2. Choose $θ$ ~ Dir($\alpha$)
3. $N$個の単語$w_n$に対して:
(a) $\mathrm{z}_n$ ∼ Multinomial($\theta$)
(b) $w_n$ ~ $p(w_n |\mathrm{z}_n,\beta)$
つまり,$\alpha$と$\beta$を求めることで,$\theta$と$\mathrm{z}$が求まって,$w$が求まるという流れになります。今回はBag-of-Featuresで考えていますので,$w$に対するモデルが求まればOKです。
しかし,実際には$\alpha$と$\beta$は直接計算で求められる形になりません。ここで登場するのが,変分ベイズと呼ばれる手法です。
変分ベイズ
ここでは,変分ベイズに関して詳しく説明することはしません。LDAに変分ベイズがどのように用いられるかを簡単にまとめていきます。上で定義したパラメータを用いれば,$w$の生成モデルは以下のように書くことができます。
\begin{eqnarray}
p(D|\alpha, \beta) &=& \prod_d p(w_d|\alpha, \beta)\\
p(w|\alpha, \beta) &=& \int p(\theta|\alpha)\left(\prod^{N}_{n=1}\sum_{z_{n}}p(z_{n}|\theta)p(w_{n}|z_{n},\beta)\right)d\theta
\end{eqnarray}
ベイズの立場に立てば,推定したいのはパラメータ$\theta$と$\mathrm{z}$でした。
\begin{eqnarray}
\displaystyle p(\theta, \mathbf{z}|\mathbf{w}, \alpha, \beta) = \frac{p(\theta, \mathbf{z}, \mathbf{w} | \alpha, \beta)}{p(\mathbf{w} | \alpha, \beta)}
\end{eqnarray}
ここで,以下のような近似を考えます。これが,変分ベイズ法の肝となる部分です。
\begin{eqnarray}
p(w|\alpha, \beta) &\simeq& q(\theta,\mathbf{z}|\gamma,\phi)\\
q(\theta,\mathbf{z}|\gamma,\phi) &=& q(\theta|\gamma)\prod^N_{n=1}q(z_n|\phi_n)
\end{eqnarray}
\begin{eqnarray}
q(\theta|\gamma) &\sim& \rm{Dir}(\alpha)\\
q(z_n|\phi_n) &\sim& \rm{Multinomial}(\theta)
\end{eqnarray}
天下り的ですが,このように考えることで式(3)の分母が計算できます。分子は上でお伝えしたアルゴリズムを同じような流れで計算できることができるのでOKです。さて,$p(w|\alpha, \beta)$と$q(\theta,\mathbf{z}|\gamma,\phi)$を近づけるような更新式を考えるために,イェンゼンの不等式を利用して以下の関係を導きます。
\begin{eqnarray}
\log p(\mathbf{w}| \alpha, \beta) \ge \int \sum_{\mathbf{z}} q(\theta,\mathbf{z}|\gamma,\phi) \log p(\theta, \mathbf{z}, \mathbf{w} | \alpha, \beta) d\theta\\
– \int \sum_{\mathbf{z}} q(\theta,\mathbf{z}|\gamma,\phi) \log q(\theta,\mathbf{z}|\gamma,\phi) d\theta
\end{eqnarray}
この下限を最大化していくことで,$p(w|\alpha, \beta)$と$q(\theta,\mathbf{z}|\gamma,\phi)$を近似していきます。
(E step) $\gamma$と$\phi$に関する最適化
(M step) $\alpha$と$\beta$に関する最適化
これが,LDAにおける変分ベイズ法です。
まとめ
LDAをPLSIからのベイズ的派生とみなせば,変分ベイズを利用するのも納得がいきます。また,他にもギブスサンプリングやCollapsed Variational Bayesianによる近似手法も考案されています。
●Blei, David M., Andrew Y. Ng, and Michael I. Jordan. “Latent dirichlet allocation.” Journal of machine Learning research 3.Jan (2003): 993-1022.
●Teh, Yee W., David Newman, and Max Welling. “A collapsed variational Bayesian inference algorithm for latent Dirichlet allocation.” Advances in neural information processing systems. 2007.
●Griffiths, Thomas L., and Mark Steyvers. “Finding scientific topics.” Proceedings of the National academy of Sciences101.suppl 1 (2004): 5228-5235.