mots quotidiens.
Daichi Mochihashi (持橋大地) daichi <at> ism.ac.jp by hns, version 2.10-pl1.

先月 2005年07月 来月
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

2005年07月05日(火) [n年日記]

#1 Estimating Dirichlet (2)

予備実験のために, 単純なディリクレ分布(DMのようにmixtureでない もの)の推定の計算をする必要があった。
1年位前に書いたコードがあるのだが, 先日の疎行列のフォーマットを 使ってコードを書き直してみた。

DMでは LOO (Leave-one-out) 近似を使っているが, その際気になったので, Ψ関数を使った exact な計算と, MacKayの近似法(MacKay 1994. 去年の SVM2004で紹介した話)を比べてみた。
小さなデータの代表として Cranfield コーパスを使った結果, 下のような感じになった。

UnigramBigramTrigram
Exact- (49860)64.20 [31] (57.2312)- (8298.3)
MacKay385.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)

数値は順に, 計算時間(秒), iterationの回数, α = Σkαk. - は収束しなかったことを表す。
UnigramはDMで混合数 M=1 の場合, Bigramは (MacKay 1994) の場合と同じ。

これを見てわかるように, bigram以外では, Exact な iteration は収束しない。 山本先生のところ で, DMの計算にΨ関数を使った Exact な計算では収束しなかった, とおっしゃって いた記憶があるが, DMでなくて単純なディリクレ分布の場合でも, Exactな fixed-point iteration は unigram については収束しないようだ。
(()の中は100回の最大の繰り返し終了後の値だが, 見ると, αがすごい値になってしまっていることがわかる。)

最適化の振る舞いを見ていると, 一回最適解に行きかけるが, 途中でそれを超えて 発散してしまっているように見える。理論的には単峰で凸なはずなので 謎。ただ, 他のデータでもそうだったので, 山本先生のグループのおっしゃっていた ことは正しいのだと思う。
という, Minkaの論文を見ていただけではわからない実際的な話がわかったので, まとめてみました。

プログラムは間違っていないと思うのだが, 参考のために置いておきます。
(あくまで参考なので, これだけでは動かないので注意。)
dirpolya.m dirpolya_mackay.m dirpolya_loo.m

・ fastfit

一応 Minka のところには fastfit というパッケージもあるみたいですが, この手の話は理解する方が大変で, コードを書くのはそれほど難しくないので, 基本的に自分で書くのがいいと思う。


1 days displayed.
タイトル一覧
カテゴリ分類
 なかのひと
Powered by hns-2.10-pl1, HyperNikkiSystem Project