Скрытая марковская модель ( HMM ) — это марковская модель , в которой наблюдения зависят от латентного (или скрытого ) марковского процесса (называемого ). HMM требует, чтобы существовал наблюдаемый процесс , результаты которого зависят от результатов известным образом. Поскольку нельзя наблюдать напрямую, цель состоит в том, чтобы узнать о состоянии, наблюдая . По определению, будучи марковской моделью, HMM имеет дополнительное требование, что результат в момент времени должен быть «подвержен» исключительно влиянию результата в , а результаты и в должны быть условно независимыми от в заданный момент времени . Оценка параметров в HMM может быть выполнена с использованием оценки максимального правдоподобия . Для линейных цепных HMM алгоритм Баума–Велча может быть использован для оценки параметров.
Скрытые марковские модели известны своими приложениями в термодинамике , статистической механике , физике , химии , экономике , финансах , обработке сигналов , теории информации , распознавании образов , таких как речь , [1] почерк , распознавание жестов , [2] разметка частей речи , отслеживание музыкальной партитуры, [3] частичные разряды [4] и биоинформатика . [5] [6]
Пусть и будут дискретными по времени стохастическими процессами и . Пара является скрытой марковской моделью, если
Пусть и будут непрерывными во времени стохастическими процессами. Пара является скрытой марковской моделью, если
Состояния процесса (соответственно) называются скрытыми состояниями , а (соответственно) называются вероятностью испускания или вероятностью выхода .
В своей дискретной форме скрытый марковский процесс можно визуализировать как обобщение задачи об урне с заменой (где каждый элемент из урны возвращается в исходную урну перед следующим шагом). [7] Рассмотрим такой пример: в комнате, которая не видна наблюдателю, находится джинн. В комнате находятся урны X1, X2, X3, ..., каждая из которых содержит известную смесь шаров, причем каждый шар имеет уникальную метку y1, y2, y3, ... . Джинн выбирает урну в этой комнате и случайным образом вытаскивает шар из этой урны. Затем он кладет шар на конвейерную ленту, где наблюдатель может наблюдать последовательность шаров, но не последовательность урн, из которых они были вытащены. У джинна есть некоторая процедура для выбора урн; выбор урны для n -го шара зависит только от случайного числа и выбора урны для ( n − 1)-го шара. Выбор урны не зависит напрямую от урн, выбранных до этой единственной предыдущей урны; поэтому это называется марковским процессом . Его можно описать верхней частью рисунка 1.
Марковский процесс нельзя наблюдать, только последовательность помеченных шаров, поэтому такое расположение называется скрытым марковским процессом . Это иллюстрирует нижняя часть диаграммы, показанной на рисунке 1, где можно увидеть, что шары y1, y2, y3, y4 могут быть извлечены в каждом состоянии. Даже если наблюдатель знает состав урн и только что наблюдал последовательность из трех шаров, например y1, y2 и y3 на конвейерной ленте, наблюдатель все еще не может быть уверен, из какой урны ( т. е . в каком состоянии) джинн вытащил третий шар. Однако наблюдатель может выработать другую информацию, такую как вероятность того, что третий шар пришел из каждой из урн.
Рассмотрим двух друзей, Алису и Боба, которые живут далеко друг от друга и ежедневно обсуждают по телефону, что они делали в тот день. Боба интересуют только три занятия: прогулки в парке, шопинг и уборка квартиры. Выбор того, что делать, определяется исключительно погодой в данный день. У Алисы нет определенной информации о погоде, но она знает общие тенденции. Основываясь на том, что Боб рассказывает ей о своих ежедневных занятиях, Алиса пытается угадать, какая была погода.
Алиса считает, что погода работает как дискретная цепь Маркова . Есть два состояния, «Дождливо» и «Солнечно», но она не может наблюдать их напрямую, то есть они скрыты от нее. В каждый день есть определенная вероятность того, что Боб выполнит одно из следующих действий, в зависимости от погоды: «прогулка», «шопинг» или «уборка». Поскольку Боб рассказывает Алисе о своих действиях, это и есть наблюдения . Вся система является скрытой марковской моделью (СММ).
Алиса знает общие погодные тенденции в этом районе и то, что Боб любит делать в среднем. Другими словами, параметры HMM известны. Их можно представить следующим образом на Python :
состояния = ( "Дождливо" , "Солнечно" )наблюдения = ( "прогулка" , "магазин" , "чистка" )start_probability = { "Дождливо" : 0,6 , "Солнечно" : 0,4 }transition_probability = { "Дождливо" : { "Дождливо" : 0,7 , "Солнечно" : 0,3 }, "Солнечно" : { "Дождливо" : 0,4 , "Солнечно" : 0,6 }, }emit_probability = { "Дождливый" : { "прогулка" : 0,1 , "магазин" : 0,4 , "чистый" : 0,5 }, "Солнечный" : { "прогулка" : 0,6 , "магазин" : 0,3 , "чистый" : 0,1 }, }
В этом фрагменте кода start_probability
представляет убеждение Алисы о том, в каком состоянии находится HMM, когда Боб впервые звонит ей (все, что она знает, это то, что в среднем идет дождь). Конкретное распределение вероятностей, используемое здесь, не является равновесным, которое (с учетом вероятностей перехода) приблизительно равно {'Rainy': 0.57, 'Sunny': 0.43}
. transition_probability
представляет изменение погоды в базовой цепи Маркова. В этом примере существует только 30%-ная вероятность того, что завтра будет солнечно, если сегодня дождливо. emission_probability
представляет вероятность того, что Боб выполнит определенное действие в каждый день. Если идет дождь, есть 50%-ная вероятность того, что он убирается в своей квартире; если солнечно, есть 60%-ная вероятность того, что он гуляет на улице.
Похожий пример более подробно рассмотрен на странице алгоритма Витерби .
На диаграмме ниже показана общая архитектура инстанцированной HMM. Каждая овальная форма представляет собой случайную величину, которая может принимать любое из ряда значений. Случайная величина x ( t ) является скрытым состоянием в момент времени t (с моделью из приведенной выше диаграммы, x ( t ) ∈ { x 1 , x 2 , x 3 }) . Случайная величина y ( t ) является наблюдением в момент времени t (с y ( t ) ∈ { y 1 , y 2 , y 3 , y 4 }) . Стрелки на диаграмме (часто называемой решетчатой диаграммой ) обозначают условные зависимости.
Из диаграммы видно, что условное распределение вероятностей скрытой переменной x ( t ) в момент времени t , при заданных значениях скрытой переменной x во все моменты времени, зависит только от значения скрытой переменной x ( t − 1 ) ; значения в момент времени t − 2 и ранее не оказывают никакого влияния. Это называется свойством Маркова . Аналогично, значение наблюдаемой переменной y ( t ) зависит только от значения скрытой переменной x ( t ) (оба в момент времени t ).
В стандартном типе скрытой марковской модели, рассматриваемой здесь, пространство состояний скрытых переменных является дискретным, в то время как сами наблюдения могут быть либо дискретными (обычно генерируемыми из категориального распределения ), либо непрерывными (обычно из гауссовского распределения ). Параметры скрытой марковской модели бывают двух типов: вероятности перехода и вероятности эмиссии (также известные как вероятности выхода ). Вероятности перехода управляют способом выбора скрытого состояния в момент времени t с учетом скрытого состояния в момент времени .
Предполагается, что скрытое пространство состояний состоит из одного из N возможных значений, смоделированных как категориальное распределение. (См. раздел ниже о расширениях для других возможностей.) Это означает, что для каждого из N возможных состояний, в которых может находиться скрытая переменная в момент времени t , существует вероятность перехода из этого состояния в каждое из N возможных состояний скрытой переменной в момент времени , для общего числа вероятностей перехода. Набор вероятностей перехода для переходов из любого заданного состояния должен в сумме давать 1. Таким образом, матрица вероятностей перехода является матрицей Маркова . Поскольку любая вероятность перехода может быть определена, если известны другие, существует общее число параметров перехода.
Кроме того, для каждого из N возможных состояний существует набор вероятностей эмиссии, управляющих распределением наблюдаемой переменной в определенное время с учетом состояния скрытой переменной в это время. Размер этого набора зависит от природы наблюдаемой переменной. Например, если наблюдаемая переменная дискретна с M возможными значениями, управляемыми категориальным распределением , будут отдельные параметры для общей суммы параметров эмиссии по всем скрытым состояниям. С другой стороны, если наблюдаемая переменная представляет собой M -мерный вектор, распределенный в соответствии с произвольным многомерным гауссовым распределением , будет M параметров, управляющих средними значениями , и параметров, управляющих ковариационной матрицей , для общей суммы параметров эмиссии. (В таком случае, если значение M не мало, может быть более практичным ограничить природу ковариаций между отдельными элементами вектора наблюдения, например, предположив, что элементы независимы друг от друга, или, что менее строго, независимы от всех, кроме фиксированного числа соседних элементов.)
Со скрытыми марковскими моделями связано несколько проблем вывода , как описано ниже.
Задача состоит в том, чтобы вычислить наилучшим образом, учитывая параметры модели, вероятность конкретной выходной последовательности. Это требует суммирования по всем возможным последовательностям состояний:
Вероятность наблюдения последовательности
длины L определяется как
где сумма пробегает все возможные последовательности скрытых узлов
Применяя принцип динамического программирования , эту задачу также можно эффективно решить с помощью прямого алгоритма .
В ряде связанных задач рассматривается вероятность одной или нескольких скрытых переменных с учетом параметров модели и последовательности наблюдений .
Задача состоит в том, чтобы вычислить, учитывая параметры модели и последовательность наблюдений, распределение по скрытым состояниям последней скрытой переменной в конце последовательности, т.е. вычислить . Эта задача используется, когда последовательность скрытых переменных рассматривается как базовые состояния, через которые проходит процесс в последовательности точек во времени, с соответствующими наблюдениями в каждой точке. Тогда естественно спросить о состоянии процесса в конце.
Эту проблему можно эффективно решить с помощью прямого алгоритма . Примером является случай, когда алгоритм применяется к скрытой марковской сети для определения .
Это похоже на фильтрацию, но спрашивает о распределении скрытой переменной где-то в середине последовательности, то есть для вычисления некоторого . С точки зрения, описанной выше, это можно рассматривать как распределение вероятностей по скрытым состояниям для момента времени k в прошлом относительно времени t .
Алгоритм «вперед-назад» является хорошим методом вычисления сглаженных значений для всех скрытых переменных состояния.
Задача, в отличие от двух предыдущих, спрашивает о совместной вероятности всей последовательности скрытых состояний, которые сгенерировали определенную последовательность наблюдений (см. иллюстрацию справа). Эта задача обычно применима, когда HMM применяются к разным видам задач, нежели те, для которых применимы задачи фильтрации и сглаживания. Примером является разметка частей речи , где скрытые состояния представляют собой базовые части речи, соответствующие наблюдаемой последовательности слов. В этом случае интерес представляет вся последовательность частей речи, а не просто часть речи для одного слова, как вычисляли бы фильтрация или сглаживание.
Эта задача требует нахождения максимума среди всех возможных последовательностей состояний и может быть эффективно решена с помощью алгоритма Витерби .
Для некоторых из вышеперечисленных проблем также может быть интересно спросить о статистической значимости . Какова вероятность того, что последовательность, взятая из некоторого нулевого распределения, будет иметь вероятность HMM (в случае прямого алгоритма) или максимальную вероятность последовательности состояний (в случае алгоритма Витерби), по крайней мере такую же большую, как и у конкретной выходной последовательности? [8] Когда HMM используется для оценки релевантности гипотезы для конкретной выходной последовательности, статистическая значимость указывает на ложноположительный уровень , связанный с невозможностью отвергнуть гипотезу для выходной последовательности.
Задача обучения параметров в HMM заключается в том, чтобы найти, учитывая выходную последовательность или набор таких последовательностей, наилучший набор вероятностей перехода состояний и выбросов. Обычно задача состоит в том, чтобы вывести оценку максимального правдоподобия параметров HMM, учитывая набор выходных последовательностей. Неизвестно ни одного поддающегося обработке алгоритма для точного решения этой задачи, но локальное максимальное правдоподобие может быть эффективно получено с помощью алгоритма Баума-Велча или алгоритма Балди-Шовена. Алгоритм Баума-Велча является частным случаем алгоритма максимизации ожидания .
Если HMM используются для прогнозирования временных рядов, более сложные методы байесовского вывода, такие как выборка Монте-Карло с цепями Маркова (MCMC), как доказано, более предпочтительны по сравнению с поиском единственной модели максимального правдоподобия как с точки зрения точности, так и стабильности. [9] Поскольку MCMC налагает значительную вычислительную нагрузку, в случаях, когда масштабируемость вычислений также представляет интерес, можно в качестве альтернативы прибегнуть к вариационным приближениям к байесовскому выводу, например [10] Действительно, приближенный вариационный вывод обеспечивает вычислительную эффективность, сравнимую с максимизацией ожидания, при этом обеспечивая профиль точности, лишь немного уступающий точному байесовскому выводу типа MCMC.
HMM могут применяться во многих областях, где целью является восстановление последовательности данных, которая не является наблюдаемой немедленно (но другие данные, зависящие от последовательности, являются наблюдаемыми). Приложения включают:
Скрытые марковские модели были описаны в серии статистических работ Леонарда Э. Баума и других авторов во второй половине 1960-х годов. [29] [30] [31] [32] [33] Одним из первых применений HMM было распознавание речи , начавшееся в середине 1970-х годов. [34] [35] [36] [37] С точки зрения лингвистики скрытые марковские модели эквивалентны стохастической регулярной грамматике. [38]
Во второй половине 1980-х годов HMM начали применять для анализа биологических последовательностей, [39] в частности ДНК . С тех пор они стали повсеместно использоваться в области биоинформатики . [40]
В скрытых марковских моделях, рассмотренных выше, пространство состояний скрытых переменных является дискретным, в то время как сами наблюдения могут быть либо дискретными (обычно генерируемыми из категориального распределения ), либо непрерывными (обычно из гауссовского распределения ). Скрытые марковские модели также могут быть обобщены, чтобы разрешить непрерывные пространства состояний. Примерами таких моделей являются те, в которых марковский процесс над скрытыми переменными является линейной динамической системой с линейной зависимостью между связанными переменными и где все скрытые и наблюдаемые переменные следуют гауссовому распределению . В простых случаях, таких как только что упомянутая линейная динамическая система, точный вывод поддается обработке (в данном случае с использованием фильтра Калмана ); однако, в общем случае, точный вывод в HMM с непрерывными скрытыми переменными неосуществим, и необходимо использовать приближенные методы, такие как расширенный фильтр Калмана или фильтр частиц .
В настоящее время вывод в скрытых марковских моделях выполняется в непараметрических условиях, где структура зависимости обеспечивает идентифицируемость модели [41] , а пределы обучаемости все еще изучаются. [42]
Скрытые марковские модели являются генеративными моделями , в которых моделируется совместное распределение наблюдений и скрытых состояний или, что эквивалентно, как априорное распределение скрытых состояний ( вероятности перехода ), так и условное распределение наблюдений с учетом состояний ( вероятности эмиссии ). Вышеуказанные алгоритмы неявно предполагают равномерное априорное распределение по вероятностям перехода. Однако также возможно создавать скрытые марковские модели с другими типами априорных распределений. Очевидным кандидатом, учитывая категориальное распределение вероятностей перехода, является распределение Дирихле , которое является сопряженным априорным распределением категориального распределения. Обычно выбирается симметричное распределение Дирихле, отражающее незнание того, какие состояния по своей сути более вероятны, чем другие. Единственный параметр этого распределения (называемый параметром концентрации ) контролирует относительную плотность или разреженность результирующей матрицы перехода. Выбор 1 дает равномерное распределение. Значения больше 1 приводят к плотной матрице, в которой вероятности перехода между парами состояний, скорее всего, будут почти равны. Значения меньше 1 приводят к разреженной матрице, в которой для каждого заданного исходного состояния только небольшое количество целевых состояний имеют не пренебрежимо малые вероятности перехода. Также можно использовать двухуровневое априорное распределение Дирихле, в котором одно распределение Дирихле (верхнее распределение) управляет параметрами другого распределения Дирихле (нижнее распределение), которое, в свою очередь, управляет вероятностями перехода. Верхнее распределение управляет общим распределением состояний, определяя вероятность возникновения каждого состояния; его параметр концентрации определяет плотность или разреженность состояний. Такое двухуровневое априорное распределение, в котором оба параметра концентрации установлены для получения разреженных распределений, может быть полезным, например, при неконтролируемой разметке частей речи , где некоторые части речи встречаются гораздо чаще других; алгоритмы обучения, которые предполагают равномерное априорное распределение, как правило, плохо справляются с этой задачей. Параметры моделей такого рода с неравномерными априорными распределениями можно узнать с помощью выборки Гиббса или расширенных версий алгоритма максимизации ожидания .
Расширение ранее описанных скрытых марковских моделей с априорными распределениями Дирихле использует процесс Дирихле вместо распределения Дирихле. Этот тип модели допускает неизвестное и потенциально бесконечное число состояний. Обычно используется двухуровневый процесс Дирихле, аналогичный ранее описанной модели с двумя уровнями распределений Дирихле. Такая модель называется иерархической скрытой марковской моделью процесса Дирихле , или сокращенно HDP-HMM . Первоначально она была описана под названием «Бесконечная скрытая марковская модель» [43] и была далее формализована в «Иерархических процессах Дирихле». [44]
Другой тип расширения использует дискриминативную модель вместо генеративной модели стандартных HMM. Этот тип модели напрямую моделирует условное распределение скрытых состояний с учетом наблюдений, а не моделирует совместное распределение. Примером этой модели является так называемая модель Маркова с максимальной энтропией (MEMM), которая моделирует условное распределение состояний с использованием логистической регрессии (также известная как « модель с максимальной энтропией »). Преимущество этого типа модели заключается в том, что можно моделировать произвольные признаки (т. е. функции) наблюдений, что позволяет вводить в модель знания, специфичные для конкретной области, о рассматриваемой проблеме. Модели такого рода не ограничиваются моделированием прямых зависимостей между скрытым состоянием и связанным с ним наблюдением; скорее, признаки близлежащих наблюдений, комбинации соответствующего наблюдения и близлежащих наблюдений или фактически произвольные наблюдения на любом расстоянии от заданного скрытого состояния могут быть включены в процесс, используемый для определения значения скрытого состояния. Более того, нет необходимости, чтобы эти признаки были статистически независимы друг от друга, как это было бы в случае использования таких признаков в генеративной модели. Наконец, можно использовать произвольные признаки по парам смежных скрытых состояний вместо простых вероятностей перехода. Недостатки таких моделей: (1) Типы априорных распределений, которые можно разместить на скрытых состояниях, серьезно ограничены; (2) Невозможно предсказать вероятность увидеть произвольное наблюдение. Это второе ограничение часто не является проблемой на практике, поскольку многие общие применения HMM не требуют таких предсказательных вероятностей.
Вариантом ранее описанной дискриминативной модели является линейно-цепочечное условное случайное поле . Оно использует ненаправленную графическую модель (также известную как марковское случайное поле ), а не направленные графические модели MEMM и подобных моделей. Преимущество этого типа модели в том, что она не страдает от так называемой проблемы смещения меток MEMM, и, таким образом, может делать более точные прогнозы. Недостатком является то, что обучение может быть медленнее, чем для MEMM.
Еще одним вариантом является факторная скрытая марковская модель , которая позволяет обуславливать одно наблюдение соответствующими скрытыми переменными набора независимых марковских цепей, а не одной марковской цепи. Она эквивалентна одной HMM с состояниями (предполагая, что для каждой цепи есть состояния), и поэтому обучение в такой модели затруднено: для последовательности длины простой алгоритм Витерби имеет сложность . Чтобы найти точное решение, можно использовать алгоритм дерева соединений, но это приводит к сложности. На практике можно использовать приближенные методы, такие как вариационные подходы. [45]
Все вышеперечисленные модели могут быть расширены для учета более отдаленных зависимостей между скрытыми состояниями, например, позволяя данному состоянию зависеть от предыдущих двух или трех состояний, а не от одного предыдущего состояния; т. е. вероятности перехода расширены для охвата наборов из трех или четырех смежных состояний (или в общем случае смежных состояний). Недостатком таких моделей является то, что алгоритмы динамического программирования для их обучения имеют время выполнения для смежных состояний и общих наблюдений (т. е. длина цепи Маркова). Это расширение широко использовалось в биоинформатике , при моделировании последовательностей ДНК .
Другим недавним расширением является модель триплета Маркова [46] , в которой вспомогательный базовый процесс добавляется для моделирования некоторых особенностей данных. Было предложено много вариантов этой модели. Следует также упомянуть интересную связь, которая была установлена между теорией доказательств и моделями триплета Маркова [47] , и которая позволяет объединять данные в марковском контексте [48] и моделировать нестационарные данные. [49] [50] Альтернативные стратегии объединения многопоточных данных также были предложены в недавней литературе, например, [51]
Наконец, в 2012 году было предложено другое обоснование для решения проблемы моделирования нестационарных данных с помощью скрытых марковских моделей. [52] Оно заключается в использовании небольшой рекуррентной нейронной сети (RNN), в частности, резервуарной сети, [53] для захвата эволюции временной динамики в наблюдаемых данных. Эта информация, закодированная в форме многомерного вектора, используется в качестве условной переменной вероятностей перехода состояний HMM. При такой настройке в конечном итоге получается нестационарная HMM, вероятности перехода которой развиваются со временем таким образом, который выводится из данных, в отличие от некоторой нереалистичной ad-hoc модели временной эволюции.
В 2023 году были представлены два инновационных алгоритма для скрытой марковской модели. Эти алгоритмы позволяют вычислять апостериорное распределение HMM без необходимости явного моделирования совместного распределения, используя только условные распределения. [54] [55] В отличие от традиционных методов, таких как алгоритмы «вперед-назад» и Витерби, которые требуют знания совместного закона HMM и могут быть вычислительно интенсивными для обучения, дискриминационные алгоритмы «вперед-назад» и «дискриминационный алгоритм Витерби» обходят необходимость в законе наблюдения. [56] [57] Этот прорыв позволяет применять HMM в качестве дискриминационной модели, предлагая более эффективный и универсальный подход к использованию скрытых марковских моделей в различных приложениях.
Модель, пригодная в контексте продольных данных, называется латентной марковской моделью. [58] Базовая версия этой модели была расширена для включения отдельных ковариатов, случайных эффектов и моделирования более сложных структур данных, таких как многоуровневые данные. Полный обзор латентных марковских моделей с особым вниманием к предположениям модели и их практическому использованию представлен в [59]
При наличии матрицы перехода Маркова и инвариантного распределения на состояниях вероятностная мера может быть наложена на множество подсдвигов. Например, рассмотрим цепь Маркова, заданную слева на состояниях , с инвариантным распределением . Игнорируя различие между , это пространство подсдвигов проецируется на в другое пространство подсдвигов на , и эта проекция также проецирует вероятностную меру вниз до вероятностной меры на подсдвиги на .
Любопытно, что вероятностная мера на подсдвиги на не создается цепью Маркова на , даже не несколькими порядками. Интуитивно это происходит потому, что если наблюдать длинную последовательность , то становится все более и более уверенным, что , что означает, что наблюдаемая часть системы может быть затронута чем-то бесконечно в прошлом. [60] [61]
Наоборот, существует пространство подсдвигов на 6 символах, проецируемое на подсдвиги на 2 символах, такое, что любая марковская мера на меньшем подсдвиге имеет прообразную меру, которая не является марковской ни одного порядка (пример 2.6 [61] ).