Em princípio, as abordagens de otimização EM e padrão podem funcionar para ajustar distribuições de mistura. Como o EM, os solucionadores de otimização convexos irão convergir para um ótimo local. Porém, existe uma variedade de algoritmos de otimização para a busca de melhores soluções na presença de vários ótimos locais. Tanto quanto sei, o algoritmo com a melhor velocidade de convergência dependerá do problema.
Um benefício do EM é que ele produz naturalmente parâmetros válidos para a distribuição da mistura em todas as iterações. Por outro lado, algoritmos de otimização padrão precisariam de restrições a serem impostas. Por exemplo, digamos que você esteja ajustando um modelo de mistura gaussiano. Uma abordagem de programação não-linear padrão exigiria que as matrizes de covariância restritiva fossem semidefinidas positivas e que os pesos dos componentes da mistura fossem não-negativos e somados a um.
Para obter um bom desempenho em problemas de alta dimensão, um solucionador de programação não linear normalmente precisa explorar o gradiente. Portanto, você deve derivar o gradiente ou computá-lo com diferenciação automática. Gradientes também são necessários para funções de restrição se eles não tiverem um formulário padrão. O método de Newton e abordagens relacionadas (por exemplo, métodos de região de confiança) também precisam do Hessian. Métodos de diferenciação finita ou livres de derivação podem ser usados se o gradiente não estiver disponível, mas o desempenho tende a se expandir mal à medida que o número de parâmetros aumenta. Por outro lado, o EM não requer o gradiente.
O EM é conceitualmente intuitivo, o que é uma grande virtude. Isso também vale para abordagens de otimização padrão também. Existem muitos detalhes de implementação, mas o conceito geral é simples. Muitas vezes, é possível usar solucionadores de otimização padrão que abstraem esses detalhes sob o capô. Nesses casos, o usuário apenas precisa fornecer a função, as restrições e os gradientes objetivos, e ter conhecimento de trabalho suficiente para selecionar um solucionador adequado para o problema. Porém, certamente é necessário conhecimento especializado se chegar ao ponto em que o usuário tiver que pensar ou implementar detalhes de baixo nível do algoritmo de otimização.
Outro benefício do algoritmo EM é que ele pode ser usado nos casos em que alguns valores de dados estão ausentes.
Também de interesse (incluindo os comentários):