Обучение байесовских сетей: от простого подсчета до магического алгоритма EM

Stanford Online 768 1 ч 20 мин 3 мин 09.03.2026
Главное

Курс CS221 Стэнфордского университета продолжает погружение в мир байесовских сетей. Если на предыдущих лекциях основное внимание уделялось архитектуре сетей и методам логического вывода (inference), то новая встреча посвящена фундаментальному вопросу: откуда берутся вероятности в этих моделях? В эпоху больших данных ручное заполнение таблиц вероятностей невозможно, поэтому на первый план выходит машинное обучение параметров из эмпирических данных.

🧠 Основы: От структуры к вероятностям 0:05

Байесовская сеть — это не просто граф, а способ определения совместного распределения вероятностей над набором случайных переменных . Каждая такая сеть состоит из двух компонентов: направленного ациклического графа (DAG) и набора локальных условных распределений (local conditional distributions) для каждого узла .

Ключевые принципы работы с БД:

📊 Обучение при полных данных: Стратегия «считай и нормируй» 13:21

В самом простом сценарии — обучении с полным наблюдением (fully observed setting) — алгоритм видит значения всех переменных для каждого примера из обучающей выборки . Основная задача здесь — заполнить таблицы локальных условных распределений.

Алгоритм обучения интуитивно понятен и сводится к двум шагам:

  1. Подсчет (Count): Проход по обучающей выборке и фиксация того, сколько раз встречается конкретное значение узла при определенных значениях его родителей .
  2. Нормировка (Normalize): Превращение счетчиков в вероятности так, чтобы их сумма для каждой комбинации условий равнялась единице .

На примере моделирования рейтингов фильмов: если мы видим «драму» с рейтингом «5» три раза, а всего драм в выборке пять, то вероятность $P(R=5 | G=\text{Drama})$ составит 0.6 . Этот метод является решением задачи оценки максимального правдоподобия (Maximum Likelihood Estimation, MLE) в закрытой форме . Это означает, что для нахождения оптимальных параметров не нужно использовать градиентный спуск или итерации — достаточно один раз пройтись по данным .

🤝 Разделение параметров (Parameter Sharing) 30:11

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

По мнению лектора, выбор между разделением параметров и индивидуальными моделями — это классический компромисс в моделировании:

🛠 Проблема нулевых частот и сглаживание Лапласа 59:30

Серьезный недостаток классического метода MLE проявляется на малых выборках. Если в данных ни разу не встретился фильм с рейтингом «2», модель присвоит этому событию нулевую вероятность . Со слов спикера, такой подход слишком «узколоб» (close-minded), так как отсутствие события в выборке не означает его невозможность в реальности .

Для решения этой проблемы применяется сглаживание Лапласа (Laplacian smoothing):

🪄 Алгоритм EM: Работа с «невидимыми» данными 1:05:03

Наиболее сложным и «магическим» спикер называет случай частичного наблюдения (partially observable setting), когда значения некоторых переменных (скрытых или латентных) в обучающей выборке отсутствуют . Здесь невозможно просто посчитать частоты, возникает проблема «курицы и яйца»: чтобы оценить параметры, нужно знать скрытые значения, а чтобы восстановить скрытые значения, нужны параметры .

Для решения используется Алгоритм ожидания-максимизации (Expectation-Maximization, EM):

  1. E-шаг (Expectation): На основе текущих (сначала случайных) параметров вычисляется распределение вероятностей для скрытых переменных. Вместо одного жесткого значения мы получаем «взвешенные» догадки о том, что там могло быть .
  2. M-шаг (Maximization): Эти взвешенные данные трактуются как реальная выборка. Мы снова выполняем «считай и нормируй», но теперь используем веса из E-шага .

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

💬 Цитаты

«Если вы видите два фильма с рейтингами 1 и 4, ставить вероятность нуля на рейтинг 2 — это своего рода «узколобость».»

Лектор Стэнфорда 1:00:27

«EM гарантированно увеличивает правдоподобие на каждой итерации и сходится к локальному максимуму.»

Лектор Стэнфорда 1:18:15
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
MLE (Maximum Likelihood Estimation)
Метод оценки параметров модели, который выбирает значения, делающие наблюдаемые данные наиболее вероятными.
Лапласовское сглаживание
Техника добавления единицы или малого числа к счетчикам данных, чтобы предотвратить появление нулевых вероятностей.
Скрытые (латентные) переменные
Переменные в модели, значения которых не наблюдаются в обучающей выборке напрямую.
Алгоритм EM
Итеративный процесс для поиска оценок максимального правдоподобия в моделях с ненаблюдаемыми данными.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект Bayesian Networks Parameter Learning Maximum Likelihood Expectation Maximization Laplace Smoothing