質問: 一般的論で答えていただけるとありがたいです ある問題に対して,EMアルゴリズムを用いて解こうとしているのですが 対数尤度が収束しません. 同程度の値2種でいったりきたりしています 例として, [-249410.61139371415, -249464.39762544874, -249408.3638648539, -249462.2203562868] のような値が出力されています 対数尤度の差として,50ほどからそれ以上小さくなりません これはもっとイテレーション回数を増やすべきなのか 初期値の与え方,そもそも計算がまちがっているなど 考えられることがあると思うのですが,以上のほかにやるべきことがあれば教えていただきたいです
回答: EM アルゴリズムは、パラメータを更新するごとに対数尤度が単調増加するものなので、イテレーション回数や初期値の与え方は、対数尤度の値の振動に影響を与えません。また、浮動小数点の桁落ちで値がわずかに振動する場合はありますが、示されている例は、桁落ちという感じはないように思います。 このため、計算がまちがっている可能性が高いと思います。 念のため、桁落ちしにくい、サイズの小さい人工データで試しても、対数尤度の値が(わずかではなく)振動するか確認し、それでも振動するなら、計算が間違っていないか確認するのはどうでしょうか。