EM-алгоритм

EM-алгоритм (англ. Expectation-maximization (EM) algorithm) — алгоритм, используемый в математической статистике для нахождения оценок максимального правдоподобия параметров вероятностных моделей, в случае, когда модель зависит от некоторых скрытых переменных. Каждая итерация алгоритма состоит из двух шагов. На E-шаге (expectation) вычисляется ожидаемое значение функции правдоподобия, при этом скрытые переменные рассматриваются как наблюдаемые. На M-шаге (maximization) вычисляется оценка максимального правдоподобия, таким образом увеличивается ожидаемое правдоподобие, вычисляемое на E-шаге. Затем это значение используется для E-шага на следующей итерации. Алгоритм выполняется до сходимости.

Часто EM-алгоритм используют для разделения смеси гауссиан.

Описание алгоритма

Пусть X {\displaystyle {\textbf {X}}}  — некоторые из значений наблюдаемых переменных, а T {\displaystyle {\textbf {T}}}  — скрытые переменные. Вместе X {\displaystyle {\textbf {X}}} и T {\displaystyle {\textbf {T}}} образуют полный набор данных. Вообще, T {\displaystyle {\textbf {T}}} может быть некоторой подсказкой, которая облегчает решение проблемы в случае, если она известна. Например, если имеется смесь распределений, функция правдоподобия легко выражается через параметры отдельных распределений смеси.

Положим p {\displaystyle p}  — плотность вероятности (в непрерывном случае) или функция вероятности (в дискретном случае) полного набора данных с параметрами Θ {\displaystyle \Theta } : p ( X , T | Θ ) . {\displaystyle p(\mathbf {X} ,\mathbf {T} |\Theta ).} Эту функцию можно понимать как правдоподобие всей модели, если рассматривать её как функцию параметров Θ {\displaystyle \Theta } . Заметим, что условное распределение скрытой компоненты при некотором наблюдении и фиксированном наборе параметров может быть выражено так:

p ( T | X , Θ ) = p ( X | T , Θ ) p ( T | Θ ) p ( X | Θ ) = p ( X | T , Θ ) p ( T | Θ ) p ( X | T ^ , Θ ) p ( T ^ | Θ ) d T ^ {\displaystyle p(\mathbf {T} |\mathbf {X} ,\Theta )={\frac {p(\mathbf {X} |\mathbf {T} ,\Theta )p(\mathbf {T} |\Theta )}{p(\mathbf {X} |\Theta )}}={\frac {p(\mathbf {X} |\mathbf {T} ,\Theta )p(\mathbf {T} |\Theta )}{\int p(\mathbf {X} |\mathbf {\hat {T}} ,\Theta )p(\mathbf {\hat {T}} |\Theta )d\mathbf {\hat {T}} }}} ,

используя расширенную формулу Байеса и формулу полной вероятности. Таким образом, нам необходимо знать только распределение наблюдаемой компоненты при фиксированной скрытой p ( X | T , Θ ) {\displaystyle p(\mathbf {X} |\mathbf {T} ,\Theta )} и вероятности скрытых данных p ( T | Θ ) {\displaystyle p(\mathbf {T} |\Theta )} .

EM-алгоритм итеративно улучшает начальную оценку Θ 0 {\displaystyle \Theta _{0}} , вычисляя новые значения оценок Θ 1 , Θ 2 , {\displaystyle \Theta _{1},\Theta _{2},} и так далее. На каждом шаге переход к Θ n + 1 {\displaystyle \Theta _{n+1}} от Θ n {\displaystyle \Theta _{n}} выполняется следующим образом:

Θ n + 1 = arg max Θ Q ( Θ ) {\displaystyle \Theta _{n+1}=\arg \max _{\Theta }Q(\Theta )}

где Q ( Θ ) {\displaystyle Q(\Theta )}  — матожидание логарифма правдоподобия. Другими словами, мы не можем сразу вычислить точное правдоподобие, но по известным данным ( X {\displaystyle X} ) мы можем найти апостериорную оценку вероятностей для различных значений скрытых переменных T {\displaystyle T} . Для каждого набора значений T {\displaystyle T} и параметров Θ {\displaystyle \Theta } мы можем вычислить матожидание функции правдоподобия по данному набору X {\displaystyle X} . Оно зависит от предыдущего значения Θ {\displaystyle \Theta } , потому что это значение влияет на вероятности скрытых переменных T {\displaystyle T} .

Q ( Θ ) {\displaystyle Q(\Theta )} вычисляется следующим образом:

Q ( Θ ) = E T [ log p ( X , T | Θ ) | X ] {\displaystyle Q(\Theta )=E_{\mathbf {T} }\!\!\left[\log p\left(\mathbf {X} ,\mathbf {T} \,|\,\Theta \right){\Big |}\mathbf {X} \right]}

то есть это условное матожидание log p ( X , T | Θ ) {\displaystyle \log p\left(\mathbf {X} ,\mathbf {T} \,|\,\Theta \right)} при условии X {\displaystyle \mathbf {X} } .

Другими словами, Θ n + 1 {\displaystyle \Theta _{n+1}}  — это значение, максимизирующее (M) условное матожидание (E) логарифма правдоподобия при данных значениях наблюдаемых переменных и предыдущем значении параметров. В непрерывном случае значение Q ( Θ ) {\displaystyle Q(\Theta )} вычисляется так:

Q ( Θ ) = E T [ log p ( X , T | Θ ) | X ] = p ( T | X , Θ n ) log p ( X , T | Θ ) d T {\displaystyle 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} }

Альтернативное описание

При определённых обстоятельствах удобно рассматривать EM-алгоритм как два чередующихся шага максимизации.[1][2] Рассмотрим функцию:

F ( q , θ ) = E q [ log L ( θ ; x , Z ) ] + H ( q ) = D KL ( q p Z | X ( | x ; θ ) ) + log L ( θ ; x ) {\displaystyle 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)}

где q — распределение вероятностей ненаблюдаемых переменных Z; pZ|X(· |x;θ) — условное распределение ненаблюдаемых переменных при фиксированных наблюдаемых x и параметрах θ; H — энтропия и DKL — расстояние Кульбака-Лейблера.

Тогда шаги EM-алгоритма можно представить как:

E(xpectation) шаг: Выбираем q, чтобы максимизировать F:
q ( t ) = * arg max q   F ( q , θ ( t ) ) {\displaystyle q^{(t)}=\operatorname {*} {\arg \,\max }_{q}\ F(q,\theta ^{(t)})}
M(aximization) шаг: Выбираем θ, чтобы максимизировать F:
θ ( t + 1 ) = * arg max θ   F ( q ( t ) , θ ) {\displaystyle \theta ^{(t+1)}=\operatorname {*} {\arg \,\max }_{\theta }\ F(q^{(t)},\theta )}

Примеры использования

Примечания

  1. Radford; Neal; Hinton, Geoffrey. A view of the EM algorithm that justifies incremental, sparse, and other variants (англ.) // Learning in Graphical Models : journal / Michael I. Jordan. — Cambridge, MA: MIT Press, 1999. — P. 355—368. — ISBN 0262600323. Архивировано 7 июня 2020 года.
  2. Hastie, Trevor; Tibshirani, Robert; Friedman, Jerome. 8.5 The EM algorithm // The Elements of Statistical Learning (неопр.). — New York: Springer, 2001. — С. 236—243. — ISBN 0-387-95284-5.

Ссылки

  • Демонстрация разделения смеси гауссиан с помощью EM-алгоритма
  • Реализация на Java
Перейти к шаблону «Машинное обучение»
Задачи
Обучение с учителем
Кластерный анализ
Снижение размерности
Структурное прогнозирование
Выявление аномалий
Графовые вероятностные модели
Нейронные сети
Обучение с подкреплением
Теория
Журналы и конференции
  • NeurIPS
  • ICML
  • ML
  • JMLR
  • ArXiv:cs.LG