Скрытая марковская модель для прогнозирования следующего состояния

Я так понял HMM, но не очень хорошо его тренировал. Я не мог понять, как я должен настроить обучение и тестирование в моем случае. Я собираюсь объяснить мою проблему.

Я работаю над набором данных регистрации Foursquare, чтобы смоделировать HMM, чтобы предсказать следующую категорию места пользователя (я предполагаю, что это алгоритм Forward).

Сначала я разделил область, в которой регистрируются данные регистрации, на шестиугольную сетку. Допустим, есть 200 шестиугольников. Эти шестиугольники - мои скрытые состояния. Затем я рассчитал вероятности перехода для этих шестнадцатеричных ячеек, используя порядок шестнадцатеричных посещений пользователей во времени. Матрица перехода 200х200.

Во-вторых, я рассчитал вероятности выбросов путем подсчета количества каждой категории в каждой ячейке. Есть 9 категорий места. Таким образом, матрица эмиссии составляет 200х9.

В-третьих, начальные вероятности рассчитываются путем просмотра распределения проверок в каждой категории.

А именно:

states = ('hex1', 'hex2', ..., 'hex200')

observations = ('category1', 'category2', ..., 'category9')

До этого момента все в порядке. Тем не менее, я хочу предсказать следующую категорию пользователя, если я знаю его / ее ранее расположенные гексы и категории.

Я хочу обучить свою модель, затем протестировать ее, а также показать точность моих прогнозов в соответствии с моделью. Для этого модель должна быть обучена с какими последовательностями? Я не могу понять, как я могу предсказать следующую категорию и, что более важно, как я могу настроить модель для максимизации ожиданий. Любые усилия, чтобы помочь мне, будут оценены. Если вы хотите объяснить это как пример кода, вы можете написать его в псевдо или MATLAB. Кроме того, словесное объяснение в порядке.

0 ответов

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