Участник:Sergey Lavrushkin/EM-алгоритм кластеризации: различия между версиями
(→M-шаг) |
|||
Строка 174: | Строка 174: | ||
==== M-шаг ==== | ==== M-шаг ==== | ||
− | Опишем граф | + | Опишем граф M-шага как аналитически, так и в виде рисунка. |
=== Ресурс параллелизма алгоритма === | === Ресурс параллелизма алгоритма === |
Версия 20:04, 14 октября 2016
Автор статьи: Сергей Лаврушкин (группа 620)
Содержание
- 1 Свойства и структура алгоритма
- 1.1 Общее описание алгоритма
- 1.2 Математическое описание алгоритма
- 1.3 Вычислительное ядро алгоритма
- 1.4 Макроструктура алгоритма
- 1.5 Схема реализации последовательного алгоритма
- 1.6 Последовательная сложность алгоритма
- 1.7 Информационный граф
- 1.8 Ресурс параллелизма алгоритма
- 1.9 Входные и выходные данные алгоритма
- 1.10 Свойства алгоритма
- 2 Программная реализация алгоритма
- 3 Литература
1 Свойства и структура алгоритма
1.1 Общее описание алгоритма
1.1.1 EM-алгоритм
EM-алгоритм (англ. expectation-maximization) - алгоритм, используемый в математической статистике для нахождения оценок максимального правдоподобия параметров вероятностных моделей, в случае, когда модель зависит от некоторых скрытых переменных. Каждая итерация алгоритма состоит из двух шагов. На E-шаге (expectation) вычисляется ожидаемое значение функции правдоподобия, при этом скрытые переменные рассматриваются как наблюдаемые. На M-шаге (maximization) вычисляется оценка максимального правдоподобия, таким образом увеличивается ожидаемое правдоподобие, вычисляемое на E-шаге. Затем это значение используется для E-шага на следующей итерации. Алгоритм выполняется до сходимости.
Как правило, ЕМ-алгоритм применяется для решения задач двух типов:
- К первому типу можно отнести задачи, связанные с анализом действительно неполных данных, когда некоторые статистические данные отсутствуют в силу каких-либо причин.
- Ко второму типу задач можно отнести те задачи, в которых функция правдоподобия имеет вид, не допускающий удобных аналитических методов исследования, но допускающий серьезные упрощения, если в задачу ввести дополнительные «ненаблюдаемые» (скрытые, латентные) переменные. Примерами прикладных задач второго типа являются задачи распознавания образов, реконструкции изображений. Математическую суть данных задач составляют задачи кластерного анализа, классификации и разделения смесей вероятностных распределений.
Алгоритм основан на методике итеративного вычисления оценок максимального правдоподобия, предложенной в 1977 г. (A. P. Demster, N. M. Laird, D. B. Rubin. Maximum Likelihood from Incomplete Data via the EM Algorithm).
1.1.2 Кластеризация с помощью EM-алгоритма
Кластеризация — задача разбиения заданной выборки объектов (ситуаций) на непересекающиеся подмножества, называемые кластерами, так, чтобы каждый кластер состоял из схожих объектов, а объекты разных кластеров существенно отличались. В основе идеи применения EM-алгоритма для кластеризации лежит предположение, что исследуемое множество данных может быть смоделировано с помощью линейной комбинации многомерных нормальных распределений, а целью является оценка параметров распределения, которые максимизируют логарифмическую функцию правдоподобия, используемую в качестве меры качества модели. К оцениваемым параметрам относятся математические ожидания и ковариационные матрицы. Предполагается, что любое наблюдение принадлежит ко всем кластерам, но с разной вероятностью. Задача заключается в "подгонке" распределений смеси к данным, а затем в определении вероятностей принадлежности наблюдения к каждому кластеру. Наблюдение должно быть отнесено к тому кластеру, для которого данная вероятность выше.
Алгоритм EM основан на вычислении расстояний. Он может рассматриваться как обобщение кластеризации на основе анализа смеси вероятностных распределений. В процессе работы алгоритма происходит итеративное улучшение решения, а остановка осуществляется в момент, когда достигается требуемый уровень точности модели. Мерой в данном случае является монотонно увеличивающаяся статистическая величина, называемая логарифмическим правдоподобием.
1.2 Математическое описание алгоритма
Исходные данные:
— число кластеров, — множество из наблюдений -мерного пространства.
Вычисляемые данные:
— параметры смеси гауссовых распределений, — матрица размера с вероятностями членства в кластерах.
1.2.1 Постановка задачи разделения смеси гауссовых распределений
Пусть
Необходимо на основе выборки оценить параметры модели
где
где:
— ковариационная матрица размером , — -мерный вектор математических ожиданий, — квадратичное расстояние Махаланобиса.
В случае смеси гауссовых распределений получаем, что
Таким образом, имеет место задача максимизации суммы логарифмов сумм, решение которой представляет большую трудность. В таком случае полезным оказывается итеративный метод решения — EM-алгоритм.
1.2.2 EM-алгоритм
Оптимальные параметры задачи разделения смеси гауссовых распределений отыскиваются последовательно с помощью итерационного EM-алгоритма. Основная идея – вводится вспомогательный вектор скрытых переменных. Это позволяет свести сложную оптимизационную задачу к последовательности итераций по пересчету коэффициентов (скрытых переменных по текущему приближению вектора параметров - E-шаг) и максимизации правдоподобия (с целью найти следующее приближение вектора - М-шаг).
EM-алгоритм заключается в следующем:
- В начале работы алгоритма задаются параметры начального приближения. Наиболее общим способом инициализации является присвоение элементам матрицы математических ожиданий случайных значений
, начальные ковариационные матрицы определяются как единчиные , веса кластеров задаются одинаковыми . Также в качестве начальных параметров можно использовать результат работы алгоритма K-means. (Данная эвристика применяется, так как K-means требуется намного меньше итераций до достижения стабилизации, в то время как каждый шаг EM требует больших вычислительных затрат). - Далее итеративно выполняется следующая пара процедур:
- E-шаг: используя текущее значение вектора параметров
, вычисляем значение вектора скрытых переменных : - М-шаг: переоценка вектора параметров, используя текущее значение вектора скрытых переменных:
- E-шаг: используя текущее значение вектора параметров
Итерации происходят до сходимости (норма разности векторов скрытых переменных или изменение логарифмического правдоподобия на каждой итерации не будет превышать заданную константу) или достижения максимального числа итераций.
1.3 Вычислительное ядро алгоритма
В вычислительное ядро EM-алгоритма входят:
- Вычисление скрытых переменных
на E-шаге (всего их ). - Переоценка вектора параметров
на M-шаге, используя текущие значения скрытых переменных .
1.4 Макроструктура алгоритма
Как записано в описании ядра алгоритма, основную часть метода составляют множественные вычисления скрытых переменных
1.5 Схема реализации последовательного алгоритма
Последовательная реализация алгоритма EM может быть проиллюстрирована с помощью следующего псевдокода:
- Инициализация: установка начальных значений
. - Пока изменение логарифмического правдоподобия
и не достигнуто максимальное число итераций , выполнять шаги E и M.
Шаг E
def E-step: Инициализировать нулевыми значениями [math]\mu^{'}, \, \Sigma_j^{'} \, (j = \overline{1, k}), \, w^{'}, \, llh[/math] for [math]j = \overline{1, k}[/math]: Вычислить определитель и обратную матрицу матрицы [math]\Sigma_j[/math] for [math]i = \overline{1, n}[/math]: [math]sump_i = 0[/math] for [math]j = \overline{1, k}[/math]: [math]\delta_{ij} = \big( x_i - \mu_j \big)^T \Sigma_j^{-1} \big( x_i - \mu_j \big)[/math] [math]gij = \frac{w_j}{{2 \pi}^\frac{q}{2}|\Sigma_j|}\exp{\big\{-\frac{\delta^2}{2}\big\} }[/math] [math]sump_i \mathrel{+}= g_{ij}[/math] [math]y_i = \frac{g_i}{sump_i}[/math] [math]llh \mathrel{+}= \ln(sump_i)[/math] [math]\mu^{'} \mathrel{+}= x_iy_i^T[/math] [math]w^{'} \mathrel{+}= y_i[/math]
Шаг M
def M-step: for [math]j = \overline{1, k}[/math]: [math]\mu_j = \frac{\mu_j^{'}}{w_j^{'}}[/math] for [math]i = \overline{1, n}[/math]: [math]\Sigma_j^{'} \mathrel{+}= (x_i - \mu_j)y_{ij}(x_i - \mu_j)^T[/math] [math]\Sigma_j = \frac{\Sigma_j^{'}}{w_j^{'}}[/math] [math]w = \frac{w^{'}}{n}[/math]
Логаририфмическое правдоподобие вычисляется как:
Матрицы
1.6 Последовательная сложность алгоритма
Последовательная сложность одной итерации EM-алгоритма:
- E-шаг:
В случае недиагональных ковариационных матриц сложность вычислений:- Определителей ковариационных матриц
( ) методом Гаусса: , - Матриц, обратных ковариационным матрицам
( ) методом Гаусса—Жордана: , - Скрытых переменных
( ): .
- Определителей ковариационных матриц
( ): , - Матриц, обратных ковариационным матрицам
( ): , - Скрытых переменных
( ): .
, а в случае диагональных ковариационных матриц — . - Определителей ковариационных матриц
-
М-шаг:
В случае недиагональных ковариационных матриц сложность вычислений:- Обновление математических ожиданий
( ): , - Обновление ковариационных матриц
( ): , - Обновление весов кластеров
( ): .
- Обновление математических ожиданий
( ): , - Обновление ковариационных матриц
( ): , - Обновление весов кластеров
( ): .
, а в случае диагональных ковариационных матриц — . - Обновление математических ожиданий
Таким образом, последовательная сложность итерации EM-алгоритма в случае недиагональных ковариационных матриц имеет порядок
1.7 Информационный граф
Граф алгоритма в терминах E-шагов и M-шагов представлен на рис. 1. Каждая итерация алгоритма зависит от результата работы предыдущей итерации, M-шаг зависит от результата E-шага. Рассмотрим по отдельности информационные графы E-шага и M-шага.
1.7.1 E-шаг
Опишем граф E-шага как аналитически, так и в виде рисунка.
1.7.2 M-шаг
Опишем граф M-шага как аналитически, так и в виде рисунка.
1.8 Ресурс параллелизма алгоритма
1.9 Входные и выходные данные алгоритма
Входные данные:
Объем входных данных:
Выходные данные:
Объем выходных данных:
1.10 Свойства алгоритма
1.10.1 Достоинства и недостатки алгоритма
Среди достоинств EM-алгоритма можно выделить следующие:
- Мощная статистическая основа.
- Линейное увеличение сложности при росте объема данных.
- Устойчивость к шумам и пропускам в данных.
- Возможность построения желаемого числа кластеров.
- Быстрая сходимость при удачной инициализации.
К недостаткам EM-алгоритма можно отнести следующее:
- Алгоритм неустойчив по начальным данным (то есть тем, которые инициализируют вектор параметров на первой итерации), так как он находит локальный экстремум, значение которого может оказаться гораздо ниже, чем глобальный максимум. В зависимости от выбора начального приближения алгоритм может сходиться к разным точкам. Также может сильно варьироваться скорость сходимости.
- Алгоритм не позволяет определять количество
компонент смеси. Эта величина является структурным параметром алгоритма. - Предположение о нормальности всех измерений данных не всегда выполняется.
2 Программная реализация алгоритма
2.1 Масштабируемость реализации алгоритма
2.2 Существующие реализации алгоритма
3 Литература
- A. Dempster, N. Laird and D. Rubin. Maximum likelihood estimation from incomplete data. – Journal of the Royal Statistical Society, Series B, 1977, vol. 39, p. 1-38.