Что такое алгоритм EM в машинном обучении? [Поясняется с примерами]

Опубликовано: 2021-03-10

Алгоритм EM или алгоритм максимизации ожидания — это модель скрытой переменной, предложенная Артуром Демпстером, Нэн Лэрд и Дональдом Рубином в 1977 году.

Модель скрытых переменных включает наблюдаемые переменные и ненаблюдаемые переменные. Наблюдаемые переменные — это те, которые можно измерить, тогда как ненаблюдаемые (латентные/скрытые) переменные выводятся из наблюдаемых переменных.

Как объяснили трио, алгоритм EM можно использовать для определения параметров локального максимального правдоподобия (MLE) или максимальных апостериорных параметров (MAP) для скрытых переменных (ненаблюдаемых переменных, которые необходимо вывести из наблюдаемых переменных) в статистической модели. Он используется для прогнозирования этих значений или определения отсутствующих или неполных данных при условии, что вы знаете общую форму распределения вероятностей, связанную с этими скрытыми переменными.

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

Алгоритм является довольно мощным инструментом машинного обучения и представляет собой комбинацию множества неконтролируемых алгоритмов. Это включает в себя алгоритм кластеризации k-средних, среди других вариантов алгоритма EM.

Присоединяйтесь к онлайн- курсу по машинному обучению в ведущих университетах мира — магистерским программам, программам последипломного образования для руководителей и программам повышения квалификации в области машинного обучения и искусственного интеллекта, чтобы ускорить свою карьеру.

Оглавление

Алгоритм максимизации ожидания

Давайте рассмотрим механизм алгоритма максимизации ожиданий в машинном обучении:

Источник

  • Шаг 1: У нас есть набор отсутствующих или неполных данных и еще один набор начальных параметров. Мы предполагаем, что наблюдаемые данные или начальные значения параметров генерируются из конкретной модели.
  • Шаг 2: На основе наблюдаемого значения в наблюдаемых экземплярах доступных данных мы будем прогнозировать или оценивать значения в ненаблюдаемых экземплярах данных или отсутствующих данных. Это известно как шаг ожидания (E – шаг).
  • Шаг 3: Используя данные, сгенерированные на этапе E, мы обновим параметры и завершим набор данных. Это известно как шаг максимизации (M-шаг), который используется для обновления гипотезы.

Шаги 2 и 3 повторяются до сходимости. Это означает, что если значения не сходятся, мы будем повторять шаг E и шаг M.

.

Источник

Преимущества и недостатки алгоритма EM

Недостатки алгоритма EM
1 Каждая итерация алгоритма EM приводит к гарантированному увеличению вероятности.
2 Шаг ожидания и шаг максимизации довольно просты, и решение для последнего в основном существует в закрытой форме.
Преимущества алгоритма EM
1 Алгоритм максимизации ожидания учитывает как прямые, так и обратные вероятности. Это отличается от численной оптимизации, которая учитывает только форвардные вероятности.
2 Сходимость алгоритма EM очень медленная и осуществляется только до локальных оптимумов.

Приложения алгоритма EM

Модель скрытых переменных имеет множество реальных применений в машинном обучении.

  1. Он используется в неконтролируемой кластеризации данных и психометрическом анализе.
  2. Он также используется для вычисления гауссовой плотности функции.
  3. Алгоритм EM находит широкое применение при прогнозировании параметров скрытой марковской модели (HMM) и других смешанных моделей.
  4. Алгоритм EM находит широкое применение в обработке естественного языка (NLP), компьютерном зрении и количественной генетике.
  5. Другие важные приложения алгоритма EM включают реконструкцию изображений в области медицины и проектирования конструкций.

Давайте разберемся с алгоритмом EM, используя модель смеси Гаусса.

Алгоритм ЭМ для гауссовой модели смеси

Чтобы оценить параметры гауссовской модели смеси, нам потребуются некоторые наблюдаемые переменные, генерируемые двумя отдельными процессами, распределения вероятностей которых известны. Однако точки данных двух процессов объединены, и мы не знаем, какому распределению они принадлежат.

Мы стремимся оценить параметры этих распределений, используя оценку максимального правдоподобия алгоритма EM, как описано выше.

Вот код , который мы будем использовать:

# Учитывая функцию, для которой мы должны вычислить плотность

# Гауссова в точке x_i при заданных mu, sigma: G(x_i, mu, sigma); а также

# еще одна функция для вычисления логарифмических правдоподобий: L(x, mu, sigma, pi)

def оценка_gmm (x, K, tol = 0,001, max_iter = 100):

”' Оцените параметры GMM.

:param x: список наблюдаемых переменных с действительным знаком

:param K: целое число для числа гауссовых

:param tol: допустимое изменение для логарифмической вероятности

:return: параметры мю, сигма, пи

”'

# 0. Инициализировать тета = (мю, сигма, пи)

N = длина (х)

мю, сигма = [ранд()] * К, [ранд()] * К

пи = [ранд()] * К

curr_L = np.inf

для j в диапазоне (max_iter):

предыдущая_L = текущая_L

# 1. E-шаг: ответственность = p(z_i = k | x_i, theta^(t-1))

р = {}

для я в диапазоне (N):

части = [pi [k] * G (x_i, mu [k], sigma [k]) для i в диапазоне (K)]

итог = сумма (части)

для я в к:

r[(i, k)] = частей[k] / всего

# 2. М-шаг: обновить значения мю, сигма, пи

rk = [sum([r[(i, k)] для i в диапазоне (N)]) для k в диапазоне (K)]

для k в диапазоне (K):

пи [к] = рк [к] / Н

mu[k] = sum(r[(i, k)] * x[i] для i в диапазоне (N)) / rk[k]

sigma[k] = сумма(r[(i, k)] * (x[i] – mu[k]) ** 2) / rk[k]

# 3. Проверить условие выхода

curr_L = L (х, мю, сигма, пи)

если abs(prev_L – curr_L) < to:

перерыв

вернуть мю, сигма, пи

На шаге E мы можем использовать теорему Байеса для определения ожидаемых значений заданных точек данных, взятых из прошлых итераций алгоритма. На М-шаге мы предполагаем, что значения скрытых переменных фиксированы для оценки прокси в ненаблюдаемых случаях с использованием максимального правдоподобия. Наконец, мы используем формулы стандартного среднего и стандартного отклонения для оценки параметров модели гауссовой смеси.

Заключение

Это подводит нас к концу статьи. Для получения дополнительной информации о концепциях машинного обучения свяжитесь с ведущими преподавателями IIIT в Бангалоре и Ливерпульском университете Джона Мура в рамках программы upGrad Master of Science in Machine Learning & AI .

Это 18-месячный курс, который предлагает более 450 часов учебного контента, более 12 отраслевых проектов, 10 вариантов проектов Capstone и более 10 заданий по программированию. Вы также получаете индивидуальное наставничество от отраслевых экспертов и консультации по профориентации в режиме реального времени. Следующая партия начинается 28 февраля 2021 года!

Что подразумевается под кластеризацией EM?

Чтобы оптимизировать вероятность наблюдаемых данных, кластеризация EM используется для оценки средних значений и стандартных отклонений для каждого кластера (распределения). На основе комбинаций разных распределений в разных кластерах алгоритм EM пытается аппроксимировать наблюдаемые распределения значений. EM использует конечную модель смеси Гаусса для кластеризации данных и итеративно оценивает набор параметров до тех пор, пока не будет достигнуто желаемое значение сходимости. Кластеризация EM дает результаты, которые отличаются от результатов, полученных кластеризацией K-средних.

Каковы реальные приложения алгоритма EM?

В медицине алгоритм EM используется для реконструкции изображений. Он также используется для прогнозирования параметров скрытых марковских моделей (HMM) и других смешанных моделей. Это также помогает заполнить недостающие данные в конкретном образце. Параметры заданий и скрытые способности в моделях теории ответных заданий оцениваются с использованием EM в психометрии. Он также широко используется в области строительной техники.

Чем алгоритм MLE отличается от алгоритма EM?

При наличии скрытых переменных процесс оценки максимального правдоподобия просто проверяет данные. MLE сначала собирает все данные, а затем использует их для построения наиболее вероятной модели. Со скрытыми переменными алгоритм максимизации ожидания обеспечивает итеративное решение для оценки максимального правдоподобия. EM сначала делает обоснованную оценку параметров, затем проверяет отсутствующие данные, а затем изменяет модель в соответствии с обоснованными предположениями и наблюдаемыми данными.