1

最近、HMM のトレーニングを行っています。HMM ツールボックスを使用しました。しかし、いくつかの問題があり、解決できませんでした。

  1. 以下に示すように、うーんを訓練します。ここには問題はありません。

    [LL, prior1, transmatrix1, observematrix1] = dhmm_em(data, prior0, transmatrix0, observematrix0);
    
  2. ビタビ アルゴリズムを使用して、HMM 状態トレリスを通る最も可能性の高いパスを見つけます。

    function path = viterbi_path(prior, transmat, obslik);
    

    今、問題があります。「obslik」の意味がわかりません。それはobservematrix1ですか?

  3. シーケンスの確率を取得したいのですが、「fwdback」関数を使用する必要があるかどうかわかりません。もしそうなら、「obslik」はどういう意味ですか?

    function [alpha, beta, gamma, loglik, xi_summed, gamma2] = fwdback(init_state_distrib, transmat, obslik, varargin);
    

    ありがとう!!!

4

1 に答える 1

0

コメントがわかりませんでした。今、私はそれを理解しています。

ここでの「obslik」は、observematrix1 と同じではありません。Viterbi_path 関数を使用する前に、obslik を計算する必要があります。

    obslik = multinomial_prob(data(m,:), observematrix1); 

the data matrix is the observematrix0, observe-matrix before training. 

私は正しいですか?

于 2013-08-23T13:15:28.327 に答える