mots quotidiens. | |
Daichi Mochihashi (持橋大地) daichi <at> ism.ac.jp | by hns, version 2.10-pl1. |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
DMでは LOO (Leave-one-out) 近似を使っているが, その際気になったので,
Ψ関数を使った exact な計算と, MacKayの近似法(MacKay 1994. 去年の
SVM2004で紹介した話)を比べてみた。
小さなデータの代表として Cranfield コーパスを使った結果,
下のような感じになった。
Unigram | Bigram | Trigram | |
---|---|---|---|
Exact | - (49860) | 64.20 [31] (57.2312) | - (8298.3) |
MacKay | 385.99 [15] (240.1676) | 236.80 [9] (45.0992) | 416.09 [16] (195.6051) |
LOO | 24.30 [40] (293.6186) | 14.17 [24] (57.5734) | 29.55 [34] (24.3058) |
これを見てわかるように, bigram以外では, Exact な iteration は収束しない。
山本先生のところ
で, DMの計算にΨ関数を使った Exact な計算では収束しなかった, とおっしゃって
いた記憶があるが, DMでなくて単純なディリクレ分布の場合でも,
Exactな fixed-point iteration は unigram については収束しないようだ。
(()の中は100回の最大の繰り返し終了後の値だが, 見ると,
αがすごい値になってしまっていることがわかる。)
最適化の振る舞いを見ていると, 一回最適解に行きかけるが, 途中でそれを超えて
発散してしまっているように見える。理論的には単峰で凸なはずなので
謎。ただ, 他のデータでもそうだったので, 山本先生のグループのおっしゃっていた
ことは正しいのだと思う。
という, Minkaの論文を見ていただけではわからない実際的な話がわかったので,
まとめてみました。
プログラムは間違っていないと思うのだが, 参考のために置いておきます。
(あくまで参考なので, これだけでは動かないので注意。)
dirpolya.m
dirpolya_mackay.m
dirpolya_loo.m
一応 Minka のところには fastfit というパッケージもあるみたいですが, この手の話は理解する方が大変で, コードを書くのはそれほど難しくないので, 基本的に自分で書くのがいいと思う。
タイトル一覧 |