Скрытая марковская модель ( HMM ) — это марковская модель , в которой наблюдения зависят от скрытого (или «скрытого») марковского процесса (называемого «скрытым » ). HMM требует, чтобы существовал наблюдаемый процесс , результаты которого зависят от результатов известным образом. Поскольку его нельзя наблюдать напрямую, цель состоит в том, чтобы узнать о состоянии путем наблюдения . результаты и at должны быть условно независимыми от at в данный момент времени. Оценка параметров в 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 на конвейерной ленте, наблюдатель все равно не может быть уверен, какую урну ( т . е . в каком состоянии) нарисовал джинн. третий мяч из. Однако наблюдатель может получить и другую информацию, например, вероятность того, что третий шар выпал из каждой из урн.
Рассмотрим двух друзей, Алису и Боба, которые живут далеко друг от друга и ежедневно разговаривают по телефону о том, что они сделали в тот день. Боба интересуют только три занятия: прогулка в парке, шопинг и уборка в квартире. Выбор того, чем заняться, определяется исключительно погодой в данный день. Алиса не имеет точной информации о погоде, но знает общие тенденции. Основываясь на том, что Боб рассказывает ей, что он делал каждый день, Алиса пытается угадать, какая должна была быть погода.
Алиса считает, что погода действует как дискретная цепь Маркова . Есть два состояния, «Дождливое» и «Солнечное», но она не может наблюдать их непосредственно, то есть они скрыты от нее. Каждый день есть определенный шанс, что Боб выполнит одно из следующих действий, в зависимости от погоды: «гулять», «ходить по магазинам» или «убираться». Поскольку Боб рассказывает Алисе о своей деятельности, это и есть наблюдения . Вся система представляет собой скрытую марковскую модель (СММ).
Алиса знает общие погодные тенденции в этом районе и то, что в среднем любит делать Боб. Другими словами, параметры ГММ известны. В Python их можно представить следующим образом :
состояния = ( «Дождливо» , «Солнечно» )наблюдения = ( «прогулка» , «магазин» , «чистота» )start_probability = { «Дождливо» : 0,6 , «Солнечно» : 0,4 }transition_probability = { "Дождливо" : { "Дождливо" : 0,7 , "Солнечно" : 0,3 }, "Солнечно" : { "Дождливо" : 0,4 , "Солнечно" : 0,6 }, }emmission_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 ) ∈ { x1 , x2 , x3 } ). Случайная величина y ( t ) — это наблюдение в момент времени t ( где y ( t ) ∈ { y1 , y2 , y3 , y4 } ). Стрелки на диаграмме (часто называемой решетчатой диаграммой ) обозначают условные зависимости.
Из диаграммы видно, что условное распределение вероятностей скрытой переменной 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 (в случае прямого алгоритма) или максимальную вероятность последовательности состояний (в случае алгоритма Витерби), по крайней мере, такую же большую, как и у конкретного последовательность вывода? [8] Когда HMM используется для оценки релевантности гипотезы для конкретной выходной последовательности, статистическая значимость указывает на частоту ложных срабатываний , связанную с невозможностью отклонения гипотезы для выходной последовательности.
Задача обучения параметров в HMM состоит в том, чтобы найти, учитывая выходную последовательность или набор таких последовательностей, лучший набор вероятностей перехода состояний и выбросов. Задача обычно состоит в том, чтобы получить оценку максимального правдоподобия параметров HMM с учетом набора выходных последовательностей. Неизвестен понятный алгоритм для точного решения этой проблемы, но локальное максимальное правдоподобие можно эффективно получить с помощью алгоритма Баума – Уэлча или алгоритма Бальди – Шовена. Алгоритм Баума -Уэлча является частным случаем алгоритма максимизации ожидания .
Если HMM используются для прогнозирования временных рядов, более сложные методы байесовского вывода, такие как выборка цепей Маркова Монте-Карло (MCMC), оказываются более предпочтительными по сравнению с поиском единой модели максимального правдоподобия как с точки зрения точности, так и стабильности. [9] Поскольку MCMC налагает значительную вычислительную нагрузку, в тех случаях, когда масштабируемость вычислений также представляет интерес, можно альтернативно прибегнуть к вариационным аппроксимациям байесовского вывода, например [10] Действительно, приближенный вариационный вывод обеспечивает вычислительную эффективность, сравнимую с максимизацией ожидания, в то время как что дает профиль точности лишь немного уступающий точному байесовскому выводу типа MCMC.
HMM могут применяться во многих областях, где целью является восстановление последовательности данных, которую нельзя наблюдать немедленно (но другие данные, зависящие от последовательности, можно). Приложения включают в себя:
Скрытые марковские модели были описаны в серии статистических статей Леонарда Э. Баума и других авторов во второй половине 1960-х годов. [29] [30] [31] [32] [33] Одним из первых применений HMM было распознавание речи , начиная с середины 1970-х годов. [34] [35] [36] [37]
Во второй половине 1980-х годов ГММ начали применять для анализа биологических последовательностей [38] , в частности ДНК . С тех пор они стали повсеместными в области биоинформатики . [39]
В рассмотренных выше скрытых марковских моделях пространство состояний скрытых переменных дискретно, а сами наблюдения могут быть либо дискретными (обычно генерируемыми из категориального распределения ), либо непрерывными (обычно из гауссова распределения ). Скрытые марковские модели также можно обобщить, чтобы обеспечить непрерывные пространства состояний. Примерами таких моделей являются модели, в которых марковский процесс над скрытыми переменными представляет собой линейную динамическую систему с линейной зависимостью между связанными переменными и где все скрытые и наблюдаемые переменные подчиняются гауссовскому распределению . В простых случаях, таких как только что упомянутая линейная динамическая система, возможен точный вывод (в данном случае с использованием фильтра Калмана ); однако, как правило, точный вывод в СММ с непрерывными скрытыми переменными невозможен, и необходимо использовать приближенные методы, такие как расширенный фильтр Калмана или фильтр частиц .
Скрытые марковские модели — это генеративные модели , в которых моделируется совместное распределение наблюдений и скрытых состояний или, что эквивалентно, как априорное распределение скрытых состояний ( вероятности перехода ), так и условное распределение наблюдений по заданным состояниям ( вероятности выбросов ). Вышеупомянутые алгоритмы неявно предполагают равномерное априорное распределение вероятностей перехода. Однако также возможно создавать скрытые марковские модели с другими типами априорных распределений. Очевидным кандидатом, учитывая категориальное распределение вероятностей перехода, является распределение Дирихле , которое является сопряженным априорным распределением категориального распределения. Обычно выбирается симметричное распределение Дирихле, отражающее незнание того, какие состояния по своей природе более вероятны, чем другие. Единственный параметр этого распределения (называемый параметром концентрации ) контролирует относительную плотность или разреженность результирующей матрицы перехода. Выбор 1 дает равномерное распределение. Значения больше 1 создают плотную матрицу, в которой вероятности перехода между парами состояний, вероятно, будут почти равны. Значения меньше 1 приводят к разреженной матрице, в которой для каждого данного исходного состояния только небольшое количество состояний назначения имеет непренебрежимо малые вероятности перехода. Также возможно использовать двухуровневое априорное распределение Дирихле, в котором одно распределение Дирихле (верхнее распределение) управляет параметрами другого распределения Дирихле (нижнее распределение), которое, в свою очередь, определяет вероятности перехода. Верхнее распределение управляет общим распределением состояний, определяя, насколько вероятно возникновение каждого состояния; его параметр концентрации определяет плотность или разреженность состояний. Такое двухуровневое априорное распределение, где оба параметра концентрации настроены для создания разреженных распределений, может быть полезно, например, при неконтролируемой маркировке частей речи , где некоторые части речи встречаются гораздо чаще, чем другие; Алгоритмы обучения, предполагающие равномерное априорное распределение, обычно плохо справляются с этой задачей. Параметры моделей такого типа с неравномерными априорными распределениями можно узнать с помощью выборки Гиббса или расширенных версий алгоритма максимизации ожидания .
Расширение ранее описанных скрытых моделей Маркова с помощью априорных значений Дирихле использует процесс Дирихле вместо распределения Дирихле. Этот тип модели допускает неизвестное и потенциально бесконечное количество состояний. Обычно используется двухуровневый процесс Дирихле, аналогичный ранее описанной модели с двумя уровнями распределений Дирихле. Такая модель называется скрытой марковской моделью иерархического процесса Дирихле , или сокращенно HDP-HMM . Первоначально она была описана под названием «Бесконечная скрытая марковская модель» [40] и в дальнейшем формализована в «Иерархических процессах Дирихле». [41]
Другой тип расширения использует дискриминативную модель вместо генеративной модели стандартных HMM. Этот тип модели напрямую моделирует условное распределение скрытых состояний с учетом наблюдений, а не моделирует совместное распределение. Примером такой модели является так называемая модель Маркова с максимальной энтропией (MEMM), которая моделирует условное распределение состояний с помощью логистической регрессии (также известной как « модель максимальной энтропии »). Преимущество этого типа модели заключается в том, что можно моделировать произвольные характеристики (т.е. функции) наблюдений, что позволяет внедрить в модель специфичные для предметной области знания о рассматриваемой проблеме. Модели такого типа не ограничиваются моделированием прямых зависимостей между скрытым состоянием и связанным с ним наблюдением; скорее, в процесс, используемый для определения значения скрытого состояния, могут быть включены особенности близлежащих наблюдений, комбинаций связанного наблюдения и близлежащих наблюдений или фактически произвольных наблюдений на любом расстоянии от данного скрытого состояния. Более того, нет необходимости, чтобы эти признаки были статистически независимыми друг от друга, как это было бы в случае, если бы такие признаки использовались в генеративной модели. Наконец, вместо простых вероятностей перехода можно использовать произвольные функции над парами соседних скрытых состояний. Недостатками таких моделей являются: (1) Типы априорных распределений, которые можно поместить в скрытые состояния, сильно ограничены; (2) Невозможно предсказать вероятность увидеть произвольное наблюдение. Это второе ограничение часто не является проблемой на практике, поскольку многие распространенные применения HMM не требуют таких прогнозируемых вероятностей.
Вариантом ранее описанной дискриминационной модели является линейно-цепное условное случайное поле . При этом используется неориентированная графическая модель (также известная как марковское случайное поле ), а не направленные графические модели MEMM и подобных моделей. Преимущество модели этого типа заключается в том, что она не страдает от так называемой проблемы смещения меток , характерной для MEMM, и, таким образом, может делать более точные прогнозы. Недостатком является то, что обучение может быть медленнее, чем у MEMM.
Еще одним вариантом является факториальная скрытая модель Маркова , которая позволяет обуславливать одно наблюдение соответствующими скрытыми переменными набора независимых цепей Маркова, а не одной цепи Маркова. Это эквивалентно одному HMM, с состояниями (при условии, что состояния есть для каждой цепочки), и поэтому обучение в такой модели затруднено: для последовательности длины простой алгоритм Витерби имеет сложность . Чтобы найти точное решение, можно использовать алгоритм дерева соединений, но это приводит к сложности. На практике можно использовать приближенные методы, такие как вариационные подходы. [42]
Все вышеперечисленные модели могут быть расширены, чтобы обеспечить более отдаленные зависимости между скрытыми состояниями, например, позволяя данному состоянию зависеть от двух или трех предыдущих состояний, а не от одного предыдущего состояния; т.е. вероятности перехода расширяются, чтобы охватить наборы из трех или четырех соседних состояний (или, как правило, соседних состояний). Недостатком таких моделей является то, что алгоритмы динамического программирования для их обучения имеют время работы для соседних состояний и общего количества наблюдений (т. е. цепи Маркова длины ).
Еще одним недавним расширением является тройная марковская модель [43] , в которую добавляется вспомогательный базовый процесс для моделирования некоторых особенностей данных. Было предложено множество вариантов этой модели. Следует также упомянуть интересную связь, которая установлена между теорией доказательств и триплетными марковскими моделями [44] и которая позволяет объединять данные в марковском контексте [45] и моделировать нестационарные данные. [46] [47] Обратите внимание, что альтернативные стратегии многопоточного объединения данных также были предложены в недавней литературе, например, [48]
Наконец, в 2012 году было предложено другое обоснование решения проблемы моделирования нестационарных данных с помощью скрытых моделей Маркова. [49] Оно заключается в использовании небольшой рекуррентной нейронной сети (RNN), в частности сети резервуаров, [50] для сбора данных . эволюция временной динамики в наблюдаемых данных. Эта информация, закодированная в форме многомерного вектора, используется в качестве обусловливающей переменной вероятностей перехода состояний HMM. При такой настройке мы в конечном итоге получаем нестационарную СММ, вероятности перехода которой меняются со временем таким образом, который выводится из самих данных, в отличие от некоторой нереалистичной специальной модели временной эволюции.
В 2023 году для скрытой марковской модели были представлены два инновационных алгоритма. Эти алгоритмы позволяют вычислить апостериорное распределение HMM без необходимости явного моделирования совместного распределения, используя только условные распределения. [51] [52] В отличие от традиционных методов, таких как алгоритмы «Вперед-назад» и «Витерби», которые требуют знания совместного закона СММ и могут требовать больших вычислительных ресурсов для изучения, алгоритмы «Дискриминативный вперед-назад» и «Дискриминативный алгоритм Витерби» обходят необходимость в закон наблюдения. [53] [54] Этот прорыв позволяет применять СММ в качестве дискриминационной модели, предлагая более эффективный и универсальный подход к использованию скрытых марковских моделей в различных приложениях.
Модель, подходящая для продольных данных, называется скрытой моделью Маркова. [55] Базовая версия этой модели была расширена и теперь включает отдельные ковариаты, случайные эффекты и моделирует более сложные структуры данных, такие как многоуровневые данные. Полный обзор скрытых моделей Маркова с особым вниманием к предположениям модели и их практическому использованию представлен в [56].
Учитывая матрицу марковского перехода и инвариантное распределение состояний, мы можем наложить вероятностную меру на набор подсдвигов. Например, рассмотрим цепь Маркова, заданную слева для состояний , с инвариантным распределением . Если мы «забудем» различие между , мы проецируем это пространство подсдвигов на другое пространство подсдвигов на , и эта проекция также проецирует вероятностную меру вниз к вероятностной мере подсмежек на .
Любопытно то, что вероятностная мера подсдвигов не создается цепью Маркова на , даже несколькими порядками. Интуитивно это происходит потому, что если наблюдать длинную последовательность , то становится все более уверенным, что , а это означает, что на наблюдаемую часть системы может бесконечно влиять что-то в прошлом. [57] [58]
И наоборот, существует пространство подсдвигов на 6 символов, проектируемых на подсдвиги на 2 символа, такое, что любая марковская мера на меньшем подсдвиге имеет меру прообраза, не являющуюся марковской ни одного порядка (пример 2.6 [58] ).