- EM-алгоритм
-
EM-алгоритм (англ. Expectation-maximization (EM) algorithm) — алгоритм, используемый в математической статистике для нахождения оценок максимального правдоподобия параметров вероятностных моделей, в случае, когда модель зависит от некоторых скрытых переменных. Каждая итерация алгоритма состоит из двух шагов. На E-шаге (expectation) вычисляется ожидаемое значение функции правдоподобия, при этом скрытые переменные рассматриваются как наблюдаемые. На M-шаге (maximization) вычисляется оценка максимального правдоподобия, таким образом увеличивается ожидаемое правдоподобие, вычисляемое на E-шаге. Затем это значение используется для E-шага на следующей итерации. Алгоритм выполняется до сходимости.
Часто EM-алгоритм используют для разделения смеси гауссиан.
Содержание
Описание алгоритма
Пусть
— некоторые из значений наблюдаемых переменных, а
— скрытые переменные. Вместе
и
образуют полный набор данных. Вообще,
может быть некоторой подсказкой, которая облегчает решение проблемы в случае, если она известна. Например, если имеется смесь распределений, функция правдоподобия легко выражается через параметры отдельных распределений смеси.Положим
— плотность вероятности (в непрерывном случае) или функция вероятности (в дискретном случае) полного набора данных с параметрами
:
Эту функцию можно понимать как правдоподобие всей модели, если рассматривать её как функцию параметров
. Заметим, что условное распределение скрытой компоненты при некотором наблюдении и фиксированном наборе параметров может быть выражено так:
,
используя расширенную формулу Байеса и формулу полной вероятности. Таким образом, нам необходимо знать только распределение наблюдаемой компоненты при фиксированной скрытой
и вероятности скрытых данных
.EM-алгоритм итеративно улучшает начальную оценку
, вычисляя новые значения оценок
и так далее. На каждом шаге переход к
от
выполняется следующим образом:где
— матожидание логарифма правдоподобия. Другими словами, мы не можем сразу вычислить точное правдоподобие, но по известным данным (
) мы пожем найти апостериорную оценку вероятностей для различных значений скрытых переменных
. Для каждого набора значений
и параметров
мы можем вычислить матожидание функции правдоподобия по данному набору
. Оно зависит от предыдущего значения
, потому что это значение влияет на вероятности скрытых переменных
.
вычисляется следующим образом:то есть это условное матожидание
при условии
.Другими словами,
— это значение, максимизирующее (M) условное матожидание (E) логарифма правдоподобия при данных значениях наблюдаемых переменных и предыдущем значении параметров. В непрерывном случае значение
вычисляется так:Альтернативное описание
При определенных обстоятельствах удобно рассматривать EM-алгоритм как два чередующихся шага максимизации.[1][2] Рассмотрим функцию:
где q — распределение вероятностей ненаблюдаемых переменных Z; pZ|X(· |x;θ) — условное распределение ненаблюдаемых переменных при фиксированных наблюдаемых x и параметрах θ; H — энтропия и DKL — расстояние Кульбака-Лейблера.
Тогда шаги EM-алгоритма можно представить как:
- E(xpectation) шаг: Выбираем q, чтобы максимизировать F:
- M(aximization) шаг: Выбираем θ, чтобы максимизировать F:
Примеры использования
- k-means — алгоритм кластеризации, построенный на идее EM-алгоритма
- Метод упругих карт для нелинейного сокращения размерности данных
- Алгоритм Баума-Велша — алгоритм для оценки параметров скрытых марковских моделей
Примечания
- ↑ (1999) «A view of the EM algorithm that justifies incremental, sparse, and other variants». Learning in Graphical Models (MIT Press): 355–368. Проверено 2009-03-22.
- ↑ 8.5 The EM algorithm // The Elements of Statistical Learning. — New York: Springer, 2001. — P. 236–243.
Ссылки
Категории:- Машинное обучение
- Алгоритмы оптимизации
- Кластерный анализ
Wikimedia Foundation. 2010.

![Q(\Theta)
=
E_{\mathbf T} \! \! \left[ \log p \left(\mathbf X, \mathbf T \,|\, \Theta \right) \Big| \mathbf X \right]](bd4b3a43442267a53f48f39a90e73863.png)
![Q(\Theta)
=
E_{\mathbf T} \! \! \left[ \log p \left(\mathbf X, \mathbf T \,|\, \Theta \right) \Big| \mathbf X \right]
=
\int^\infty _{- \infty}
p \left(\mathbf T \,|\, \mathbf X, \Theta_n \right)
\log p \left(\mathbf X, \mathbf T \,|\, \Theta \right) d\mathbf T](cb82f442b18ee6fd25a81dffbd1ddf88.png)
![F(q,\theta) = \operatorname{E}_q [ \log L (\theta ; x,Z) ] + H(q) = -D_{\text{KL}}\big(q \big\| p_{Z|X}(\cdot|x;\theta ) \big) + \log L(\theta;x)](b4e2b14261fb614720fa9dff33751f9a.png)

