Modele mieszanin gaussowskich (ang. Gaussian mixture models, GMM) – klasa modeli probabilistycznych, w których rozkład obserwowanych danych przedstawia się jako mieszaninę skończonej liczby wielowymiarowych rozkładów normalnych. Modele te są używane między innymi do analizy skupień, estymacji gęstości, klasyfikacji probabilistycznej, wykrywania obserwacji odstających oraz modelowania populacji złożonych z nieobserwowanych podgrup.

Model mieszanin gaussowskich można traktować jako probabilistyczne uogólnienie metody k-średnich. W przeciwieństwie do k-średnich model GMM nie przypisuje obserwacji do skupień wyłącznie deterministycznie, lecz wyznacza prawdopodobieństwa przynależności do poszczególnych składowych. Pozwala także modelować skupienia o różnych rozmiarach, kształtach i orientacjach przez dobór macierzy kowariancji.

Definicja Niech będzie obserwacją -wymiarową. Model mieszanin gaussowskich z składowymi ma gęstość postaci

gdzie: jest liczbą składowych mieszaniny; są wagami mieszaniny, spełniającymi oraz ; jest wektorem średnich -tej składowej; jest dodatnio określoną macierzą kowariancji -tej składowej; oznacza gęstość wielowymiarowego rozkładu normalnego.

Parametrami modelu są więc

Model można interpretować generatywnie. Najpierw losuje się nieobserwowaną zmienną , wskazującą numer składowej, z rozkładu kategorycznego o prawdopodobieństwach . Następnie, warunkowo względem , obserwację losuje się z rozkładu normalnego

Motywacja Pojedynczy rozkład normalny opisuje dane za pomocą jednej średniej i jednej struktury kowariancji. W praktyce dane często są jednak wielomodalne, pochodzą z kilku podpopulacji albo tworzą skupienia o różnych kształtach. Model mieszaninowy łączy kilka prostych rozkładów w jeden bardziej elastyczny rozkład łączny.

Przykładowo rozkład pewnej cechy biologicznej może być mieszaniną rozkładów odpowiadających różnym podgrupom populacji. W analizie obrazów kolory pikseli mogą tworzyć kilka skupień odpowiadających różnym regionom. W finansach mieszaniny normalne bywają stosowane do modelowania rozkładów bardziej złożonych niż pojedynczy rozkład normalny, zwłaszcza gdy obserwuje się różne reżimy zmienności.

Estymacja parametrów Dla danych funkcja wiarygodności modelu GMM ma postać

a logarytm wiarygodności wynosi

Bezpośrednia maksymalizacja tej funkcji jest trudna, ponieważ logarytm obejmuje sumę po nieobserwowanych składowych. Standardową metodą estymacji parametrów jest algorytm EM (expectation-maximization), opisany ogólnie przez Arthura Dempstera, Nana Lairda i Donalda Rubina w 1977 roku.

Algorytm EM Algorytm EM dla modelu mieszanin gaussowskich jest iteracyjną metodą maksymalizacji wiarygodności. Składa się z dwóch kroków powtarzanych do zbieżności: kroku E i kroku M.

Krok E W kroku E oblicza się tzw. odpowiedzialności składowych, czyli prawdopodobieństwa warunkowe

Wartość można interpretować jako stopień przynależności obserwacji do -tej składowej.

Krok M W kroku M aktualizuje się parametry modelu przy ustalonych odpowiedzialnościach. Niech

Wtedy aktualizacje mają postać

oraz

Algorytm EM zwiększa wartość funkcji wiarygodności w każdej iteracji, lecz może zatrzymać się w lokalnym maksimum. Dlatego w praktyce często uruchamia się go wielokrotnie z różnymi inicjalizacjami.

Typy macierzy kowariancji W praktycznych implementacjach często ogranicza się postać macierzy kowariancji, aby zmniejszyć liczbę parametrów, poprawić stabilność estymacji albo przyspieszyć obliczenia. Typowe warianty to: pełna kowariancja – każda składowa ma własną pełną macierz kowariancji; wspólna kowariancja – wszystkie składowe mają tę samą pełną macierz kowariancji; kowariancja diagonalna – każda składowa ma własną diagonalną macierz kowariancji; kowariancja sferyczna – każda składowa ma własną wariancję skalarną, tak że macierz kowariancji jest wielokrotnością macierzy jednostkowej.

Pełne macierze kowariancji dają największą elastyczność, ponieważ pozwalają modelować skupienia eliptyczne o dowolnej orientacji. Warianty diagonalne i sferyczne są prostsze, ale mogą być niewystarczające, gdy zmienne są silnie skorelowane.

W modelowym grupowaniu często stosuje się też bardziej szczegółowe, parametryczne rodziny macierzy kowariancji. Przykładem są modele parsimonious Gaussian clustering, w których ogranicza się objętość, kształt i orientację elipsoid kowariancji, zmniejszając liczbę parametrów i ułatwiając porównywanie modeli.

Dobór liczby składowych Liczba składowych zwykle nie jest znana z góry i stanowi część procesu modelowania. Zbyt mała liczba składowych prowadzi do niedopasowania modelu, natomiast zbyt duża może powodować przeuczenie, trudności interpretacyjne oraz niestabilność estymacji.

Do wyboru liczby składowych często stosuje się kryterium informacyjne Akaikego (AIC) oraz bayesowskie kryterium informacyjne (BIC). Jeżeli oznacza maksymalną wartość funkcji wiarygodności, liczbę swobodnych parametrów modelu, a liczbę obserwacji, to w typowej konwencji

natomiast

W tej konwencji wybiera się model o najmniejszej wartości kryterium.

Oba kryteria łączą miarę dopasowania modelu z karą za liczbę parametrów. AIC stosuje karę , natomiast BIC karę . Dla większych prób BIC zwykle silniej karze złożoność modelu niż AIC, dlatego często wybiera prostszy model. W praktyce AIC bywa używane, gdy celem jest dobra predykcja lub aproksymacja rozkładu, natomiast BIC częściej stosuje się przy wyborze liczby składowych interpretowanych jako potencjalne nieobserwowane grupy.

W modelach mieszanin gaussowskich liczba parametrów zależy nie tylko od liczby składowych , lecz także od wymiaru danych i przyjętej struktury macierzy kowariancji. Dla danych -wymiarowych pełne macierze kowariancji mają znacznie więcej parametrów niż macierze diagonalne lub sferyczne. Dlatego AIC i BIC mogą służyć nie tylko do wyboru , lecz także do porównywania typów kowariancji.

W niektórych pakietach statystycznych stosuje się przeciwną konwencję znaku dla BIC, na przykład maksymalizuje się wielkość postaci . Przy korzystaniu z oprogramowania należy więc sprawdzić, czy dany program wybiera model przez minimalizację, czy przez maksymalizację raportowanego kryterium.

Kryteria AIC i BIC nie zastępują oceny merytorycznej. Model o najlepszej wartości kryterium może dzielić dane na składowe trudne do interpretacji albo odwrotnie – model prostszy może być preferowany, jeśli odpowiada naturalnemu podziałowi badanego zjawiska. W praktyce porównuje się zwykle wartości kryteriów z wykresami gęstości, stabilnością wyników przy różnych inicjalizacjach, interpretowalnością składowych i jakością predykcyjną.

Klasyfikacja i analiza skupień Po dopasowaniu modelu obserwację można przypisać do składowej o największej odpowiedzialności:

Jest to tzw. twarde przypisanie do skupienia. Sam model dostarcza jednak również przypisań miękkich, czyli wektora prawdopodobieństw .

Miękkie przypisania są użyteczne wtedy, gdy skupienia nakładają się na siebie. Obserwacja położona między dwoma skupieniami może mieć na przykład prawdopodobieństwa przynależności 0,55 i 0,45, zamiast zostać arbitralnie przypisana tylko do jednego z nich.

Związek z metodą k-średnich Metoda k-średnich może być rozumiana jako ograniczony przypadek modelowania mieszaninowego, w którym skupienia mają podobny, sferyczny kształt, a przypisania obserwacji do skupień są twarde. Model GMM jest bardziej elastyczny: uwzględnia wariancje, kowariancje i niepewność przypisania obserwacji do składowych.

W praktyce k-średnich bywa używane do inicjalizacji średnich w algorytmie EM, ponieważ dobra inicjalizacja może istotnie wpływać na wynik estymacji.

Identyfikowalność i zamiana etykiet Modele mieszaninowe są nieidentyfikowalne względem permutacji etykiet składowych. Jeżeli zamieni się numerację składowych, na przykład pierwszą z drugą, gęstość modelu pozostanie taka sama. Zjawisko to nazywa się zamianą etykiet albo label switching.

Problem ten zwykle nie przeszkadza w estymacji samej gęstości ani w analizie skupień, ale ma znaczenie przy interpretacji parametrów poszczególnych składowych, zwłaszcza w podejściach bayesowskich.

Osobliwości i regularyzacja Funkcja wiarygodności modelu GMM może być nieograniczona. Jeżeli jedna składowa skupi się wokół pojedynczej obserwacji, a jej macierz kowariancji stanie się bliska osobliwej, gęstość w tym punkcie może rosnąć bez ograniczenia. Z tego powodu praktyczne implementacje stosują ograniczenia numeryczne lub regularyzację macierzy kowariancji.

Typowe środki ostrożności obejmują dodanie małej dodatniej wartości do przekątnej macierzy kowariancji, ograniczenie minimalnej liczności składowych, wielokrotne inicjalizacje oraz wybór prostszej struktury kowariancji.

Pakiety i oprogramowanie Modele mieszanin gaussowskich są dostępne w wielu pakietach statystycznych i bibliotekach uczenia maszynowego. Różnice między implementacjami dotyczą między innymi sposobu inicjalizacji algorytmu EM, dostępnych struktur macierzy kowariancji, obsługi liczby składowych, regularyzacji oraz sposobu raportowania kryteriów AIC i BIC.

R W języku R jednym z najczęściej używanych pakietów do modelowania mieszanin gaussowskich jest pakiet mclust. Służy on do modelowego grupowania, klasyfikacji i estymacji gęstości za pomocą skończonych mieszanin gaussowskich estymowanych algorytmem EM. Pakiet zawiera strategie wyboru modelu oparte na BIC i pozwala porównywać różne liczby składowych oraz różne parametryzacje macierzy kowariancji.

Do analizy ogólniejszych mieszanin skończonych używa się także pakietu mixtools. Obejmuje on mieszaniny rozkładów normalnych, wielowymiarowych normalnych, wielomianowych, gamma oraz mieszaniny regresji. Zawiera funkcje estymacji za pomocą algorytmu EM, narzędzia diagnostyczne oraz metody pomocne przy wyborze liczby składowych.

Pakiet flexmix jest ogólniejszym narzędziem do skończonych mieszanin modeli regresyjnych. Implementuje ramę dla mieszanin estymowanych algorytmem EM; dostarcza krok E i obsługę danych, a krok M może być dostarczany przez użytkownika lub przez istniejące sterowniki modeli.

Python W języku Python podstawową implementacją klasycznych modeli mieszanin gaussowskich jest klasa GaussianMixture z biblioteki scikit-learn. Umożliwia ona estymację parametrów modelu, wybór typu macierzy kowariancji, obliczanie prawdopodobieństw przynależności do składowych, predykcję składowych oraz obliczanie kryteriów AIC i BIC. Dokumentacja scikit-learn zawiera także przykład wyboru liczby składowych i typu kowariancji przy użyciu AIC oraz BIC.

Scikit-learn zawiera również klasę BayesianGaussianMixture, która implementuje bayesowską wersję modelu mieszaninowego. Może ona częściowo ograniczać problem ręcznego wyboru liczby składowych przez zastosowanie rozkładów a priori i mechanizmów wygaszających niepotrzebne składowe.

W modelowaniu bayesowskim wykorzystuje się także biblioteki takie jak PyMC. Przykładowa galeria PyMC zawiera model mieszanin gaussowskich używający rozkładu NormalMixture. Inną biblioteką probabilistyczną jest pomegranate, która udostępnia ogólne modele mieszanin i pozwala budować mieszaniny z różnych rozkładów, w tym rozkładów normalnych.

Modele mieszanin gaussowskich są też dostępne w narzędziach komercyjnych i graficznych. Przykładem jest węzeł Mieszanina rozkładów Gaussa w IBM SPSS Modeler, który według dokumentacji IBM udostępnia podstawowe funkcje i często używane parametry modeli mieszanin gaussowskich oraz jest zaimplementowany w Pythonie.

Zastosowania Modele mieszanin gaussowskich są stosowane między innymi w: analizie skupień i segmentacji danych; estymacji gęstości rozkładu; klasyfikacji probabilistycznej; przetwarzaniu obrazów i segmentacji kolorów; rozpoznawaniu mowy i modelowaniu sygnałów; wykrywaniu anomalii; analizie danych biomedycznych; finansach i modelowaniu rozkładów o złożonej strukturze.