0

我正在尝试定义一个隐藏的马尔可夫模型并使用维特比算法(https://en.wikipedia.org/wiki/Viterbi_algorithm)预测给定的单词序列是否正确。为了帮助理解,我尝试定义模型参数:

语料库中的字母是abbd。从这里我定义:

states : a,b,b,d

trans_p (transition probabilities) : 
There are
 a : 1/4
 b : 2/4
 d : 1/4

emit_p (emission probabilities) : 
 count(a->b) / count(a) = 1/1 = 1
 count(b->b) / count(b) = 1/2 = 1/2
 count(b->d) / count(b) = 1/2 = 1/2

以上正确吗?

我需要定义转换概率d吗?我需要为b->a&定义排放概率b->d吗?

我还参考了: https ://stats.stackexchange.com/questions/212961/calculating-emission-probability-values-for-hidden-markov-model-hmm ,它有助于定义排放概率。

4

1 回答 1

0

我认为您将发射概率与转换概率混淆了。在定义 HMM 时,需要定义

  • 一组(隐藏的)状态,一组可观察的,
  • 描述从一个空间到下一个空间的概率的状态转移矩阵
  • 描述从给定(隐藏)状态观察到一个可观察的概率的发射概率
  • 一个初始状态概率向量,描述您在给定状态下开始的概率。

如果它们在您的语料库中,我认为 a、b 和 d 是您的可观察量,而不是您的状态。你需要定义相关的状态来完成你的 HMM。如果你能观察到状态,那么你的马尔科夫模型不是隐藏的,它是一个普通的马尔科夫模型,不需要维特比算法

于 2018-03-13T10:39:48.597 回答