elsur.jpn.org >

« 読了:「ノヴェル・イレブン、ブック・エイティーン」 | メイン | 読了:Marinovic, Ottaviani, & Sorensen (2011) 予測市場と美人投票のあいだで »

2015年7月11日 (土)

Girolami, M., Kaban, A. (2003) On an equivalence between PLSI and LDA. SIGIR 2003.
 pLSI (pLSA, 確率的潜在意味解析)が実はLDA(潜在ディリクレ配分)の特殊ケースだ、という2pの短い論文。ちょっと用事があって読んだ。数学が苦手な私にはハードルが高い... 高すぎる...。

 情報検索(IR)のアプローチのひとつである言語モデリング(LM)では、クエリ$q$, 文書$d$について$P(q|d)$を求めて関連性ランキングに使おうとする。そのひとつがPLSIで、LSAよりはうまくいくんだけど、そのgenerative semanticsが完全にconsistentではないため[←よくわかんないけど、生成モデルじゃないってことかしらん]、新文書に確率を付与する際に問題が生じる。もうひとつはLDAで、こっちはconsistent generative semanticsを持っている。
 ではPLSIとLDAはどういう関係にあるのか。

 まずPLSIのほう。単語$w$と文書$d$の同時確率を、潜在変数$k$のもとで$w \bot d | k$と考える。つまり
 $P(w, d) = \sum_k P(w | k) P(k | d)$
と分解できると考えるわけである。

 いっぽうLDAのほうは...
 コーパス$D$において$K$次元パラメータ$\alpha$が固定されていると考える[潜在変数の分布パラメータのことかな]。文書生成において、$K$次元変数$\theta$がディリクレ分布$D(\theta | \alpha)$から生成される。$\theta$の$k$番目の要素$\theta_k$の下での語$w$の確率$P(w | \theta_k)$を、$k$を通して線形結合し、多項分布$P(w | \theta)$が生成される。
 パラメータ$P(w | \theta_k)$を$K$列の行列に並べて$P$とする。また、文書$d$における語$w$の頻度を$c_{d,w}$とする。
 文書の条件付き確率は
 $P(d | \alpha, P) = \int d \theta D(\theta|\alpha) \prod_{w} \left\{ \sum_k P(w, \theta_k) \theta_k \right\} ^{c_{d,w}}$
[落ち着け、そんなに難しいことは云ってないはずだ。ええと、あるトピック$k$の下である単語$w$が出現する確率は$P(w | \theta_k)$。全トピックを通じて単語$w$が出現する確率は$\sum_k P(w, \theta_k) \theta_k$。$c_{d,w}$回出現する確率はその$c_{d,w}$乗。すべての単語についてその観察出現回数が出現する確率は$\prod$の右側。これを$\alpha$の下ですべての$\theta$を通して積分しようというわけだ。大丈夫、大丈夫]

 さて。LDAのモデルで、文書$d$の$\theta$をMAP推定すると考えてみよう。
 $\theta_d^{MAP}=\mathop{\rm argmax}\limits_\theta \log \{ P(\theta | d, P, \alpha) \}$
 すべての文書について$\theta_d^{MAP}$が推定できたら、そこから$P$と$\alpha$がML推定できる。
 いま、ディリクレ分布が一様である、つまり$\alpha = 1$と仮定して、この2段階の推定を試してみよう。$\theta$の推定は、MAP推定量とML推定量が同一になり
 $\theta_d^{MAP}$
 $= \theta_d^{ML}$
 $= \mathop{\rm argmax}\limits_\theta \log\{ P(\theta | d, P) \}$
 $= \mathop{\rm argmax}\limits_\theta \sum_w c_{d,w} \left( \sum_k P(w|k) \theta_k \right)$
[落ち着け落ち着け。$\prod_{w} \left\{ \sum_k P(w, \theta_k) \theta_k \right\}^{c_{d,w}}$の対数を最大化する$\theta$ですと云っているだけだ]
ここから$P$をML推定すると、
 $P^{ML}$
 $= \mathop{\rm argmax}\limits_P \sum_d \log \{ P(d | \theta_d^{ML}, P) \}$
 $= \mathop{\rm argmax}\limits_P \sum_d \sum_w c_{d,w} \log \left( P(w|k) \theta_{d,k}^{ML} \right)$
 最後に出てくる$\theta_{d,k}^{ML}$について考えよう。$\theta$はディリクレ変数だから、すべての$k$について正だ、かつ合計は1だ。ってことは、$\theta_{d,k}^{ML}$って$P(k | d)$のML推定量じゃん。ってことは、これPLSIのML推定量じゃん。

 後半はクエリで検索する場合についてのPLSIとLDAの比較。力尽きたのでメモは略。
 いやー、よくわかんないけど、つまりLDAのディリクレ分布のパラメータを全部1に固定するとpLSAになる、ってことでしょうか。pLSAはLDAに比べて過学習が起きやすいと聞いたことがあるけど、それってトピックの事前分布を無情報にしたが故の悲劇ってことなのかなあ。だとすると、実際にトピックについてなんら事前知識がないとき、LDAを使うよりも(過学習を覚悟した上で)pLSAをつかうほうが望ましいような場面があるということだろうか。うううううむ。

論文:データ解析(2015-) - 読了:Girolami & Kaban (2003) pLSAはLDAの特殊ケースだ

rebuilt: 2020年4月20日 18:56
validate this page