Słownik AI

Ukryty model Markowa – ang. Hidden Markov Model, HMM

Ukryty model Markowa (HMM) – definicja i zastosowania

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.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *