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