EM-алгоритм
Алгоритм EM - алгоритм поиска максимума правдоподобия параметров для решения задач, где некоторые переменные не являются наблюдаемыми.
Алгоритм ищет параметры модели итеративно, каждая итерация состоит из двух шагов:
E(Expectation) шаг, в котором находится распределение скрытых переменных используя значение наблюдаемых переменных и текущего значения параметров.
M(Maximisation) шаг - пересчет параметров, находя максимум правдоподобия исходя из распределения скрытых переменных, полученных на E - шаге.
k-means как EM алгоритм
Скрытыми переменными в данной задаче являются классы, к которым относятся объекты для кластеризации. Сами же параметры это центры масс классов. На шаге E - распределяются все объекты по классам исходя из расстояния от центра, на шаге M находится оптимальное месторасположение центра.
Аналогично рассматривается и алгоритм c-means. Скрытые переменные здесь будут вероятности принадлежности к классам, которые находятся на E-шаге по расстоянию от центра. Центр так же рассчитывается на M-шаге исходя из скрытых переменных.
Задача разделения смеси распределений
Суть Необходимо описать плотность распределения функции на X как сумму k функций, которые можно рассматривать как элементы параметрического семейства функций
. Плотность распределения будет выглядеть как где - априорная вероятность j компоненты распределения. Задача разделения смеси заключается в том, чтобы, имея выборку случайных и независимых наблюдений из смеси , зная число и функцию , оценить вектор параметров
E-шаг:
Введем обозначение:
это и будут скрытые параметры данной задачи - апостериорная вероятность того, что обучающий объект получен из -й компонентыПо формуле Байеса справедливо равенство
Таким образом при зная значение параметров легко найти скрытые переменные.Перейдем к M-шагу:
Посчитаем для аддитивности логарифм правдоподобия:
при условии
имеет смысл расcматривать лагранжиан задачи: