Zasadniczo zarówno optymalizacja EM, jak i standardowe optymalizacje mogą działać w celu dopasowania rozkładów mieszanin. Podobnie jak EM, wypukłe solwery optymalizacyjne zbiegną się do lokalnego optimum. Istnieje jednak szereg algorytmów optymalizacyjnych do poszukiwania lepszych rozwiązań w obecności wielu lokalnych optymów. O ile mi wiadomo, algorytm o najlepszej szybkości konwergencji będzie zależał od problemu.
Jedną z zalet EM jest to, że w naturalny sposób wytwarza prawidłowe parametry dla rozkładu mieszaniny przy każdej iteracji. Natomiast standardowe algorytmy optymalizacji wymagałyby ograniczenia. Załóżmy na przykład, że dopasowujesz model mieszanki Gaussa. Standardowe podejście do programowania nieliniowego wymagałoby ograniczenia macierzy kowariancji jako dodatnich półfinałów oraz ograniczenia wag składników mieszanki jako nieujemnych i sumujących się do jednego.
Aby osiągnąć dobrą wydajność w przypadku problemów z dużymi wymiarami, nieliniowy solver programistyczny zazwyczaj musi wykorzystywać gradient. Trzeba więc wyprowadzić gradient lub obliczyć go z automatycznym różnicowaniem. Gradienty są również potrzebne do funkcji ograniczeń, jeśli nie mają standardowej postaci. Metoda Newtona i podobne podejścia (np. Metody regionu zaufania) również wymagają Hesji. Można zastosować metody różnicowania skończonego lub metody bez pochodnych, jeśli gradient jest niedostępny, ale wydajność ma tendencję do słabego skalowania wraz ze wzrostem liczby parametrów. Natomiast EM nie wymaga gradientu.
EM jest koncepcyjnie intuicyjny, co jest wielką zaletą. Często dotyczy to również standardowych metod optymalizacji. Istnieje wiele szczegółów implementacji, ale ogólna koncepcja jest prosta. Często możliwe jest użycie standardowych solverów optymalizacyjnych, które wyodrębniają te szczegóły pod maską. W takich przypadkach użytkownik musi jedynie podać funkcję celu, ograniczenia i gradienty, a także mieć wystarczającą wiedzę praktyczną, aby wybrać solver dobrze dopasowany do problemu. Ale specjalistyczna wiedza jest z pewnością wymagana, jeśli dojdzie do punktu, w którym użytkownik musi przemyśleć lub wdrożyć szczegóły niskiego poziomu algorytmu optymalizacji.
Inną zaletą algorytmu EM jest to, że można go stosować w przypadkach, gdy brakuje niektórych wartości danych.
Interesujące (w tym komentarze):