9

ビタビ アルゴリズムを使用して、HMM で最も可能性の高いパス (状態のシーケンス) を見つけようとしています。ただし、観測 (データ) から推定する必要がある遷移行列と排出行列はわかりません。

これらの行列を推定するには、Baum-Welch トレーニング アルゴリズムと Viterbi トレーニング アルゴリズムのどちらを使用すればよいですか? なんで?

ビタビ トレーニング アルゴリズムを使用する必要がある場合、適切な疑似コードを提供してくれる人はいますか (見つけるのは簡単ではありません)。

4

3 に答える 3

14

十分なリソースがあれば、おそらく、計算効率のために Baum-Welch の一般性の一部を犠牲にする代替パラメーター推定プロセスである、Viterbiトレーニングアルゴリズム (別名、セグメント k-means アルゴリズム) よりも Baum-Welch (前方後方) アルゴリズムを使用する必要があります。 . 一般に、Baum-Welch アルゴリズムはパフォーマンスの向上につながるパラメーターを提供しますが、そうでない場合もあります。ここに素晴らしい比較研究があります。

さらに、Baum-Welch アルゴリズムを使用してモデルのパラメーターを推定する必要があることに注意してください。これは、EM アルゴリズムに似たものを使用して、放出確率と透過確率を設定します。HMM をトレーニングした後、ビタビ復号化アルゴリズムを使用して、観測を生成した可能性が最も高い状態のシーケンスを計算します。


参考として、 Speech and Language ProcessingArtificial Intelligence a Modern Approach、またはこの論文をお勧めします

于 2012-11-15T14:54:46.217 に答える
0

http://nlp.stanford.edu/courses/lsa352/lsa352.lec7.6up.pdfから:

Viterbi Training は、Baum-Welch と比較して:

  • はるかに高速
  • しかし、うまく機能しません
  • しかし、多くの場合、トレードオフはそれだけの価値があります。

いくつかの比較研究:

同じ質問が Statistics Stack Exchange: Differences between Baum-Welch and Viterbi trainingで尋ねられました。

于 2017-01-01T03:52:42.987 に答える
-1

隠れマルコフ モデル パラメータを見つけるには、baum welch アルゴリズムを使用する必要があります。baum welch は、フォワードおよびバックワード アルゴリズムを使用して hmm パラメータを見つけます。

Python の baum welch アルゴリズム コードへのリンクが 1 つあり ます。

于 2016-06-01T11:18:25.387 に答える