En principio, los enfoques de optimización estándar y EM pueden funcionar para ajustar distribuciones de mezclas. Al igual que EM, los solucionadores de optimización convexos convergerán a un óptimo local. Pero, existe una variedad de algoritmos de optimización para buscar mejores soluciones en presencia de múltiples óptimos locales. Hasta donde yo sé, el algoritmo con la mejor velocidad de convergencia dependerá del problema.
Una ventaja de EM es que, naturalmente, produce parámetros válidos para la distribución de la mezcla en cada iteración. Por el contrario, los algoritmos de optimización estándar necesitarían restricciones para imponerse. Por ejemplo, supongamos que está ajustando un modelo de mezcla gaussiana. Un enfoque de programación no lineal estándar requeriría que las matrices de covarianza restrictivas sean semidefinidas positivas y que los pesos de los componentes de la mezcla sean no negativos y sumen uno.
Para lograr un buen rendimiento en problemas de alta dimensión, un solucionador de programación no lineal generalmente necesita explotar el gradiente. Por lo tanto, tendría que derivar el gradiente o calcularlo con diferenciación automática. Los gradientes también son necesarios para las funciones de restricción si no tienen una forma estándar. El método de Newton y los enfoques relacionados (por ejemplo, los métodos de la región de confianza) también necesitan el hessiano. Se podrían usar métodos de diferenciación finita o sin derivados si el gradiente no está disponible, pero el rendimiento tiende a escalar mal a medida que aumenta el número de parámetros. Por el contrario, EM no requiere el gradiente.
EM es conceptualmente intuitivo, lo cual es una gran virtud. Esto a menudo también es válido para los enfoques de optimización estándar. Hay muchos detalles de implementación, pero el concepto general es simple. A menudo es posible utilizar solucionadores de optimización estándar que abstraen estos detalles bajo el capó. En estos casos, un usuario solo tiene que proporcionar la función objetivo, restricciones y gradientes, y tener suficiente conocimiento de trabajo para seleccionar un solucionador que se adapte bien al problema. Sin embargo, se requiere conocimiento especializado si llega al punto en que el usuario tiene que pensar o implementar detalles de bajo nivel del algoritmo de optimización.
Otro beneficio del algoritmo EM es que puede usarse en casos donde faltan algunos valores de datos.
También de interés (incluidos los comentarios):