В этой статье мы поговорим о задаче восстановления смеси плотностей распределений точек и о методе, который называется EM-алгоритм (expectation–maximization algorithm). Этот метод можно применять для решения разных практических задач, например для решения задачи кластеризации.
Рассмотрим множество точек X, поэтому набору точек требуется восстановить плотность их распределения. Пусть плотность имеет следующий вид
Задача: найти оптимальные 𝜃j,wj по простой выборке X и заданным k и φ.
Для решения описанной выше задачи можно использовать EM-алгоритм, который состоит из двух основных процедур: E-шаг - оценка параметров и М-Шаг - оптимизация параметров. Базовый вариант EM-алгоритма выглядит следующим образом.
i = 1,…,m - номер объекта в выборке,
j = 1,…,k - номер компоненты смеси распределения
| (1) |
где 0 < δ < 1 – максимальное значение изменения параметров (условие остановки EM)
Это базовый вариант метода. Результат его работы зависит от начальных значений параметров, здесь не вполне ясно как выбирать количество компонент k и начальные параметры 𝜃j. Для решения этих задач существует модификация базового алгоритма - EM-алгоритм с последовательным добавлением компонент.
Идея этой модификации ЕМ-алгоритма вполне описывается в названии. Мы последовательно добавляем компоненты к смеси, на каждом шаге выполняем базовый ЕМ и оцениваем качество результата по определённой процедуре. Этот вариант EM-алгоритма выглядит следующим образом.
k = 1, w = 1
параметры 𝜃 выбираются в зависимости от вида функции φ,
например, если φ это многомерная нормальная (гауссовская) плотность
то 𝜃1 = (w1,μ1, Σ1), где μ1 - мат.ожидание, Σ1 - матрица ковариаций на X.
где 0 < R < 1 – коэффициент правдоподобия
где 0 < m0 < |X| – минимальная длинна выборки для обработки
параметры для нормальной (гауссовской) плотности φ
где 0 < δ < 1 - максимальное значение изменения параметров(условие остановки EM)
В этом разделе мы рассмотрим реализации базового и последовательного EM-алгоритмов для точек на плоскости (n = 2).
Определим φ(x; 𝜃) как многомерную нормальную (гауссовская) плотность
В этом случае решение задачи (1) по нахождению оптимальных 𝜃j = (μj, Σj) выглядит следующим образом (j = 1,…,k)
В этом примере будем искать смесь из двух компонент (k = 2).
Начальные значения μ1 - мат.ожидание на X, μ2 генерируется случайным образом, начальные матрицы ковариаций Σ1 = Σ1 = cov(X)
Отметим, что результат зависит от начальных значений параметров, и выбранный способ инициализации является не самым удачным, в данном случае он был выбран из-за его простоты.
На рисунках ниже проиллюстрирована работа ЕМ-алгоритма, который восстанавливает смесь плотностей.
Рис.2: начальное состояние | Рис.3: результат работы ЕМ |
| |
Рис.4: изменение параметра g | Рис.5: анимация процесса (кликабельно) |
На рисунках ниже проиллюстрирована работа последовательного ЕМ-алгоритма, который восстанавливает смесь плотностей.
Рис.7: начальное состояние | Рис.8: промежуточный результат работы ЕМ (две компоненты) |
| |
Рис.9: промежуточный результат работы ЕМ (три компоненты) | Рис.10: окончательный результат работы ЕМ (четыре компоненты) |
Рис.11: начальное состояние | Рис.12: промежуточный результат работы ЕМ (две компоненты) |
| |
Рис.13: промежуточный результат работы ЕМ (три компоненты) | Рис.14: окончательный результат работы ЕМ (четыре компоненты) |
Рис.15: промежуточный результат работы ЕМ (две компоненты) | Рис.16: промежуточный результат работы ЕМ (три компоненты) |
| |
Рис.17: промежуточный результат работы ЕМ (четыре компоненты) |
[1] Воронцов К.В. Статистические методы классификации – http://shad.yandex.ru/lectures/machine_learning.xml