5

HMM のフォワード アルゴリズムを実装して、特定の HMM が特定の観測シーケンスを放出する確率を計算しています。アルゴリズムがアンダーフローに対して堅牢であることを望みます。フォワードアルゴリズムには確率の乗算と加算が必要なため、対数空間では作業できません。アンダーフローを回避する最善の方法は何ですか?

私はこれについていくつかの情報源を読みましたが、私が得た最良の提案は、各時間ステップで確率をスケーリングすることです。アルゴリズムの終わりまでに、(観測シーケンスの) 必要な正確な確率は残されません。また、私が間違っていない限り、上記の参考文献で提案されているように各時間ステップで確率をスケーリングすると、2 つの異なる HMM から得られた特定の観測シーケンスの確率の意味のある比較を行うことはできません (どのシーケンスを出力する可能性が高くなります)。助言がありますか?

4

1 に答える 1

7

参照の最後の式 32 では、すべての確率値 alpha_t(i) に C_t を掛けます。したがって、最後に、最終的な確率にすべての C_t の積を掛けました。log(C_t) の合計を追跡することで、これらすべてを追跡できます。次に、最後に log(alpha_t(i)) - SUM_(j <= t)log(C_j) を計算して、最終的な alpha_t(i) または log(SUM_t alpha_t(i) の対数確率を得ることができます) - SUM_(j <= t)log(C_j) これにより、シーケンス全体の対数確率が得られます。

于 2012-11-15T05:33:49.190 に答える