PLSA
"Unsupervised learning by probabilistic Latent Semantic Analysis", JMLR, 2001
PLSAの詳しい説明は他所に譲るけど簡単に説明する。PLSAとは、文書の生成モデルで、以下のステップを経て文書が生成されるとする
- 確率で文書が選ばれる
- 確率で潜在変数が選ばれる
- 確率で単語が選ばれる
ここで潜在変数というのは文書のトピックみたいなものと考えれば良い。ある文書は確率分布を持っていて、それにしたがってトピックが選ばれる。また、各トピックは確率分布を持っていて、それにしたがって単語が選ばれる。このプロセスを何度も繰り返すことで文書が生成されるというモデルになっている。
以上の生成プロセスを式で書くと以下になる。
潜在変数は観測されないので、当然確率もも分からない。
PLSAでやりたいことは、持っている文書データを使ってとを推定すること。これを推定するためにEMアルゴリズムを使う。
対数尤度
ある文書と単語のペアについて考える。
このペアの対数尤度は以下になる。
しかし、対数の中に和があるのでこれの最大化は難しそうに見える。
一方で、ペアに潜在変数が割り当てられていることがわかっているとすると、完全データ対数尤度は以下になる。
これの最大化は簡単そうに見える(対数の中の和がなくなってる)。
対数尤度そのままの最大化は難しいが、完全データ対数尤度の最大化は簡単そうということで、EMアルゴリズムの出番となる。
E-step
E-stepでやることは潜在変数の事後分布を計算することだった。
これはベイズの定理により簡単に求まった。
M-step
Mステップでは、と固定して、Q関数を最大化するパラメータを求める。PLSAにおいて求めたいパラメータはとであることを思い出す。
あるペアに注目すると、Q関数は以下となる。(Q関数は完全データ対数尤度を潜在変数zの事後分布について期待値をとったものだったことを思い出そう。)
全体の文書データ、つまり全文書単語ペアについて考えると、Q関数は以下となる。
ただし、は文書に単語が出現した回数を表す。
の制約があるため、ラグランジュ定数を用いて
と置き、を最大化する。
をで微分してと置くと
となり、について整理すると
となる。について和を取ると
となり、について整理すると
となる。したがってが求まる。
の制約があるため、ラグランジュ定数を用いて
と置き、を最大化する。
をで微分してと置くと
となり、について整理すると
となる。について和を取ると
となり、について整理すると
となる。したがってが求まる。
まとめ
以上より、EMアルゴリズムを用いたPLSAのパラメータ推定の手続きは
- 適当な値で、を初期化する
- を計算する
- を計算する
- を計算する
- 収束するまで2-4を繰り返す
となる。