1

最近我在做一些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);
    

    谢谢!!!

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 回答