2013-08-23 30 views
0

最近我正在對HMM進行一些訓練,我使用了HMM工具箱。但我有一些問題,無法解決它們。HMM工具箱中的問題

  1. 我訓練我的嗯,如下所示。這裏沒有問題。

    [LL, prior1, transmatrix1, observematrix1] = dhmm_em(data, prior0, transmatrix0, observematrix0); 
    
  2. 我用Viterbi算法尋找通過HMM狀態格最可能的路徑。

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

    現在出現了問題。我不知道「obslik」是什麼意思。它是觀察矩陣1嗎?

  3. 我想獲得一個序列的概率,但我不知道我是否應該使用「fwdback」函數。如果我應該,那麼「obslik」意味着什麼?

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

    謝謝!!!

回答

0

我不理解評論。現在我明白了。

這裏的「obslik」不等於observematrix1。在使用Viterbi_path函數之前,我們應該計算obslik:

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

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

對嗎?