タグ

ブックマーク / heartruptcy.blog.fc2.com (2)

  • トピックモデルシリーズ 4 LDA (Latent Dirichlet Allocation)

    このシリーズのメインともいうべきLDA([Blei+ 2003])を説明します。前回のUMの不満点は、ある文書に1つのトピックだけを割り当てるのが明らかにもったいない場合や厳しい場合があります。そこでLDAでは文書を色々なトピックを混ぜあわせたものと考えましょーというのが大きな進歩です。さてこの記事の表記法は以下になります。前回のUMの場合と同一です。 右2列は定数については数値を、そうでないものについてはR内の変数名を書いています。データは前の記事参照。 グラフィカルモデルは以下になります(左: LDA, 右(参考): 前回のUM)。   見ると四角のプレートがまで伸びてきただけです。しかしながらこれが曲者でUMからかなりのギャップがあります。以下の吹き出しの順に説明していきます。 ① ここではハイパーパラメータからディリクレ分布に従って『文書の数だけ』が生成されます。このは以下のような

    トピックモデルシリーズ 4 LDA (Latent Dirichlet Allocation)
  • トピックモデルシリーズ 1 概要

    せっかく区切りがいいところまで勉強したのにoutputしないと忘れそうなので、メモを兼ねてしばらくトピックモデルについて記事を書きます。JAGSで実行したところ、そこそこ速いし収束もしました。しかしほとんど意味をなさないような幅広い推定結果になってしまいましたのでStanを使うことにしました。はじめにStanで実装するメリット・デメリットについて簡単に触れたいと思います。 メリット ・実装がラク。LDAでも30行ぐらい。 ・ややこしい推論部分は一切実装しなくてOK。全部StanのHMCサンプリングにお任せ。 ・モデルの拡張が簡単。 デメリット ・計算が遅い。文書x単語種類が1000x1500・総単語数12000のケースでは トピック数が20, iter=1000で9時間, iter=10000で35時間でした。Stanのmulti-threading対応待ち。 ・データが少ないと収束しない

    yass
    yass 2014/02/14
    " 計算が遅い。文書x単語種類が1000x1500・総単語数12000のケースでは トピック数が20, iter=1000で9時間, iter=10000で35時間 / トピックに階層構造がある場合はPAM(Pachinko Allocation Model)というモデル "
  • 1