唯物是真 @Scaled_Wurm

プログラミング(主にPython2.7)とか機械学習とか

読んだ論文: Topic Modeling Ensembles

Topic Modeling Ensembles

概要

ICDM 2010の論文.
PLSA(PLSI)やLDAなどのトピックモデルに,アンサンブル学習の枠組みを導入する.

トピックモデル

ある文書内の単語があるトピックをもとに生成されたと考えて,文書とトピック,単語間の関係を推定するモデル.
簡単に言うとある文書がどのトピックなのか,ある単語はどんなトピックで出現しやすいかなどを求める.

アンサンブル学習

複数の学習の結果をまとめて一つのよりよい結果を得る手法.
三人寄れば文殊の知恵.

トピックモデリングアンサンブル

文書全体(コーパス)を複数のサブコーパスに分割し,それぞれに対してトピックモデルを適用する.
得られた結果(ベーストピック)に対してトピックモデルを適用することで最終的な(アンサンブル)トピックを得る.

アンサンブルのなにがよいか

  • 並列化による高速化が可能
  • 大規模データや増加していくデータに対処できる
  • プライバシー.アンサンブルの段階でもとの文書を必要としない

通常のアンサンブル学習では頑健性や精度の向上などが強調されることが多いが,この手法では高速化やオンライン学習を期待.

手法の簡単な説明

  1. サブコーパスごとに通常のトピックモデルを適用して,ベーストピックを求める
  2. ベーストピックを擬似文書とみなしてトピックモデルを適用.結果(アンサンブルトピック)を求める.

グローバルトピック(通常の方法)

p(w,d)=p(d)p(w|d)=p(d) \sum_t p(t|d)p(w|t)

ベーストピック(サブコーパスごとにトピックを求める)

p(w,d|{c})=p(d|{c})p(w|d,{c})=p(d|{c}) \sum_{z \in Z_{c_d}} p({z}|d)p(w|{z})

アンサンブルトピック(ベーストピックを擬似的に文書とみなしてトピックを求める)

p(w,{z})=p({}z})p(w|{z})=p({z}) \sum_{y} p({y}|{z})p(w|{y})

結果

PerplexityやAccuracyでアンサンブルでない手法に匹敵.場合によってはよりよい結果.
サブコーパスへの分割数を増やすごとに速度が向上し,十分な量があるコーパスに対しては分割数にほぼ比例するような結果