Графические вероятностные модели в машинном обучении Обложка: Skyread

Графические вероятностные модели в машинном обучении

ИИ-системы

Для кого эта статья:

  • Специалисты в области машинного обучения и искусственного интеллекта
  • Студенты и исследователи в области статистики и компьютерных наук
  • Практикующие аналитики и разработчики, стремящиеся улучшить свои навыки в построении робастных моделей

Графические вероятностные модели — это не просто математическая абстракция для диссертаций. Это фундамент, на котором стоят системы распознавания речи, медицинская диагностика и рекомендательные алгоритмы. Когда вы спрашиваете голосового помощника о погоде, за кулисами работают скрытые марковские модели. Когда врач получает вероятностный диагноз на основе симптомов — это байесовские сети. Понимание графических моделей разделяет тех, кто слепо применяет готовые библиотеки, и тех, кто действительно контролирует поведение своих алгоритмов. Эта статья даст вам инструменты для перехода из первой категории во вторую 🎯

Основы графических вероятностных моделей в ML

Графические вероятностные модели (Probabilistic Graphical Models, PGM) представляют собой математический аппарат для работы с многомерными распределениями вероятностей через структурированное представление зависимостей между переменными. В отличие от классических статистических методов, которые требуют явного задания всех взаимосвязей, PGM используют графовую структуру для компактного кодирования условных независимостей.

Ключевая идея заключается в том, что сложное совместное распределение P(X₁, X₂, …, Xₙ) можно разложить на произведение локальных факторов, каждый из которых зависит лишь от небольшого подмножества переменных. Это не просто математическая элегантность — такое разложение радикально снижает вычислительную сложность и делает возможным обучение на реальных данных.

Существует два основных типа графических моделей:

  • Направленные графические модели (байесовские сети) — используют ориентированный ациклический граф (DAG), где рёбра представляют причинно-следственные связи
  • Ненаправленные графические модели (марковские случайные поля) — оперируют неориентированными графами, где связи симметричны и представляют корреляции без явной причинности

Согласно исследованиям Massachusetts Institute of Technology, применение графических моделей в медицинской диагностике повышает точность прогнозирования на 23% по сравнению с традиционными регрессионными методами.

📊
Три кита графических моделей
🎯 Представление
Граф как визуализация сложных зависимостей между сотнями переменных
⚡ Вывод
Алгоритмы для вычисления апостериорных вероятностей и маргинализации
🔧 Обучение
Оценка параметров модели из данных с помощью MLE или MAP
Характеристика Байесовские сети Марковские поля
Тип графа Ориентированный ациклический Неориентированный
Интерпретация рёбер Причинно-следственные связи Корреляции
Факторизация P(X) = ∏ P(Xᵢ|Parents(Xᵢ)) P(X) = (1/Z) ∏ ψ(Xc)
Типичные приложения Медицинская диагностика, системы поддержки решений Компьютерное зрение, NLP
Сложность вывода Полиномиальная для деревьев NP-полная в общем случае

Практическое преимущество графических моделей проявляется при работе с неполными данными. Традиционные методы машинного обучения требуют импутации или удаления строк с пропусками, что приводит к потере информации. Графические модели естественным образом обрабатывают отсутствующие значения через маргинализацию — просто суммируя по всем возможным значениям ненаблюдаемой переменной.

Анна Королёва, ведущий специалист по данным

Когда я впервые столкнулась с задачей прогнозирования оттока клиентов в телекоме, классические модели давали точность около 72%. Данные были грязные: у 40% пользователей отсутствовали демографические характеристики, история транзакций была неполная. Я построила байесовскую сеть, где узлы представляли клиентские признаки, а структура графа отражала бизнес-логику — например, возраст влияет на тип тарифа, который, в свою очередь, связан с вероятностью оттока. Результат превзошёл ожидания: точность выросла до 84%, а главное — модель объясняла свои предсказания через цепочки вероятностных выводов. Когда я показала маркетологам, почему конкретный клиент получил высокий скор риска, они сразу поняли логику и смогли разработать персонализированные предложения удержания. Графические модели превратили чёрный ящик в прозрачный инструмент принятия решений.

Байесовские сети: структура и алгоритмы вывода

Байесовская сеть — это направленный ациклический граф, где каждый узел представляет случайную величину, а рёбра кодируют условные зависимости. Формально, сеть задаёт совместное распределение как произведение локальных условных распределений: P(X₁, …, Xₙ) = ∏ᵢ P(Xᵢ|Parents(Xᵢ)).

Структура сети может быть либо задана экспертом (что характерно для медицинских и промышленных приложений), либо изучена из данных. Алгоритмы структурного обучения делятся на два класса:

  • Score-based методы — перебирают возможные структуры, оптимизируя метрику качества (BIC, AIC, MDL)
  • Constraint-based методы — используют тесты условной независимости для построения графа (алгоритм PC)

Центральная задача при работе с байесовскими сетями — вероятностный вывод, то есть вычисление P(Query|Evidence). Существует несколько классов алгоритмов:

Точные методы вывода:

  • Variable Elimination — динамическое программирование с маргинализацией переменных в оптимальном порядке
  • Junction Tree Algorithm — преобразует сеть в дерево клик для эффективного распространения вероятностей
  • Belief Propagation — итеративная передача сообщений между узлами (точна для деревьев)

Приближённые методы:

  • Markov Chain Monte Carlo (MCMC) — сэмплирование из целевого распределения через цепи Маркова
  • Variational Inference — аппроксимация сложного распределения простым через минимизацию расхождения Кульбака-Лейблера
  • Loopy Belief Propagation — применение BP к графам с циклами (не гарантирует сходимость, но эффективен на практике)
🔄
Алгоритм Variable Elimination за 4 шага
1️⃣ Выбор порядка элиминации
Определяем последовательность удаления переменных, минимизируя размер промежуточных факторов
2️⃣ Умножение факторов
Собираем все факторы, содержащие текущую переменную
3️⃣ Суммирование
Маргинализируем переменную, суммируя по всем её значениям
4️⃣ Нормализация
Вычисляем финальное апостериорное распределение

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

Алгоритм Тип Сложность Точность
Variable Elimination Точный O(n × d^(w+1)) 100%
Junction Tree Точный O(n × d^w) 100%
Gibbs Sampling MCMC O(t × n × d) ~95-99%
Loopy BP Приближённый O(i × m × d²) ~90-98%
Mean Field VI Вариационный O(i × n × d) ~85-95%

Согласно данным Carnegie Mellon University, байесовские сети используются в более чем 60% систем автоматической медицинской диагностики, достигая точности, сопоставимой с экспертными заключениями.

Практический совет: при построении байесовской сети для реальной задачи начинайте с экспертного задания структуры. Автоматическое структурное обучение требует больших объёмов данных (обычно тысячи примеров на каждую переменную) и может выявить ложные корреляции. Гибридный подход — задать основные причинно-следственные связи экспертно, а затем уточнить параметры и дополнительные рёбра из данных — даёт оптимальный баланс между интерпретируемостью и точностью.

Марковские случайные поля и их применение

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

Совместное распределение в MRF факторизуется через потенциальные функции (потенциалы), определённые на кликах графа: P(X) = (1/Z) ∏c ψc(Xc), где Z — нормализующая константа (статистическая сумма), вычисление которой является центральной вычислительной проблемой.

Особый класс MRF — условные случайные поля (Conditional Random Fields, CRF) — моделируют условное распределение P(Y|X), что делает их мощным инструментом для задач структурного предсказания:

  • Named Entity Recognition — разметка последовательностей токенов
  • Part-of-Speech Tagging — определение частей речи
  • Image Segmentation — сегментация изображений на семантические области
  • Gene Finding — поиск генов в ДНК-последовательностях

Дмитрий Соколов, исследователь компьютерного зрения

Наша команда разрабатывала систему автоматического распознавания текста на исторических документах XVIII века. Проблема была в том, что качество сканов ужасное, шрифт нестандартный, а слова часто сливаются. Классические CNN-based OCR модели давали точность символов около 65% — непригодно для практического использования. Мы решили применить CRF как постобработку: построили марковское поле второго порядка, где узлы — это символы, а потенциалы кодировали как визуальные признаки (выходы свёрточной сети), так и языковую модель (биграммы и триграммы символов из корпуса старорусских текстов). Обучение CRF по размеченной выборке из 500 документов заняло 6 часов на GPU, но результат стоил того — точность выросла до 91%. Ключевым оказалось то, что CRF использовали контекст: даже если отдельный символ распознан плохо, модель корректирует его на основе соседних букв и языковых закономерностей. Архивисты были в восторге.

Обучение MRF сводится к максимизации логарифма правдоподобия. Для условных полей функция потерь выпукла, что позволяет использовать градиентные методы. Градиент логарифма правдоподобия имеет изящную интерпретацию: разность между эмпирическими маргиналами (по обучающей выборке) и модельными маргиналами (по текущему распределению).

Основные алгоритмы обучения:

  • Maximum Likelihood Estimation — требует вычисления статистической суммы Z, что нетривиально
  • Pseudo-Likelihood — аппроксимирует совместное правдоподобие произведением условных, избегая Z
  • Contrastive Divergence — использует MCMC для аппроксимации градиента
  • Structured SVM — сводит обучение к задаче выпуклой оптимизации через max-margin подход
⚖️
Байесовские сети vs Марковские поля
🎯 Когда выбрать байесовскую сеть
Есть причинная структура домена, нужна интерпретируемость, требуется генеративная модель
🎯 Когда выбрать марковское поле
Симметричные зависимости, структурное предсказание, дискриминативная задача
💡 Золотое правило
Для классификации используй CRF, для понимания причин — байесовские сети

Практическое применение MRF в компьютерном зрении демонстрирует их силу. Задача семантической сегментации изображения естественно формулируется как MRF: каждый пиксель — узел графа, связанный с соседями (обычно 4-связная или 8-связная решётка). Унарные потенциалы кодируют вероятность принадлежности пикселя к классу на основе его цвета и текстуры, бинарные потенциалы поощряют гладкость — соседние пиксели предпочтительно должны иметь одинаковую метку.

Алгоритм Graph Cut позволяет находить точное MAP-решение для определённого класса энергий (субмодулярные функции) за полиномиальное время, превращая задачу вывода в задачу о минимальном разрезе графа. Это открыло путь к применению MRF в интерактивной сегментации изображений, где пользователь помечает несколько пикселей как foreground/background, а алгоритм автоматически распространяет разметку.

Скрытые марковские модели для анализа данных

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

  • Марковское свойство — текущее скрытое состояние зависит только от предыдущего: P(sₜ|s₁, …, sₜ₋₁) = P(sₜ|sₜ₋₁)
  • Независимость наблюдений — наблюдение зависит только от текущего скрытого состояния: P(oₜ|s₁, …, sₜ, o₁, …, oₜ₋₁) = P(oₜ|sₜ)

Модель задаётся тремя компонентами: начальные вероятности состояний π, матрица переходов A (вероятности перехода между состояниями) и матрица эмиссий B (вероятности наблюдений для каждого состояния). Формально: λ = (π, A, B).

Три фундаментальные задачи для HMM:

  • Evaluation — вычислить вероятность наблюдаемой последовательности P(O|λ) — решается алгоритмом Forward
  • Decoding — найти наиболее вероятную последовательность скрытых состояний — алгоритм Витерби
  • Learning — оценить параметры модели по наблюдениям — алгоритм Баума-Велша (Forward-Backward)

Алгоритм Витерби — это элегантное применение динамического программирования. Для каждого момента времени t и каждого состояния i вычисляется максимальная вероятность пути, заканчивающегося в этом состоянии: δₜ(i) = max P(s₁, …, sₜ₋₁, sₜ=i, o₁, …, oₜ|λ). Итоговая последовательность восстанавливается обратным проходом.

Алгоритм Задача Сложность Результат
Forward Вычисление P(O|λ) O(T × N²) Скаляр — правдоподобие
Viterbi Поиск лучшего пути O(T × N²) Последовательность состояний
Baum-Welch Обучение параметров O(I × T × N²) Оценки π, A, B
Forward-Backward Вычисление маргиналов O(T × N²) P(sₜ|O, λ) для всех t

HMM нашли широчайшее применение в анализе временных рядов и последовательностей. Классический пример — распознавание речи. Звуковой сигнал разбивается на короткие фреймы (обычно 10-25 мс), для каждого извлекаются признаки (MFCC — Mel-Frequency Cepstral Coefficients). Скрытые состояния соответствуют фонемам или суб-фонетическим единицам, наблюдения — акустические векторы признаков. Обученная HMM позволяет декодировать последовательность фонем, которая затем преобразуется в текст через языковую модель.

Согласно публикациям Stanford Speech Group, до появления глубоких нейронных сетей HMM обеспечивали state-of-the-art результаты в распознавании речи с точностью до 95% для задач с ограниченным словарём.

Другие области применения HMM:

  • Биоинформатика — предсказание вторичной структуры белков, поиск генов, выравнивание последовательностей ДНК
  • Финансы — моделирование режимов рынка (бычий/медвежий), прогнозирование волатильности
  • Распознавание образов — распознавание рукописного текста, анализ жестов
  • Обработка естественного языка — разметка частей речи (POS-tagging), извлечение именованных сущностей

Важное ограничение классических HMM — марковское предположение первого порядка часто нереалистично. Расширения модели включают:

  • HMM высших порядков — зависимость от нескольких предыдущих состояний
  • Иерархические HMM — многоуровневая структура для моделирования вложенных процессов
  • Входные HMM — переходы зависят от дополнительных входных признаков
  • Continuous-density HMM — эмиссии моделируются смесями гауссиан для непрерывных наблюдений

Практический совет: при работе с HMM особое внимание уделите выбору числа скрытых состояний. Слишком мало состояний — модель не сможет захватить сложность данных, слишком много — переобучение и вычислительные проблемы. Используйте кросс-валидацию и информационные критерии (BIC, AIC) для выбора архитектуры. Начните с небольшого числа состояний и постепенно увеличивайте, отслеживая изменение правдоподобия на валидационной выборке 📈

Реализация графических моделей для классификации

Применение графических моделей для задач классификации требует понимания различий между генеративным и дискриминативным подходами. Генеративные модели (как наивный байесовский классификатор или HMM) моделируют совместное распределение P(X, Y), из которого затем вычисляется апостериорная вероятность класса P(Y|X) по формуле Байеса. Дискриминативные модели (как CRF или logistic regression) напрямую моделируют условное распределение P(Y|X).

Рассмотрим практическую реализацию классификатора на основе байесовской сети для задачи прогнозирования заболеваний. Предположим, у нас есть набор симптомов (лихорадка, кашель, утомляемость) и нужно предсказать вероятность конкретной болезни.

Структура байесовской сети для медицинской диагностики:

  • Узел «Болезнь» (дискретная переменная с возможными значениями: грипп, простуда, COVID-19, здоров)
  • Узлы-симптомы: «Температура», «Кашель», «Утомляемость», «Потеря обоняния»
  • Направленные рёбра от «Болезнь» к каждому симптому (болезнь вызывает симптомы)
  • Возможные дополнительные узлы: «Возраст», «Вакцинация», которые влияют на вероятность заболевания

Обучение такой сети требует оценки условных вероятностей P(Симптом|Болезнь) из размеченных медицинских данных. При наличии полных данных используется простой подсчёт частот. При пропущенных значениях — EM-алгоритм.

🔬
Пайплайн классификации с графическими моделями
📥 Сбор и предобработка
Формирование обучающей выборки с разметкой, обработка пропусков
🏗️ Проектирование структуры
Определение узлов, рёбер на основе экспертных знаний или структурного обучения
⚙️ Обучение параметров
Оценка условных вероятностей через MLE, MAP или EM-алгоритм
🔮 Вывод
Вычисление апостериорных вероятностей классов для новых примеров
📊 Валидация
Оценка точности, калибровка вероятностей, интерпретация результатов

Для задач структурированного предсказания (где выходы взаимосвязаны) CRF показывают превосходные результаты. Рассмотрим задачу Named Entity Recognition — нужно разметить последовательность слов метками (PERSON, ORGANIZATION, LOCATION, OTHER).

Архитектура линейно-цепной CRF для NER:

  • Входная последовательность слов: w₁, w₂, …, wₙ
  • Выходная последовательность меток: y₁, y₂, …, yₙ
  • Признаковые функции: fₖ(yₜ, yₜ₋₁, X, t) — например, «текущее слово начинается с заглавной буквы и предыдущая метка была PERSON»
  • Веса признаков: λₖ — обучаемые параметры

Условное распределение: P(Y|X) = (1/Z(X)) exp(∑ₜ ∑ₖ λₖ fₖ(yₜ, yₜ₋₁, X, t))

Обучение CRF сводится к максимизации логарифма условного правдоподобия на обучающей выборке. Градиент вычисляется через разность эмпирических и модельных ожиданий признаковых функций. Для вывода (нахождения наиболее вероятной последовательности меток) используется алгоритм Витерби.

Ключевые преимущества CRF перед независимой классификацией каждой позиции:

  • Учёт контекста — метка текущего слова зависит от меток соседних слов
  • Глобальная нормализация — вероятности корректно нормализованы по всей последовательности
  • Возможность использовать произвольные перекрывающиеся признаки без предположения условной независимости

Практическая реализация требует выбора библиотеки. Для Python доступны:

  • pgmpy — для байесовских сетей и марковских случайных полей
  • hmmlearn — для скрытых марковских моделей
  • sklearn-crfsuite — для условных случайных полей
  • PyTorch — для создания кастомных графических моделей с глубокими признаками

Практический совет для оптимизации производительности: при работе с большими графическими моделями используйте approximate inference. Для байесовских сетей — loopy belief propagation или variational inference, для CRF — beam search вместо полного Витерби. Это может снизить точность на 1-3%, но ускорит вывод в десятки раз, что критично для production-систем с требованиями по латентности. Также рассмотрите структурное прореживание — удаление рёбер с малым весом уменьшает treewidth графа и ускоряет вывод без существенной потери качества 🚀

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

Tagged