MATLAB Murphy的HMM工具箱:不一致的输出序列和标签状态名称和符号

时间:2016-06-16 13:08:00

标签: matlab gaussian hidden-markov-models

您好我一直在使用Murphy的HMM工具箱和高斯混合输出。简而言之,我有2个培训数据集。每个数据集包括2000个观测值,每个观测值具有11个维度。我实现了以下步骤来观察路径序列输出。

N_states=2
N_Gaussian_Mixture=1

对于每个数据集,生成HMM模型。步骤是:

步骤1:mixgauss_init()用于为我的训练数据生成GMM签名。 步骤2:在为Prior和Transmat声明矩阵后,使用mhmm_em()生成训练数据集的HMM模型。

测试:使用mhm_logprob()将来自每个数据集的2个测试数据用于测试。在每次运行中使用对数似然分数正确预测输出。

但是,当我尝试通过mixgauss_prob()后跟viterbi_path()观察HMM建模的序列(Dataset_123 with testdata_123)时,输出序列不一致。例如,对于第一次运行,输出序列可以是2221111111111.但是当我再次重新运行程序时,序列可以更改为1111111111111或1111111111222.最初我认为这可能是由于我的Prior矩阵。我修复了Prior值,但没有帮助。

其次,有可能我可以为状态和序列分配标签吗?像Matlab函数一样:

hmmgenerate(...,'Symbols',SYMBOLS)指定发出的符号。 SYMBOLS可以是数字数组或符号名称的单元格数组。默认符号是整数1到N,其中N是可能的排放数。

`hmmgenerate(...,' Statenames',STATENAMES)指定状态的名称。 STATENAMES可以是数字数组或状态名称的单元格数组。默认状态名称为1到M,其中M是状态数。?

感谢您的时间,并希望听取专家分享的意见。

0 个答案:

没有答案