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

MATLAB Murphy';s HMM工具箱:输出序列和标签状态名称和符号不一致,matlab,gaussian,hidden-markov-models,Matlab,Gaussian,Hidden Markov Models,嗨,我一直在使用Murphy的HMM工具箱,输出高斯混合。简而言之,我有两个数据集用于培训。每个数据集由2000个观测值组成,每个观测值有11个维度。我执行了以下步骤来观察路径序列输出 N_states=2 N_Gaussian_Mixture=1 对于每个数据集,生成一个HMM模型。这些步骤是: 步骤1:使用mixgauss_init()为我的训练数据生成GMM签名。 步骤2:声明Previor和Transmat的矩阵后,使用mhmm_em()为训练数据集生成HMM模型 测试:来自每个数据集

嗨,我一直在使用Murphy的HMM工具箱,输出高斯混合。简而言之,我有两个数据集用于培训。每个数据集由2000个观测值组成,每个观测值有11个维度。我执行了以下步骤来观察路径序列输出

N_states=2
N_Gaussian_Mixture=1
对于每个数据集,生成一个HMM模型。这些步骤是:

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

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

然而,当我试图通过mixgauss_prob()和viterbi_path()观察HMM建模的序列(数据集_123和testdata_123)时,输出序列不一致。例如,对于第一次运行,输出序列可以是222111111111。但当我再次运行程序时,序列可以更改为1111111或111111222。起初我认为这可能是由于我之前的矩阵。我修正了先前的值,但没有帮助

第二,当我可以为状态和序列分配标签时,是否有可能?与Matlab函数类似:

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

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

感谢您的时间,希望听到专家分享