Определить скрытую марковскую модель для слова

Я пытаюсь определить скрытую марковскую модель и предсказать, является ли данная последовательность слов правильной, используя алгоритм Витерби ( 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 которая помогла определить вероятности выбросов.

1 ответ

Решение

Я думаю, что вы путаете вероятности выбросов с вероятностями переходов. При определении HMM необходимо определить

  • набор (скрытых) состояний, набор наблюдаемых,
  • матрица перехода состояний, описывающая вероятность перехода из одного пространства в другое
  • вероятности излучения, описывающие вероятность наблюдения одной наблюдаемой из данного (скрытого) состояния
  • вектор вероятности начального состояния, описывающий вашу вероятность запуска в данном состоянии.

Если они находятся в вашем корпусе, я полагаю, что a, b и d - это ваши наблюдаемые, а не ваши состояния. Вам необходимо определить соответствующие состояния для завершения вашего HMM. Если вы можете наблюдать за состоянием, то ваша марковская модель не скрыта, это простая марковская модель и в алгоритме Витерби нет необходимости

Другие вопросы по тегам