我目前正在学习隐马尔可夫模型的murphyk
工具箱,但是我在确定模型的系数以及通过对数似然进行序列预测的算法方面遇到了问题。
我的场景:
我有飞鸟在 3D 空间中的轨迹,即它的 X
、Y
和 Z
位于连续 HMM 的类别。我对飞鸟进行了 200 次观察,即 500 行轨迹数据,我想预测序列。我想在 20 个数据点中进行采样。即 10 点之后,所以我的第一个问题是,以下参数对我的情况有效吗?
O = 3; %Number of coefficients in a vector
T = 20; %Number of vectors in a sequence
nex = 50; %Number of sequences
M = 2; %Number of mixtures
Q = 20; %Number of states
第二个问题是,什么算法适合序列预测,并且训练是否是强制性的?
最佳答案
据我了解,我假设您正在训练 200 个不同的类别 (HMM),每个类别有 500 个训练示例(观察序列)。
O
是向量的维数,似乎是正确的。
没有必要有一个固定的T
,这取决于您拥有的观察序列。
M
是状态 GMM 中多元高斯(或混合)的数量。更多内容将更好地适合您的数据并为您提供更高的准确性,但会以性能为代价。选择一个合适的值。
N
不需要等于T
。为了获得最佳状态数 N
,您必须进行基准测试并了解自己:
Determinig the number of hidden states in a Hidden Markov Model
是的,您必须使用 Baum-Welch 算法来训练您的类,可以选择在其前面添加类似分段 k 均值过程的算法。之后,您只需选择概率最高的类,即可使用前向/后向概率或维特比概率轻松执行孤立单元识别。
关于matlab - 使用 HMM Matlab 进行序列预测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23810904/