私は大きな英語のテキスト (文字とスペースのみを含むブラウン コーパスの最初の 50,000 文字) で 2 状態 HMM をトレーニングしています。私のアルゴリズムは Mark Stamp のチュートリアル (www.cs.sjsu.edu/~stamp/RUA/) に従います。 HMM.pdf)。
観測値には 26 文字とスペースしか含まれていないため、最初に (状態内の) 各観測値に 1/27 の確率を与え、行を確率的に保ちながらそれぞれを 0.0001 ずつ変更しました。
トレーナーを 50 回繰り返し実行すると、log[P(O|lambda)] が非常にわずかに改善されます。ここで、lambda は更新されたモデルです。さらに、最終モデルの観測行列では、各観測の確率は 2 つの州でほぼ同じです ( http://pastebin.com/xVVYNhGsを参照)。
私は局所的な最大値に固執していると考えたので、観測行列の初期推定をスタンプのものと一致するように変更しました。実際には、同じ反復回数内で状態*によって異なる更新された観測行列が得られました。(50 回の繰り返し: http://pastebin.com/U0AgrJ2N ; 100 回の繰り返し: http://pastebin.com/yAkruNjs )
私の質問は、私の変更された初期観測行列 (Emission prob) が、悲しい極大値から明らかに抜け出したということです。しかし、この最初の推測を見つけて最適化するにはどうすればよいでしょうか?