【问题标题】:Viterbi algorithm for real-time applications实时应用的维特比算法
【发布时间】:2011-12-22 07:34:31
【问题描述】:

我知道,给定一个 HMM 和一个观察,维特比算法可以猜测产生这个观察的隐藏状态序列。但是你想实时使用它的情况呢?我的意思是逐步找到隐藏状态。每次输入上的观察符号时,都会猜测隐藏状态,而无需知道接下来的整个观察序列。 我想将它用于实时运行的音频应用程序,因此观察将是每个时间帧的音频特征值的序列。

【问题讨论】:

  • 你找到答案了吗?

标签: algorithm real-time hidden-markov-models viterbi


【解决方案1】:

如果你有兴趣预测 T 时刻的隐藏状态,当你看到观察 O_T 时,你就有数据 O_1, ..., O_{T-1}, O_T。现在最可能的状态是向前向后找到,其中向后变量只是 1,因为我们看不到未来。总之,我们有 P(我们在时间 T 处于隐藏状态 i) = \alpha_T(i) / P(O_1, ..., O_T | \lambda),其中 P(O_1, ..., O_T| \ λ) = \sum_{i=1}^n \alpha_T(i)。那么 P 的所有 i 的最大索引(我们在时间 T 处于隐藏状态 i)将是您的隐藏状态。

正式符号请参考http://courses.media.mit.edu/2010fall/mas622j/ProblemSets/ps4/tutorial.pdf

如果这是您想要的,或者您有其他想法,请告诉我。如果您只想实时找到最佳状态序列,只需计算 alpha 变量,无需为此展望未来。

【讨论】:

  • 在给定时间=t(现在)之前的状态和观察序列的情况下,如何预测时间=t+1(下一个时间步)的状态?
  • @Anil Vaitla 因为在时间T+1 的新观察可能会修改维特比路径,是否有可靠的方法可以找到从哪个时间t<T 无论新观察如何,维特比路径都不会改变?
猜你喜欢
  • 2012-04-01
  • 1970-01-01
  • 2011-05-02
  • 2013-02-25
  • 2014-06-27
  • 1970-01-01
  • 2017-03-24
  • 2014-10-19
  • 1970-01-01
相关资源
最近更新 更多