В принципе, как EM, так и стандартные подходы оптимизации могут работать для подгонки распределений смеси. Как и EM, решатели выпуклой оптимизации будут сходиться к локальному оптимуму. Но существует множество алгоритмов оптимизации для поиска лучших решений при наличии нескольких локальных оптимумов. Насколько я знаю, алгоритм с лучшей скоростью сходимости будет зависеть от проблемы.
Одно из преимуществ EM состоит в том, что он естественно создает действительные параметры для распределения смеси на каждой итерации. Напротив, стандартные алгоритмы оптимизации требуют ограничений. Например, допустим, вы подходите для гауссовой модели смеси. Стандартный подход нелинейного программирования требует, чтобы ограничивающие ковариационные матрицы были положительными полуопределенными, а весовые коэффициенты компонентов смесей должны быть неотрицательными и суммироваться в единицу.
Для достижения высокой производительности в задачах с большими размерами решатель нелинейного программирования обычно должен использовать градиент. Таким образом, вам придется либо получить градиент или вычислить его с автоматическим дифференцированием. Градиенты также необходимы для функций ограничения, если они не имеют стандартной формы. Метод Ньютона и связанные с ним подходы (например, методы области доверия) также нуждаются в гессиане. Методы конечных разностей или без производных могут быть использованы, если градиент недоступен, но производительность имеет тенденцию к плохому масштабированию при увеличении количества параметров. Напротив, EM не требует градиента.
ЭМ концептуально интуитивен, что является большой добродетелью. Это часто относится и к стандартным подходам оптимизации. Есть много деталей реализации, но общая концепция проста. Часто можно использовать стандартные решатели оптимизации, которые абстрагируют эти детали под капот. В этих случаях пользователь просто должен предоставить целевую функцию, ограничения и градиенты и иметь достаточно рабочих знаний, чтобы выбрать решатель, который хорошо подходит для этой проблемы. Но специальные знания, безусловно, необходимы, если они доходят до того, что пользователь должен подумать или реализовать низкоуровневые детали алгоритма оптимизации.
Другое преимущество алгоритма EM заключается в том, что его можно использовать в тех случаях, когда некоторые значения данных отсутствуют.
Также интерес (включая комментарии):
Я думаю, что ответ user20160 дает очень хорошее объяснение. Самая важная причина, по которой методы, основанные на градиенте, здесь не подходят, заключается в том, что ковариационные матрицы являются положительными полуопределенными, а смешанные коэффициенты неотрицательными и суммируют до одного.
Просто хочу указать, что если мы ограничим ковариационные матрицы диагональными, то эти два ограничения можно легко выразить.
Более того, это позволяет нам напрямую оптимизировать для истинного правдоподобия вместо вариационной нижней границы (ELBO), тем самым устраняя необходимость в скрытых переменных.
Однако даже в таких случаях EM часто оказывается лучшим алгоритмом, чем градиентный.
источник