Grundsätzlich können sowohl EM- als auch Standardoptimierungsansätze zum Anpassen von Gemischverteilungen verwendet werden. Wie EM konvergieren konvexe Optimierungslöser zu einem lokalen Optimum. Es gibt jedoch eine Vielzahl von Optimierungsalgorithmen, um bei Vorhandensein mehrerer lokaler Optima nach besseren Lösungen zu suchen. Soweit mir bekannt ist, hängt der Algorithmus mit der besten Konvergenzgeschwindigkeit vom Problem ab.
Ein Vorteil von EM ist, dass es auf natürliche Weise bei jeder Iteration gültige Parameter für die Gemischverteilung erzeugt. Im Gegensatz dazu müssten für Standard-Optimierungsalgorithmen Einschränkungen auferlegt werden. Angenommen, Sie passen ein Gaußsches Mischungsmodell an. Ein nichtlinearer Standard-Programmieransatz würde erfordern, dass die Beschränkung der Kovarianzmatrizen positiv semidefinit und die Beschränkung der Gewichte der Mischungskomponenten nichtnegativ sind und sich zu eins summieren.
Um eine gute Leistung bei hochdimensionalen Problemen zu erzielen, muss ein nichtlinearer Programmierlöser normalerweise den Gradienten ausnutzen. Sie müssen also entweder den Gradienten ableiten oder ihn mit automatischer Differenzierung berechnen. Farbverläufe werden auch für Abhängigkeitsfunktionen benötigt, wenn sie keine Standardform haben. Newtons Methode und verwandte Ansätze (zB Trust-Region-Methoden) benötigen ebenfalls das Hessische. Wenn der Gradient nicht verfügbar ist, können endliche Differenzierungsmethoden oder ableitungsfreie Methoden verwendet werden. Die Leistung lässt sich jedoch mit zunehmender Anzahl von Parametern schlecht skalieren. Im Gegensatz dazu benötigt EM den Gradienten nicht.
EM ist konzeptionell intuitiv, was eine große Tugend ist. Dies gilt häufig auch für Standardoptimierungsansätze. Es gibt viele Implementierungsdetails, aber das Gesamtkonzept ist einfach. Häufig können Standard-Optimierungslöser verwendet werden, die diese Details unter der Haube abstrahieren. In diesen Fällen muss der Benutzer lediglich die Zielfunktion, die Einschränkungen und die Verläufe angeben und über ausreichende Kenntnisse verfügen, um einen für das Problem geeigneten Löser auszuwählen. Spezialkenntnisse sind jedoch unbedingt erforderlich, wenn der Benutzer über Details des Optimierungsalgorithmus auf niedriger Ebene nachdenken oder diese implementieren muss.
Ein weiterer Vorteil des EM-Algorithmus besteht darin, dass er in Fällen verwendet werden kann, in denen einige Datenwerte fehlen.
Auch von Interesse (einschließlich der Kommentare):