确定隐马尔科夫模型中隐藏状态的数量 [英] Determinig the number of hidden states in a Hidden Markov Model

查看:1445
本文介绍了确定隐马尔科夫模型中隐藏状态的数量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在学习用于在t个图像帧序列中分类运动的隐马尔科夫模型。

I am learning about Hidden Markov Models for classifying motion in a sequence of t image frames.

假设我有来自每个帧的特征的m维。然后我将它聚集成一个符号(对于可观察的符号)。

Assume I have m dimensions of feature from each frame. Then I cluster it into a symbol (for observable symbol). And I create k different HMM model for k class.

那么,如何确定每个模型的隐藏状态的数量以优化预测?

Then, how do I determine the number of hidden states for each model to optimise prediction ?

Btw,是我的方法正确吗?如果我误解了如何使用它,请更正我:)

Btw, is my approach correct? If I misunderstood how to use it, please correct me:)

感谢:)

推荐答案

我的方法是否正确?



您当前的方法是正确的。我几个星期前也做过同样的事情,并提出了同样的问题。我已经建立了一个手势识别工具。

"is my approach already correct?"

Your current approach is correct. I have done the same thing some weeks ago and had asked the same questions. I have built a gesture recognition tool.

你说你有k个类,你想要识别,所以是的,你会训练k HMM。对于每个HMM,你为每个隐藏的markov模型运行Forward算法并接收 P(HMM |观察)(或者维特比解码也是可能的)。

You say you have k classes you want to recognize, so yes, you will train k HMM. For each HMM you run Forward algorithm and receive P(HMM|observation) for each hidden markov model (alternatively Viterbi decoding is also possible). Then you take the one with the highest probability.

将m维特征向量作为单个观察符号也是正确的。根据你的矢量的外观,你可能想使用连续的隐马尔可夫模型或离散的隐马尔可夫模型。使用离散的训练数据通常更容易和更容易训练。因此,如果你的特征向量空间是连续的,你可能想考虑离散化使所有的值离散(例如通过统一的类)。
关于离散性的问题是:你将有多少类的观察值?

It's also correct to see the m-dimensional feature vector as a single observation symbol. Depending on what your vector looks like, you might want to use a continuous hidden markov model or a discrete hidden markov model. Working with discrete ones is often easier and easier to train with little training data. So in case your feature vector space is continuous, you might want to consider discretization to make all values discrete (e.g. through uniform classes). The question about discreteness is: How many classes of observations will you have?

但是,我不能完全回答你关于隐藏状态数的实际问题。从我在其他领域的教学,似乎它是很多基准和测试。例如。在语音再现中,我们对每个音素(人类声音)使用3个HMM状态,因为在开始,中间和结束时,声音听起来不同。然后每个不同的音素获得一个三元组。但这当然是工程。

However, I cannot fully answer your actual question about the number of hidden states. From what I have been taught in other areas, it seems like it's a lot of benchmarking and testing. E.g. in speech recongition we use 3 HMM states for each phonem (human sound), because sounds sound different at the beginning, in the middle and at the end. And then each different phonem gets one triple. But that was of course engineering.

在我自己的应用程序中,我这样想:我想定义手势,并将它们与方向。喜欢 open_firefox = [UP,RIGHT] 。所以我决定对所有四个方向使用四个隐藏状态。
我想知道最好的州数量是很多关于工程和尝试不同的东西。

In my own application I have thought like this: I wanted to define gestures and associate them with directions. Like open_firefox = [UP, RIGHT]. So I decided to use four hidden states for all four directions. I guess finding out the best number of states is a lot about engineering and trying out different things.

这篇关于确定隐马尔科夫模型中隐藏状态的数量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆