Я написал несколько постов по оценке параметров. Первый пост был посвящен оценке максимального правдоподобия (MLE), где мы хотим найти значение некоторого параметра θ, который наиболее вероятно отображает данные обучения, это также может быть известно как параметр, который, скорее всего, соответствует данным обучения. Байесовская оценка параметров (BPE) расширяет MLE, поскольку априорная информация о θ либо дана, либо предполагается. Что делать, если данные не полные? Что делать, если есть отсутствующие данные, где отсутствующие могут означать шум, потерянные или скрытые данные? Именно здесь вступает в действие максимизация ожиданий (EM). Алгоритм EM представляет собой итеративный подход к маргинализации отсутствующих данных для поиска MLE. Цель состоит в том, чтобы итеративно найти лучшие параметры θ, такие, что l(θ) > l(θ’), где θ’ — текущая оценка, а θ.

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

Алгоритм ЭМ состоит из двух шагов. Первый шаг — вычисление Ожидания или вычисление Q(θ; θ’). Второй шаг — максимизация ожидания, рассчитанного на первом шаге. Мы также обновляем θ с помощью argmax Q(θ; θ’). Поскольку это итеративный алгоритм, алгоритм, перебирая данные в цикле, завершится, когда Q не сильно изменится.

Вывод алгоритма EM

У нас есть набор данных Z = (x, y), где x доступен, а y — скрытые данные, данные, которые невозможно наблюдать. В MLE мы хотим найти P(X|θ), где X={x_1, x_2, …, x_n}, но поскольку у нас есть как наблюдаемые, так и ненаблюдаемые данные, мы хотим найти P(Z|θ). Хотя мы хотим найти P(Z|θ), как мы можем максимизировать P(x, y|θ), когда y скрыто? Поскольку мы знаем только x, мы можем только максимизировать P(x|θ), где P(x|θ)=P(x, y|θ)-P(y|x, θ). Давайте немного углубимся в вывод ожиданий.

Теперь, когда у нас есть лучшее представление о том, как формулировать Q(θ;θ’), давайте рассмотрим пример, чтобы углубить наше понимание.

Пример ЭМ

Допустим, вы с другом подбрасываете две разные монеты. Вы подбрасываете свою монету 10 раз, и ваш друг тоже 10 раз подбрасывает свою монету. Вы оба повторяете это в общей сложности 3 раза. Затем вы меняете монеты, но в процессе вы оба роняете свою монету, из-за чего ни один из них не знает, чья монета у них есть. Вы хотите вычислить наилучшую оценку вероятности выпадения орла для обеих монет, но не знаете, какую монету подбрасываете. Здесь мы можем использовать EM для оценки вероятности выпадения орла для монет, не зная полностью, какая монета подбрасывается. Мы решаем поместить монеты в мешочек, случайным образом выбираем монету из мешка и подбрасываем ее 10 раз. Мы выполняем это еще 2 раза в качестве первой итерации алгоритма EM. Вот результаты первой итерации.

Здесь мы показываем одну итерацию алгоритма EM. В идеале мы должны выполнить больше итераций, пока изменение нового θ не станет меньше или равно некоторому значению условия остановки. Вам может быть интересно, почему это совсем не похоже на уравнение алгоритма EM, и вы правы. Давайте разберемся, как мы упростили максимизацию θ до количества атрибутированных орлов на количество атрибутированных подбрасываний.

Хотя было сделано много преобразований, я думаю, что это немного интуитивно понятно. У нас есть y_n, где n находится в {1, 2, 3}, являющемся каждым из испытаний, а y — скрытые данные, представляющие монету испытания n. Если мы максимизируем θ для монеты 1, y_n будет даже тем, что испытание n является монетой 1. Мы собираемся только до 3 испытаний, поскольку это то, что мы определили в нашей первой итерации. Теоретически может быть сколько угодно испытаний. Из этого уравнения мы можем решить для n_H и n_T, которые являются атрибутами орла и решки для каждого испытания. Это должно начать выглядеть довольно знакомо. Из сообщения MLE мы знаем, что если мы возьмем производную от Q, мы сможем найти значение, которое максимизирует θ. Единственная реальная разница между результатом, который мы получаем здесь при формулировке задачи EM, и постановке задачи MLE состоит в том, что мы не знаем, какая монета подбрасывается. Мы должны взвесить наблюдаемое количество решек с вероятностью того, что решка выпадет из определенной монеты.

Вывод

Алгоритм EM имеет некоторые недостатки. E-шаг в алгоритме EM может быть очень затратным в вычислительном отношении, особенно алгоритм приближается к максимуму. В первую очередь это связано с возможной сложностью решения p(y|x, θ’). Еще одним недостатком алгоритма EM является то, что он сходится к локальному максимуму. Несмотря на недостаток EM-алгоритма, это мощный алгоритм для решения задачи оценки максимального правдоподобия для наборов данных со скрытыми данными. Если вам понравился пост, не забудьте нажать кнопку хлопка. Если вы нашли это полезным, я хотел бы проверить некоторые из моих других сообщений. До скорого!