En principe, les approches EM et d'optimisation standard peuvent fonctionner pour ajuster les distributions de mélange. Comme EM, les solveurs d'optimisation convexes convergeront vers un optimum local. Mais, une variété d'algorithmes d'optimisation existent pour rechercher de meilleures solutions en présence de multiples optima locaux. Pour autant que je sache, l'algorithme avec la meilleure vitesse de convergence dépendra du problème.
L'un des avantages de l'EM est qu'il produit naturellement des paramètres valides pour la distribution du mélange à chaque itération. En revanche, les algorithmes d'optimisation standard devraient imposer des contraintes. Par exemple, disons que vous ajustez un modèle de mélange gaussien. Une approche de programmation non linéaire standard exigerait que les matrices de covariance contraignantes soient semi-définies positives, et que les poids des composants du mélange soient non négatifs et additionnés à un.
Pour obtenir de bonnes performances sur des problèmes de grande dimension, un solveur de programmation non linéaire doit généralement exploiter le gradient. Donc, vous devez soit dériver le gradient, soit le calculer avec une différenciation automatique. Les dégradés sont également nécessaires pour les fonctions de contrainte s'ils n'ont pas de forme standard. La méthode de Newton et les approches connexes (par exemple les méthodes de région de confiance) ont également besoin de la Hesse. Une différenciation finie ou des méthodes sans dérivé pourraient être utilisées si le gradient n'est pas disponible, mais les performances ont tendance à mal évoluer à mesure que le nombre de paramètres augmente. En revanche, EM ne nécessite pas le gradient.
EM est conceptuellement intuitif, ce qui est une grande vertu. Cela vaut également pour les approches d'optimisation standard. Il existe de nombreux détails de mise en œuvre, mais le concept global est simple. Il est souvent possible d'utiliser des solveurs d'optimisation standard qui résument ces détails sous le capot. Dans ces cas, un utilisateur n'a qu'à fournir la fonction objective, les contraintes et les gradients, et possède suffisamment de connaissances pratiques pour sélectionner un solveur bien adapté au problème. Mais, des connaissances spécialisées sont certainement nécessaires si elles arrivent au point où l'utilisateur doit penser ou implémenter des détails de bas niveau de l'algorithme d'optimisation.
Un autre avantage de l'algorithme EM est qu'il peut être utilisé dans les cas où certaines valeurs de données manquent.
Également intéressant (y compris les commentaires):