matlab - 使用 HMM Matlab 进行序列预测

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

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

我的场景:

我有飞鸟在 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 

第二个问题是,什么算法适合序列预测,并且训练是否是强制性的?

最佳答案

据我了解,我假设您正在训练 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/

相关文章:

clojure - 在迭代序列时特殊处理最后一个元素

function - 将函数序列映射到序列

matlab - "Cut out"基于边缘检测的图像

matlab - 在哪里可以找到 MATLAB 的正式语法?

python - 获得 100% 的训练准确率,但获得 60% 的测试准确率

machine-learning - "local solution"在svm中是什么意思?

oracle - 关于Oracle序列的问题

MATLAB:查找图像中特定 RGB 像素值的索引/计数

c++ - C++ 中的 MATLAB 张量索引

python - 将 Pandas Dataframe 转换为数组并评估多元线性回归模型