Как рассчитать вероятности перехода в НММ с учетом некоторых данных обучения? - PullRequest
0 голосов
/ 22 апреля 2020

Справочная информация: Я только начал изучать скрытые марковские модели (HMM). Я пытаюсь предсказать маршрут водителя с помощью HMM, и у меня есть 22 набора данных GPS, которые соответствуют 22 маршрутам, все из которых имеют одинаковую начальную и конечную точку. Большинство маршрутов отличаются от других, и некоторые из них одинаковы. Пытаясь создать модель HMM, я реализовал ориентированный граф на C ++, используя список смежности и динамические массивы. Этот ориентированный граф имеет узлы, которые представляют пересечения дорог, и направленные ребра / связи, которые представляют дороги, пройденные в одном направлении. По сути, я пытаюсь предсказать следующую ссылку, по которой драйвер будет go давать текущую ссылку. Это все сделано в автономном режиме.

Примечание о моем 5-кортеже HMM: скрытое состояние - это следующая ссылка, наблюдение - это текущая ссылка, на которой включен драйвер, функция наблюдения определена c (что означает, что сопоставление карты является идеальным), начальное состояние - известно, что действия являются нулевыми (не определены явно), и функция перехода, T = T (link_i, link_j) = p (link_i | link_j), где link_j - текущая ссылка, а link_i - следующая возможная ссылка

ниже Я нарисовал ориентированный граф, который содержит 22 маршрута. Все маршруты вождения начинаются в правом верхнем углу, и вождение может быть только go влево или вниз (отсюда и прямые ссылки), в конечном итоге достигая пункта назначения.

На другом изображении я вычислил вероятности перехода используя 22 маршрута. Как вы можете видеть, каждое состояние (ребро / ссылка) соединяется не более чем с двумя другими состояниями. Так, например, я только что отметил, сколько маршрутов go из состояния A в следующее состояние B и сколько маршрутов go из состояния A в состояние C. И вероятности перехода равны (# маршрутов в состоянии B) / (# маршрутов в состоянии A) и (# маршрутов в состоянии C) / (# маршрутов в состоянии A) соответственно. И я сделал то же самое для остальных ссылок.

Теперь мои вопросы: это «нормальный» способ вычисления вероятностей перехода? Это правильно? Кажется, это просто очень просто c Кроме того, я запутался в том, что делать дальше после вычисления вероятностей перехода, используя некоторые обучающие данные. Что мне делать со всеми этими вероятностями перехода? Я ввел данные тестирования сейчас? По сути, моя цель - создать систему навигации по маршруту, которая не требует внешнего вмешательства водителя.

Graph containing 22 driving routes

Hidden Markov model with transition probabilities

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...