【发布时间】:2013-10-18 16:00:03
【问题描述】:
我对 matlab、隐马尔可夫模型和机器学习非常陌生,并且正在尝试对给定的信号序列进行分类。请让我知道我遵循的方法是否正确:
- 创建一个 N × N 转换矩阵,并填充每行总和为 1 的随机值。 (N 将是状态数)
- 创建一个 N x M 发射/观察矩阵,并填充每行总和为 1 的随机值
-
将序列的不同实例(即每个实例都会说单词 'hello' )转换为一个长流并将每个流馈送到 hmm train 函数,这样:
new_transition_matrix old_transition_matrix = hmmtrain(sequence,old_transition_matrix,old_emission_matrix)
给出最终的转换和发射矩阵,以用未知序列进行 hmm 解码,以给出概率 即
[posterior_states logrithmic_probability] = hmmdecode( sequence, final_transition_matrix,final_emission_matris)
【问题讨论】:
-
你做到了吗,我还需要有关 HMM 的帮助。你用过哪个工具箱?
-
就像下面的答案一样,我使用了 Murphys 工具箱,但使用了带有高斯输出的 HMM。你可以在这里看到教程cs.ubc.ca/~murphyk/Software/HMM/hmm_usage.html
-
我见过这个,我对 HMM 有一些疑问,HMM 是否会在神经网络中生成像
.xml这样的训练文件?我想用 HMM 训练轨迹,具有 X、Y、Z 坐标,什么是序列,因为我认为我的状态是每一个新的状态变化行。
标签: matlab machine-learning classification hidden-markov-models