我对鸟类的运动进行了500次观察。我想预测这只鸟的第501次运动是什么。我在网上搜索,我想这可以通过使用HMM完成,但我没有任何关于该主题的经验。任何人都可以解释用于解决这个问题的算法的步骤吗?
答案 0 :(得分:11)
x1-x2-x3-x4-x5......x500-x501
| | | | | |
y1 y2 y3 y4 y5 y500
x - actual state
y - observations
P(y_i|x_i) - how you think the observation depends on the actual state
P(x_i|x_(i-1)) - how you think the actual state evolves
for i = 1,2,3...,501:
write down best-guess of x_i based on y_i* and x_(i-1)**
you have your solution, since you only care about the last state
* missing in step 1
** missing in step 501
以上称为前向后向算法(http://en.wikipedia.org/wiki/Forward-backward_algorithm),是这种特殊树上的和积算法(在贝叶斯网络树和马尔可夫网络树上)的特例(简单)链节点悬挂)。您可以忽略“向后”步骤,因为您不需要它,因为您只关心最后一个状态。
如果您的HMM中的转换概率未知,则必须: