Мало знаний, большой вызов! Эта статья участвует в "Необходимые знания для программистов«Творческая деятельность.
Изучение скрытых марковских моделей рекомендуется прочитать в первую очередь«Лучшее введение в цепь Маркова для Xiaobai», мы знаем, что последовательность состояний в скрытой модели Маркова на самом деле является цепью Маркова.
Скрытая марковская модель (HMM) — это относительно классическая модель машинного обучения, которая широко используется в распознавании языков, обработке естественного языка, распознавании образов и других областях. С нынешним ростом глубокого обучения, особенно с популярностью моделей последовательностей нейронных сетей, таких как RNN и LSTM, статус HMM снизился. Однако, как и в случае с классической моделью, изучение модели HMM и соответствующего алгоритма очень полезно для нашей способности решать задачи моделирования и расширять идеи алгоритмов. В этой статье будут представлены основы модели HMM с целью получения предварительного понимания и понимания HMM после прочтения.
1. Для решения каких задач требуется модель HMM
Во-первых, давайте посмотрим, для решения каких задач можно использовать модель HMM. При использовании модели HMM наша проблема обычно имеет следующие две характеристики:
-
Наша проблема основана на последовательности, такой как временной ряд или последовательность состояний.
-
В нашей задаче есть два типа данных: один тип данных последовательности является наблюдаемым, то есть последовательность наблюдения, а другой тип данных является ненаблюдаемым, то есть скрытая последовательность состояний или сокращенно последовательность состояний.
Благодаря этим двум функциям эта проблема может быть решена с помощью модели HMM. Таких проблем в реальной жизни много. Например: "Сейчас я печатаю и пишу в блог. Серия символов, которые я набираю на клавиатуре, — это последовательность наблюдения, а абзац, который я на самом деле хочу написать, — это скрытая последовательность. Задача метода ввода — начать с наберите как можно больше серий символов.Угадайте, что я хочу написать, и поставьте вверху наиболее вероятные слова для моего выбора, что можно расценивать как модель НММ, возьмите еще одно, я с вами разговариваю, и Я произношу серию непрерывных звуков Это последовательность наблюдения, а фактическое предложение, которое я хочу выразить, является последовательностью состояний Задача вашего мозга состоит в том, чтобы судить о содержании того, что я, скорее всего, выскажу из этой серии непрерывных звуков .
Из этих примеров видно, что модели HMM можно использовать везде. Ниже мы выражаем нашу модель HMM в точных математических обозначениях.
2. Определение модели HMM
Для модели HMM сначала мы предполагаем, что ? — это множество всех возможных скрытых состояний, а ? — множество всех возможных наблюдаемых состояний, а именно:
где ? — количество возможных скрытых состояний, а ? — количество всех возможных наблюдаемых состояний.
Для последовательности длины ? ? — соответствующая последовательность состояний, ? — соответствующая последовательность наблюдения, а именно:
Среди них любое скрытое состояние ??∈?, любое наблюдаемое состояние
Модель HMM делает два важных предположения:
1) Гипотеза однородной цепи Маркова. То есть скрытое состояние в любой момент времени зависит только от его предыдущего скрытого состояния. Конечно, это предположение немного экстремально, потому что очень часто одно из наших скрытых состояний зависит не только от предыдущего скрытого состояния, это могут быть первые два или первые три. Но преимущество этого предположения в том, что модель проста и ее легко решить. Если скрытое состояние в момент ? равно, скрытое состояние в момент времени ?+1 равно, то вероятность перехода состояния ГММ от момента времени ? к моменту времени ?+1Это может быть выражено как:
Таким образом, ??? может сформировать матрицу перехода состояний ? цепи Маркова:
2) Допущение независимости от наблюдения. То есть наблюдаемое состояние в любой момент времени зависит только от скрытого состояния в текущий момент времени, что также является допущением для упрощения модели. Если скрытое состояние в момент ? равно, и соответствующее состояние наблюдения равно, то состояние наблюдения в этот моментв скрытом состоянииВероятность появления следующего
, удовлетворять:
Таким образом, ??(?) может сформировать матрицу вероятности ?, сгенерированную состоянием наблюдения:
В дополнение к этому нам нужен набор распределений вероятностей скрытых состояний в момент времени ?=1:
Модель HMM, которую можно определить по начальному распределению вероятностей скрытого состояния, матрица вероятности перехода состоянияи матрица вероятности наблюдаемого состоянияПринять решение.,определить последовательность состояний,Определите последовательность наблюдения. Следовательно, модель HMM можно представить тройкой ? следующим образом:
3. Экземпляр модели HMM
Ниже мы используем простой пример для описания абстрагированной выше модели HMM. Это модель коробки и мяча. Предположим, у нас есть 3 ящика, в каждом ящике есть красные и белые шары, количество шаров в этих трех ящиках равно:
Коробка | 1 | 2 | 3 |
---|---|---|---|
Количество красных шаров | 5 | 4 | 7 |
Количество белых шаров | 5 | 6 | 3 |
Вытащите шар из ящиков следующим образом, начиная с вероятности 0,2 для первого ящика, 0,4 для второго и 0,4 для третьего. После того, как с этой вероятностью шар вытащен один раз, его возвращают обратно. Затем переместитесь из текущего поля в следующее поле, чтобы нарисовать мяч. Правило такое: если коробка, в которой в данный момент вытягивается шарик, является первой коробкой, то с вероятностью 0,5 шарик останется в первой коробке и продолжит вытягиваться, перейти во вторую коробку с вероятностью 0,2, чтобы вытащить шарик , и перейти к третьему ящику с вероятностью 0,3.Ящик с шарами. Если текущим ящиком, в котором вытягивается шарик, является второй ящик, то вероятность 0,5 все еще остается во втором ящике, чтобы продолжить вытаскивать шарик, вероятность 0,3 — в первом ящике, чтобы вытащить шарик, и вероятность 0,2 — в первом ящике. третья коробка, чтобы нарисовать мяч мяч. Если текущим ящиком для розыгрыша является третий ящик, вероятность 0,5 останется в третьем ящике и продолжит вытягивать шарик, вероятность 0,2 перейдет в первый ящик, чтобы вытянуть шарик, а вероятность 0,3 будет вытянута во вторую коробку мяч. И так далее, пока не повторится трижды, чтобы получить последовательность наблюдений за цветом шарика:
Обратите внимание, что во время этого процесса наблюдатель может видеть только последовательность цветов шаров, но не коробку, из которой шары были взяты. Тогда, согласно определению нашей модели HMM в предыдущем разделе, наш набор наблюдений:
Наш набор состояний:
Длина последовательности наблюдения и последовательности состояний равна 3.
Распределение начального состояния:
Матрица распределения вероятности перехода состояния:
Матрица вероятности наблюдаемого состояния:
4. Генерация последовательностей наблюдений HMM
Из примера в предыдущем разделе мы также можем абстрагироваться от процесса генерации последовательности наблюдений HMM.
На входе модель HMM, длина последовательности наблюдений ?
Результатом является последовательность наблюдений
Процесс генерации выглядит следующим образом:
- Сгенерируйте скрытые состояния ?1 в соответствии с начальным распределением вероятностей состояний Π
- for t from 1 to T
- Распределение наблюдаемого состояния в соответствии со скрытым состоянием ??Создать состояние наблюдения
- Согласно распределению вероятности перехода скрытого состояния ??генерировать скрытое состояние
всевместе образуют последовательность наблюдений
5. Три основные проблемы модели HMM
В модели HMM необходимо решить три классические проблемы:
-
Оцените вероятности последовательности наблюдений. То есть, учитывая модель ?=(?,?,Π) и последовательность наблюдений, вычисляет вероятность ?(?|?) наблюдаемой последовательности ? в рамках модели ?. Решение этой задачи требует использования прямого-обратного алгоритма, который является простейшей из трех задач модели НММ.
-
Проблема изучения параметров модели. то есть заданная последовательность наблюдений, оценивая параметры модели ?=(?,?,Π) для максимизации условной вероятности ?(?|?) последовательности наблюдений в модели. Решение этой задачи требует использования алгоритма Баума-Уэлча на основе алгоритма ЕМ, который является наиболее сложным из трех задач модели НММ.
-
Проблема предсказания, также известная как проблема декодирования. То есть, учитывая модель ?=(?,?,Π) и последовательность наблюдений, для нахождения наиболее вероятной соответствующей последовательности состояний при условии заданной последовательности наблюдений.Решение этой задачи требует использования алгоритма Витерби, основанного на динамическом программировании. Эта задача является алгоритмом средней сложности среди трех задач модели HMM.
Основные ссылки статьи:
- Ли Ханг, "Статистические методы обучения"
- woo woo woo.cn блог на.com/pi этого человека/afraid/69…
- Станция БМашинное обучение — серия выводов на доске