我知道给定一个 HMM 和一个观察,维特比算法可以猜测产生这个观察的隐藏状态序列。但是你想实时使用它的情况呢?我的意思是逐步找到隐藏状态。每次输入中的观察符号时,都会猜测隐藏状态,而无需知道接下来的整个观察序列。我想将它用于实时运行的音频应用程序,因此观察将是每个时间帧的音频特征值的序列。
问问题
1435 次
1 回答
0
如果您有兴趣预测时间 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| \ lambda) = \sum_{i=1}^n \alpha_T(i)。那么 P 的所有 i 的最大索引(我们在时间 T 处于隐藏状态 i)将是您的隐藏状态。
正式符号请参考http://courses.media.mit.edu/2010fall/mas622j/ProblemSets/ps4/tutorial.pdf。
请让我知道这是否是您所追求的,或者您是否有其他想法。如果您只想实时找到最佳状态序列,只需计算 alpha 变量,无需为此考虑未来。
于 2013-03-14T07:23:33.243 回答