Открыть сервис

EM-алгоритм

EM-алгоритм (от англ. Expectation-Maximization — «математическое ожидание — максимизация») — это итеративный численный метод, используемый в математической статистике и машинном обучении для нахождения оценок максимального правдоподобия (или апостериорных оценок) параметров вероятностных моделей, которые зависят от ненаблюдаемых (скрытых) переменных. Алгоритм позволяет эффективно решать задачи, в которых прямое вычисление функции правдоподобия затруднительно из-за наличия пропущенных данных или латентных факторов.

История

EM-алгоритм был впервые формально описан и назван в 1977 году в статье «Maximum Likelihood from Incomplete Data via the EM Algorithm» американскими статистиками Артуром Демпстером, Наном Лэрдом и Дональдом Рубином. Однако, идеи, лежащие в его основе, использовались и ранее в различных областях. Например, ещё в 1950-х годах метод применялся в генетике для оценки частот аллелей, а в 1960-х — в обработке сигналов и анализе изображений. Работа Демпстера, Лэрда и Рубина обобщила разрозненные подходы, предложив единую теоретическую базу и доказав сходимость алгоритма. С тех пор EM-алгоритм стал одним из ключевых инструментов в статистике, биоинформатике, компьютерном зрении и других дисциплинах.

Основная идея и принцип работы

EM-алгоритм предназначен для ситуаций, когда наблюдаемые данные \( X \) можно интерпретировать как неполные, а полные данные \( (X, Z) \) включают также ненаблюдаемые (скрытые) переменные \( Z \). Целью является максимизация логарифмической функции правдоподобия наблюдаемых данных: \( \log p(X | \theta) \), где \( \theta \) — оцениваемые параметры. Прямая максимизация часто сложна, так как требует суммирования или интегрирования по всем возможным значениям \( Z \).

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

  1. E-шаг (Expectation, ожидание): На основе текущей оценки параметров \( \theta^{(t)} \) вычисляется математическое ожидание логарифма функции правдоподобия полных данных по распределению скрытых переменных \( Z \), при условии наблюдаемых данных \( X \). Фактически, на этом шаге «дооцениваются» недостающие данные.

\[ Q(\theta | \theta^{(t)}) = E_{Z | X, \theta^{(t)}} [ \log p(X, Z | \theta) ] \]

  1. M-шаг (Maximization, максимизация): Находится новая оценка параметров \( \theta^{(t+1)} \), которая максимизирует функцию \( Q \), полученную на E-шаге.

\[ \theta^{(t+1)} = \arg\max_{\theta} Q(\theta | \theta^{(t)}) \]

Эти два шага повторяются до тех пор, пока изменение значения функции правдоподобия или самих параметров не станет меньше заданного порога (критерий сходимости). Важно, что на каждом M-шаге значение функции правдоподобия наблюдаемых данных \( \log p(X | \theta) \) не уменьшается, что гарантирует сходимость алгоритма к локальному максимуму.

Применение

EM-алгоритм широко применяется в задачах, где данные имеют сложную структуру или содержат пропуски. Ниже приведены основные области использования.

Кластеризация и смеси распределений

Наиболее известное применение — оценка параметров смеси гауссовых распределений (Gaussian Mixture Model, GMM). В этой модели предполагается, что данные порождены несколькими гауссовыми компонентами, но для каждого наблюдения неизвестно, к какой именно компоненте оно относится (это и есть скрытая переменная). EM-алгоритм позволяет одновременно оценить параметры каждой компоненты (среднее, ковариационную матрицу) и веса смеси. Этот подход лежит в основе многих методов кластеризации, в том числе мягкой кластеризации (fuzzy clustering).

Обработка пропущенных данных

Если в наборе данных часть значений признаков отсутствует, EM-алгоритм может быть использован для их восстановления. Он моделирует распределение данных с учётом пропусков и на каждой итерации «дозаполняет» пропущенные значения их наиболее вероятными оценками на основе текущей модели.

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

EM-алгоритм применяется для:

Обработка сигналов и изображений

В этой области алгоритм используется для:

Машинное обучение

EM-алгоритм является основой для обучения многих вероятностных моделей, включая:

Разновидности и обобщения

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

Преимущества и недостатки

Преимущества

Недостатки

Сравнение с другими методами

EM-алгоритм часто сравнивают с другими методами оптимизации, используемыми в статистике и машинном обучении:

Пример: смесь гауссовых распределений

Рассмотрим задачу оценки параметров смеси двух одномерных гауссовых распределений. Наблюдаемые данные — \( x_1, x_2, ..., x_n \). Скрытая переменная \( z_i \in \{1, 2\} \) указывает, к какой компоненте принадлежит \( x_i \). Параметры модели: \( \theta = (\mu_1, \sigma_1, \mu_2, \sigma_2, \pi) \), где \( \pi \) — вероятность принадлежности к первой компоненте.

E-шаг: Для каждого наблюдения \( x_i \) вычисляется апостериорная вероятность (ответственность) принадлежности к первой компоненте: \[ \gamma_i^{(t)} = p(z_i = 1 | x_i, \theta^{(t)}) = \frac{\pi^{(t)} \cdot \mathcal{N}(x_i | \mu_1^{(t)}, \sigma_1^{(t)})}{\pi^{(t)} \cdot \mathcal{N}(x_i | \mu_1^{(t)}, \sigma_1^{(t)}) + (1-\pi^{(t)}) \cdot \mathcal{N}(x_i | \mu_2^{(t)}, \sigma_2^{(t)})} \]

M-шаг: Обновляются параметры с использованием взвешенных средних: \[ \mu_1^{(t+1)} = \frac{\sum_{i=1}^{n} \gamma_i^{(t)} x_i}{\sum_{i=1}^{n} \gamma_i^{(t)}}, \quad \mu_2^{(t+1)} = \frac{\sum_{i=1}^{n} (1-\gamma_i^{(t)}) x_i}{\sum_{i=1}^{n} (1-\gamma_i^{(t)})} \] \[ \sigma_1^{(t+1)} = \sqrt{\frac{\sum_{i=1}^{n} \gamma_i^{(t)} (x_i - \mu_1^{(t+1)})^2}{\sum_{i=1}^{n} \gamma_i^{(t)}}}, \quad \sigma_2^{(t+1)} = \sqrt{\frac{\sum_{i=1}^{n} (1-\gamma_i^{(t)}) (x_i - \mu_2^{(t+1)})^2}{\sum_{i=1}^{n} (1-\gamma_i^{(t)})}} \] \[ \pi^{(t+1)} = \frac{1}{n} \sum_{i=1}^{n} \gamma_i^{(t)} \]

Итерации повторяются до сходимости. Этот пример наглядно демонстрирует, как EM-алгоритм «дооценивает» скрытые переменные (принадлежность к компоненте) и на их основе уточняет параметры модели.

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →