2011-01-01から1年間の記事一覧

LDA の Collapsed Gibbs サンプリングの全条件付分布を導出してみる

Latent Dirichlet Allocations(LDA) の実装について - 木曜不足 にも出てくるこの式 を導出してみる。 この式は LDA の Collapsed Gibbs sampling で使う全条件付分布(full conditional)。 もし普通のギブスサンプリングだったら、観測されていない全ての確…

PRML 読んでやってみた(下巻編)

昨日の記事を書いて、そういえば「パターン認識と機械学習」(以下 PRML) 上巻については「やってみた」「試してみた」系の記事をまとめページを作っていたことを思い出した。 PRML 読んでやってみた(上巻編) http://d.hatena.ne.jp/n_shuyo/20100505/prml …

PRML 4.1 の最小二乗法&フィッシャーの線形判別を試してみた

社内でやってる PRML 読書会が4章に入って、Fisher の線形判別分析(LDA)とかをちょうどやっつけたところ。 4.1.5 で Fisher's LDA と「最小二乗との関連」をわざわざ述べているのはどうして? というあたりで、最小二乗と互換性があるということはそれだけで…

LDA 追試(訓練データとテストデータを分けたら)

LDA の評価結果+Collapsed Variational Bayesian の初期化における工夫 - Mi manca qualche giovedi`? のコメント欄にて、daichi さんに「テストデータを用意して、そちらのperplexityを順次評価してみるとどうなるでしょうか。LWLM等と同様、その場合には …

はじめての生成文法・前編 - #TokyoNLP 5

第5回 自然言語処理勉強会@東京 にのこのこ行ってきました。 いつもいつもありがとうございます>主催の @nokunoさん、会場の ECナビさん(@ajiyoshiさん)、発表者、参加者の皆さん 今回も、いつものように新境地で「生成文法」について発表させてもらった………

LDA の評価結果+Collapsed Variational Bayesian の初期化における工夫

えらく間隔があいてしまった。 LDA の結果を評価しつつ、前回やった LDA の Collapsed Variational Bayesian(CVB) 推論にて、初期化に一工夫入れて、少ないイテレーションで定性的によい結果を得られることを確認していたので、その解説も入れていこう。 Lat…

LDA の Collapsed Variational Bayesian 推論

Collapsed Gibbs Sampling (以下 CGS)で LDA の推論を行う話は Latent Dirichlet Allocations(LDA) の実装について - 木曜不足 にて書いたのだけど、今回はそれとは別の Collapsed Variational Bayesian (以下 CVB) で推論を行う話。 まず、LDA の原論文であ…

LDA で実験 その2:初期値を逐次サンプリングにしてみた

Collapsed Variational Bayesian での LDA 推論も実装してみたのだが、そのときに「パープレキシティが下がりきるのは非常に早いのに、その時点ではトピック-単語分布がストップワードだらけ」「イテレーションの最初のうちはパープレキシティがほとんど動か…

ディリクレ分布のパラメータが0のとき

ディリクレ分布のハイパーパラメータは a_i > 0 なのだけど、a_i = 0 の場合はその要素が縮退したと考えることが出来るよ〜的なことを Furguson の論文で見た覚えがあったので、社内での PRML 勉強会でそれをちらっと言ってみたら、ちゃんと証明してくれない…

CICLing 2011 行ってきました

早稲田大で行われていた CICLing 2011 (International Conference on Intelligent Text Processing and Computational Linguistics) の最終日にのこのこ行ってきました。 FSNLP の 10章をちょうど読み終わったばかりという初心者が、自然言語処理の国際会議…

LDA で実験 その1:stop words の扱い方でどう変わる?

LDA Python 実装編 LDA 解説編 というわけで連載じゃあないけど第3回。わざわざ自前で実装したんだから、LDA で細かい設定で実験してみる。 NLTK のブラウンコーパスの 0〜99 までの 100 個のドキュメントをコーパスとし、トピック数は K=20、ハイパーパラメ…

Mahout の開発環境を Maven+Eclipse で作る (3) Eclipse で Hadoop の開発環境を作る

Mahout の、と言いつつ今回も Hadoop の話ばかり。 Hadoop は各ノードにアプリケーションを配布する関係から、通常 jar を作らなければならない。そのため、Eclipse で書いたコードを実行するのもデバッグするのも非常にめんどくさい。 でもうまくやれば、ス…

「機械学習はじめよう」で機械学習がはじまりました

gihyo.jp での機械学習連載の第8回が公開されました 機械学習 はじめよう 第8回「線形回帰・前編」 - gihyo.jp 今回は「線形回帰」の前段階として、「最小二乗法」の話です。 といっても、メインは「最小二乗法」そのものではなくて、そのとてもシンプルな手…

Latent Dirichlet Allocations(LDA) の実装について

昨日の "Latent Dirichlet Allocations in Python" の続きで実験結果を載せようかと思ったけど、先にやっぱりもうちょっと LDA を説明しておこう。LDA の初出は [Blei+ 2003] Latent Dirichlet Allocation 。 ただし [Blei+ 2003] で "LDA" としているのはト…

Latent Dirichlet Allocations の Python 実装

LDA とは "Latent Dirichlet Allocation"。文書中の単語の「トピック」を確率的に求める言語モデル。 「潜在的ディリクレ配分法」と訳されていることもあるが、その名前だと「それってなんだっけ?」という人のほうが多そうw。 各単語が「隠れトピック」(話…

サイン入り「小悪魔女子大生のサーバエンジニア日記」いただいちゃいました

id:gothedistance さんこと、ござ先輩が本日サイボウズ・ラボに遊びに来てくださいました。お忙しいところありがとう〜。 で、インターネットで技術的な仕事をしてても、ルーティングとか名前解決とかよくわかんない人必読と巷で話題の「小悪魔女子大生のサ…

Mahout の開発環境を Maven+Eclipse で作る (2) Hadoop セットアップ

Mahout はやっぱり Hadoop の上で使ってこそでしょ。というわけで開発用にも Hadoop をセットアップしなければならない。 基本的に Hadoop は Linux で使うべき。Linux 上での疑似分散くらいまでなら結構簡単にセットアップできる。ネット上にいっぱい情報が…

自然言語処理(機械学習) vs エンジニア

1/28 に行われた第200回 NL研(情報処理学会の自然言語処理研究会)でのパネル討論会を @mamoruk さんが twitter で中継してくださってて、これが本当にとてもおもしろかった。Togetter でのまとめがこちら。 NL研 #signl200 まとめ(その2) - Togetter 単語の…

Mahout の開発環境を Maven+Eclipse で作る (1)

Mahout in Action 買ったんだけど、開発環境の作り方についてはほとんど何も書いてない。いや、それも大事なことだと思うぞ。 というわけで、Mahout 用の開発環境をちょっとまじめに作ってみた。 とりあえず今回は Mahout in Action のサンプルコードを Ecli…

機械学習関連の勉強会

実は日経ソフトウエアの記事は、TokyoWebMining #9 1st で話させていただいた「機械の代わりに人間が学習入門」とちょうど表裏の関係になっています。 「機械学習とは何か」「おもしろそうでしょう?」と語る表側に対し、では実際に勉強し始めると結構大変………

日経ソフトウエア3月号に機械学習の記事を書かせていただきました

本日 1/24 発売の日経ソフトウエア3月号の特集「クラウド&スマホ時代の3大コア技術」の機械学習の記事を書かせていただきました。日経ソフトウエア 2011年 03月号 [雑誌]作者: 日経ソフトウエア出版社/メーカー: 日経BP社発売日: 2011/01/24メディア: 雑誌…

第4回 自然言語処理勉強会@東京 #tokyonlp

第4回 自然言語処理勉強会@東京 : ATNDに のこのこ行ってきました。主催の id:nokuno さん、参加者&発表者のみなさん、そして会場提供して下さった EC ナビさん、ありがとうございました&お疲れ様でした。 第4回 #TokyoNLP - Togetter 詳しい内容は noku…

統計的機械学習セミナー (2) 教師無し&半教師分かち書き

昨日の続き。 持橋さんの教師なし&半教師分かち書きについて、わかる範囲で説明してみる。 「分かち書き」とは文章を単語に区切ること。日本語や中国語など単語の区切りに空白を入れない言語では、これがないとほとんど何にもできない。MeCab 様々、と常日…

統計的機械学習セミナー (1) sequence memoizer

統計数理研究所にて行われた第2回統計的機械学習セミナーにのこのこ参加してきました。 http://groups.google.com/group/ibisml/browse_thread/thread/092f5fb3d45a91ea/8cae858cb8bfc00c 今回はノンパラメトリックベイズ特集ということでか、Yee Whye Teh …

機械の代わりに人間が学習入門 - #tokyowebmining 9

本日 1/16(日) にニフティさんにて開催された 第9回 データマイニング+WEB 勉強会@東京 にのこのこ参加してきました。主催の @hamadakoichi さん、運営の @doryokujin さん、講演者、参加者、そして会場を提供して下さったニフティさん、各位ありがとうご…

有名どころな機械学習手法の年表

ちょっと機械学習の比較的有名なモデルやアルゴリズムの初出について年表を作ってみた。 って今週末用の資料なんだけどねw 1805 Method of Least Squares 1901 PCA (Principal Component Analysis) 1905 Random Walk -1925 Logistic Regression 1936 Fisher…

独断と偏見によるノンパラ入門

「ノンパラメトリック」って言うくらいだからパラメータ無いんかと思ってたら、パラメータめっちゃあるし。 機械学習のネーミングのひどさはこれに始まった話じゃあないけど、それにしたって。 ノンパラの一番素朴なやつ( K-means とか)は本当にパラメータ無…