Скрытая марковская цепь

Материал из MachineLearning.

Версия от 14:14, 11 июля 2026; Kamil Bagdalov (Обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск
Статья написана с использованием LLM Qwen3.7 и проверена участником Камиль Багдалов


Скрытая марковская модель (англ. Hidden Markov Model, HMM) — это статистическая модель, описывающая процесс генерации наблюдаемой последовательности данных с помощью ненаблюдаемой (скрытой) последовательности состояний, образующих марковскую цепь. В каждом скрытом состоянии генерируется наблюдаемый символ согласно некоторому распределению вероятностей. HMM является одной из базовых вероятностных моделей для работы с последовательностями и долгое время служила основным инструментом в распознавании речи, биоинформатике и обработке естественного языка.

Содержание

Формальная модель

Скрытая марковская модель полностью задаётся тройкой параметров \lambda = (A, B, \pi):

  • S = \{s_1, s_2, \dots, s_N\} — множество скрытых состояний.
  • O = \{o_1, o_2, \dots, o_M\} — множество возможных наблюдаемых символов (алфавит наблюдений).
  • A = \{a_{ij}\} — матрица вероятностей переходов между скрытыми состояниями, где a_{ij} = P(q_{t+1} = s_j \mid q_t = s_i).
  • B = \{b_j(k)\} — матрица вероятностей эмиссии (наблюдения), где b_j(k) = P(O_t = o_k \mid q_t = s_j).
  • \pi = \{\pi_i\} — начальное распределение вероятностей скрытых состояний: \pi_i = P(q_1 = s_i).

Ключевое предположение модели — марковское свойство: вероятность перехода в следующее состояние зависит только от текущего состояния и не зависит от всей предыдущей истории. Аналогично, наблюдение в момент времени t зависит только от текущего скрытого состояния q_t.

Три классические задачи HMM

Для скрытой марковской модели формулируются три фундаментальные задачи, для каждой из которых существуют эффективные алгоритмы решения:

Задача 1. Оценка вероятности последовательности

Дана модель \lambda и наблюдаемая последовательность O = (o_1, o_2, \dots, o_T). Требуется вычислить вероятность P(O \mid \lambda) — насколько вероятно, что данная модель сгенерировала именно эту последовательность.

Наивное решение (перебор всех возможных последовательностей скрытых состояний) имеет сложность O(N^T), что неприемлемо на практике. Эффективное решение — алгоритм прямого-обратного хода (Forward-Backward algorithm), работающий за O(N^2 T). Он вводит прямые переменные \alpha_t(i) = P(o_1, o_2, \dots, o_t, q_t = s_i \mid \lambda) и обратные переменные \beta_t(i) = P(o_{t+1}, \dots, o_T \mid q_t = s_i, \lambda), позволяющие вычислить искомую вероятность через динамическое программирование.

Задача 2. Декодирование (поиск наиболее вероятной последовательности состояний)

Дана модель \lambda и наблюдаемая последовательность O. Требуется найти наиболее вероятную последовательность скрытых состояний Q = (q_1, q_2, \dots, q_T), то есть \arg\max_Q P(Q \mid O, \lambda).

Эта задача решается алгоритмом Витерби — динамическим программированием, аналогичным алгоритму прямого-обратного хода, но с операцией максимизации вместо суммирования. Сложность — O(N^2 T). Алгоритм Витерби широко применяется в распознавании речи для восстановления последовательности фонем или слов по акустическим признакам.

Задача 3. Обучение параметров модели

Дана наблюдаемая последовательность O (или набор последовательностей). Требуется найти параметры модели \lambda = (A, B, \pi), максимизирующие вероятность P(O \mid \lambda).

Эта задача решается алгоритмом Баума-Велша (Baum-Welch algorithm), который является частным случаем EM-алгоритма (Expectation-Maximization) для HMM. Алгоритм итеративно выполняет E-шаг (вычисление ожидаемых значений скрытых переменных с помощью алгоритма прямого-обратного хода) и M-шаг (пересчёт параметров A, B, \pi на основе этих ожиданий). Алгоритм гарантирует локальный максимум правдоподобия, но не глобальный.

Историческая роль в ИИ

Скрытые марковские модели были разработаны в конце 1960-х — начале 1970-х годов (ключевой вклад внесли Леонард Баум и его коллеги) и стали "рабочей лошадкой" прикладного ИИ в 1980-2000-е годы.

Распознавание речи

HMM легли в основу практически всех промышленных систем распознавания речи с 1980-х по начало 2010-х годов. Акустический сигнал разбивался на короткие окна (порядка 10-25 мс), для каждого окна извлекались признаки (MFCC — Mel-frequency cepstral coefficients), и последовательность признаков моделировалась с помощью HMM, где скрытые состояния соответствовали фонемам или субфонемным единицам. Классическая архитектура — HMM + GMM (Gaussian Mixture Model), где вероятности эмиссии моделировались смесями гауссовских распределений.

Биоинформатика

HMM применяются для поиска генов в геномных последовательностях, предсказания белковых структур (профильные HMM для семейств белков), выравнивания последовательностей. Профильные HMM (profile HMMs) стали стандартом в базах данных белковых доменов (например, Pfam).

Обработка естественного языка

HMM использовались для частеречной разметки (POS-tagging), где скрытые состояния — это части речи, а наблюдения — слова. Несмотря на простоту, HMM-теггеры показывали приемлемое качество и служили базовым уровнем (baseline) для более сложных моделей.

Переход к нейросетевым моделям

С 2010-х годов HMM постепенно вытесняются нейросетевыми подходами:

  • Рекуррентные нейронные сети (RNN) и их варианты (LSTM, GRU) напрямую моделируют последовательности без явного предположения о марковском свойстве.
  • Условные случайные поля (CRF) — дискриминативные модели, которые часто превосходят HMM в задачах последовательной разметки, так как не требуют моделирования распределения наблюдений.
  • Гибридные модели HMM-DNN — в распознавании речи вероятности эмиссии HMM стали оцениваться с помощью глубоких нейронных сетей, что дало значительный прирост качества.
  • Трансформеры и модели на основе механизма внимания — современные архитектуры для обработки последовательностей, полностью отказавшиеся от рекуррентности и марковских предположений.

Тем не менее, HMM не исчезли полностью. Они остаются полезны в задачах с малым объёмом данных, где нейросети переобучаются, а также в качестве интерпретируемых моделей, где важно понимать структуру скрытых состояний.

Философский аспект: почему HMM уступила нейросетям

Переход от HMM к нейросетям иллюстрирует более общий сдвиг в ИИ: от моделей с явными предположениями о структуре данных к моделям, выучивающим представления напрямую из данных. HMM требует от исследователя явно задать:

  • число скрытых состояний,
  • марковское свойство (зависимость только от текущего состояния),
  • параметрическую форму распределений эмиссии.

Нейросетевые модели, напротив, не требуют этих предположений — они выучивают представления и зависимости из данных. Это даёт гибкость, но ценой является потеря интерпретируемости и требование больших объёмов данных.

Этот переход перекликается с дискуссией между символьным и коннекционистским подходами: HMM — это своего рода "символьная" модель с явной структурой, а нейросети — "коннекционистские", где структура выучивается. Современный тренд — гибридные подходы, сочетающие сильные стороны обоих миров.

См. также

Источники

  • Rabiner L.R. A tutorial on hidden Markov models and selected applications in speech recognition // Proceedings of the IEEE. 1989. Vol. 77. No. 2. Pp. 257–286.
  • Baum L.E., Petrie T., Soules G., Weiss N. A maximization technique occurring in the statistical analysis of probabilistic functions of Markov chains // Annals of Mathematical Statistics. 1970. Vol. 41. No. 1. Pp. 164–171.
  • Durbin R., Eddy S., Krogh A., Mitchison G. Biological Sequence Analysis: Probabilistic Models of Proteins and Nucleic Acids. Cambridge University Press, 1998.
  • Bishop C.M. Pattern Recognition and Machine Learning. Springer, 2006. (Chapter 13: Sequential Data)
Личные инструменты