アカデミック

【サーベイまとめ】LDAとは?出来るだけ分かりやすく簡潔に説明します。

この記事では,研究のサーベイをまとめていきたいと思います。ただし,全ての論文が網羅されている訳ではありません。また,分かりやすいように多少意訳した部分もあります。ですので,参考程度におさめていただければ幸いです。

間違えている箇所がございましたらご指摘ください。随時更新予定です。他のサーベイまとめ記事はコチラのページをご覧ください。

参考文献は最後に記載してあります。

読みたい場所へジャンプ!

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では単語の順番は気にしません。このような特徴量の扱い方を,すべての単語を袋に入れてごちゃ混ぜにしてしまうイメージから,Bag-of-Featuresと呼びます。

 

以上を踏まえると,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$は直接計算で求められる形になりません。ここで登場するのが,変分ベイズと呼ばれる手法です。

変分ベイズは,EMアルゴリズムをベイズ的に拡張した手法です。これは,LDAがPLSI(EMアルゴリズムを使用)をベイズ的に拡張したことに対応しています。

 

変分ベイズ

ここでは,変分ベイズに関して詳しく説明することはしません。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.

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です