Czym jest Ukryty model Markowa (Hidden Markov Model)?
Ukryty model Markowa, powszechnie zapisywany skrótem HMM, opisuje procesy losowe, w których obserwujemy sekwencję sygnałów zależnych od niejawnych stanów. Każdy stan jest częścią łańcucha Markowa, czyli układu, w którym prawdopodobieństwo przejścia do kolejnego stanu zależy wyłącznie od stanu bieżącego. Słowo „ukryty” wskazuje, że stanów nie da się bezpośrednio zmierzyć; widoczne są jedynie emisje, czyli dane, które stany generują.
Kontekst historyczny
Pierwszą formalizację HMM opracowali w połowie lat sześćdziesiątych Leonard E. Baum, Lloyd R. Welch oraz współpracownicy z Institute for Defense Analyses. Bazowali oni na wcześniejszych badaniach Andrieja Markowa z początku XX wieku nad łańcuchami zależności pierwszego rzędu. W latach siedemdziesiątych HMM zyskał popularność w rozpoznawaniu mowy dzięki pracom grupy Fredericka Jelineka w IBM, a następnie rozszerzono go na bioinformatykę, finansowe szeregów czasowych i przetwarzanie języka naturalnego.
Jak dokładnie działa Ukryty model Markowa
Struktura probabilistyczna
Model definiuje zbiór ukrytych stanów, macierz przejść między stanami oraz macierz emisji, która opisuje, z jakim prawdopodobieństwem każdy stan wytwarza określone obserwacje. Proces zaczyna się w stanie początkowym, a następnie losowo przechodzi do kolejnych stanów, generując przy tym obserwacje.
Proces uczenia
Parametry macierzy przejść i emisji szacuje się najczęściej metodą maksymalizacji prawdopodobieństwa, korzystając z algorytmu Baum–Welch będącego odmianą algorytmu EM (Expectation Maximization). Wnioskowanie o najbardziej prawdopodobnej sekwencji ukrytych stanów dla danej obserwacji przeprowadza się algorytmem Viterbiego.
Zastosowania w praktyce
HMM długo pozostawał standardem w rozpoznawaniu mowy, gdzie każdy stan odpowiada fonemie, a emisje stanowią wektory cech akustycznych. W bioinformatyce sprawdza się przy annotacji genów – modeluje regiony kodujące i niekodujące w sekwencji DNA. W finansach wspiera detekcję reżimów rynkowych poprzez identyfikację ukrytych stanów hossy i bessy. W przetwarzaniu języka naturalnego pomaga w tagowaniu części mowy, łącząc każde słowo z odpowiadającą mu kategorią gramatyczną.
Zalety i ograniczenia
Siłą HMM jest przejrzysta interpretowalność parametrów oraz umiarkowana złożoność obliczeniowa pozwalająca na uczenie z relatywnie niedużych zbiorów danych. W odróżnieniu od klasycznych n-gramów model uwzględnia zależności długofalowe poprzez ukryte stany. Ograniczeniem bywa założenie jednorodności przejść i emisji w czasie, co utrudnia odwzorowanie gwałtownych zmian w danych. Ponadto model liniowy nie radzi sobie z wysokimi wymiarami obserwacji tak dobrze, jak współczesne sieci neuronowe.
Na co uważać?
Podczas uczenia HMM łatwo utknąć w lokalnym maksimum funkcji prawdopodobieństwa, zwłaszcza przy losowej inicjalizacji parametrów. W praktyce warto stosować wielokrotną inicjalizację lub heurystykę opartą na klasteryzacji k-means, aby zwiększyć szanse na znalezienie rozwiązania globalnie lepszego. Istotna jest także diagnoza nadmiernego dopasowania; przy zbyt wielu stanach model zapamiętuje szum, co pogarsza generalizację.
Dodatkowe źródła
Więcej szczegółów można znaleźć w artykule Ukryty model Markowa w Wikipedii. Dla ambitnych polecam także publikację przeglądową Hidden Markov Models for Time Series, która omawia warianty i nowoczesne rozszerzenia modelu.


