段々と理解が進んできたのでアウトプットします。メモ書きみたいなのです。
概要
前回のナイーブベイズ分類は文書自体を{迷惑メール,普通メール}の2種類のトピックに分類するモデルだった。ただ文書には複数のトピックが混在している場合が少なくない。俺みたいにラブライブを取り上げて統計の話をするヤツも居るくらいなんだから。そんな時、その文書のトピックを{ラブライブ,統計学}のどちらか一方に分類するってのはナンセンス極まりない。
トピックモデルは文書に複数のトピックが混在していると仮定している。d番目の文書に注目すると。そこにはその文書が含んでいるK個のトピックが という確率(割合)で存在している。
想定するモデル
D個の文書から構成された全文書集合
d番目の文書が持つ単語の数
D個の文書が持つトピック分布集合
d番目の文書がトピックkを含んでいる確率*1
K個のトピックについて単語分布集合
トピックkの時、全文書中のV種類の単語がそれぞれ生成する確率*2
図から分かるように、単語1つ1つの背景にトピックが存在しており、全ての単語をK個のトピックにクラスタリングするモデルとも言える。
単語,文書の生成過程
今、d番目の文書 の n番目の単語に注目すると、その単語はあるトピック を持っている。その単語 はトピック の時の単語分布から生成されたと考えてよい。よって、単語が生成する確率は、トピック分布と単語分布集合が与えられた時に、kについて和を取ることで
と求められる。(単語 の時)
トピック分布と単語分布集合が与えられた下で単語の生成する確率は独立なので(条件付き独立)個の単語から構成されたd番目の文書が生成する確率は
で表される。(単語 の時)
更に全文書集合 が得られる確率は、トピック分布集合 と単語分布集合が与えられた時
で表される。(単語 の時)
最尤推定(Eステップ)
全文書集合 がデータから観測された時のパラメータ と を推定していく。尤度 は
なので対数尤度を考えると
(∵ )
ここで、文書dのn番目の単語がトピックkに属する確率を *3として、式に加組み込みます。( の正体は後述)
(∵ 分母分子に掛けただけ)
イェンゼンの不等式を用いて対数尤度の下限を求めます。
イェンゼンの不等式
軸上の点を に内分する点 を取り、上に凸な単調増加の関数 を考える。
この時 はを に内分している点なので、と書ける。
図よりとの大小関係は常にであることが言える。つまり
が言えて、一般的にを満たすと上に凸な単調増加の関数に対して
が成り立つ。これを使うと対数尤度の式の下限を求めることが出来る。
を満たす と について
が成り立つ。この時、右辺は
の様に書き換えられる。(∵ )
この形にすることで解析的な解が得られので、この式から未知のパラメータを求めます。
ラグランジュの未定乗数法
制約付きの変数に関する最大化問題を
の を解くことで求める。に関する微分は
なので の制約を満たすことが出来る。
に関する微分は
より、これが となる時
は k に関して和を取ると なので
について解いて上の式に代入すると
で を点推定できる。
最尤推定(Mステップ)
詳細は省いてしまうが、 と同様にラグランジュの未定乗数法を用いるとに関しても
で点推定できる。( は を満たす場合の n に関する和)
EMアルゴリズムとは
- パラメータ と を制約の下で乱数を用いて設定。
- とを用いて を点推定。(Eステップ)
- を用いてパラメータとを更新。(Mステップ)
- 更新したとを用いて を再び点推定して更新。
- 更新した を用いてパラメータとを再び更新。
・・・
とこれを延々と続けていき、 がある値に収束するまで繰り返す方法のことである。
・ の正体
対数尤度 とその下限 の差を考える。となるから
これを変形すると
下限 を最大化することと、2つの分布のKLダイバージェンスを最小化することは同義である。(この辺の式変形ちょっとよく分かってない、、、)
KLダイバージェンス
2つの分布 がある時 で定義される。
の時、2つの分布の関係は である。
はパラメータ が与えられた時の単語 がどのトピックに含まれているかを示した分布である。よってを最大化した時の は の近似値となっている。
最後に
疲れた。このモデルは例えば人のブロガーが 個の記事を書いていた時に、その記事をK個のトピックにカテゴリ分けすることも出来そうだし、色々と応用が利くっぽい。
まぁ後は勉強の方向性を少し変えようかなと思う。そろそろテーマとかしっかり選ばないとなぁと思うし。
でゎ。