使用HMM Matlab进行序列预测

时间:2014-05-22 15:18:04

标签: matlab machine-learning sequence prediction hidden-markov-models

我目前正在学习隐藏马尔可夫模型的murphyk's工具箱,但我确定了我的模型的系数以及通过对数似然进行序列预测的算法。

我的情景:

我在3D空间中有飞鸟的轨迹,即其XYZ位于连续 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 

第二个问题是,什么算法适合于序列预测,是否必须进行培训?

1 个答案:

答案 0 :(得分:1)

根据我的理解,我假设您正在训练200个不同的班级(HMM),每个班级有500个训练样例(观察序列)。

O是向量的维数,似乎是正确的。

无需固定T,这取决于您的观察序列。

M是一个州的GMM中的多元高斯(或混合)的数量。更多将更好地适应您的数据,并提供更好的准确性,但代价是性能。选择合适的值。

N不一定等于T。对于最佳状态数N,您必须进行基准测试并了解自己:

Determinig the number of hidden states in a Hidden Markov Model

是的,您必须使用Baum-Welch算法训练您的课程,可选择在此之前使用分段k-means程序。之后,只需选择概率最高的类,就可以使用前向/后向概率或维特比概率轻松执行孤立单元识别。