Łańcuchy Markowa vs. HMM

11

Łańcuchy Markowa mają dla mnie sens, mogę je wykorzystać do modelowania probabilistycznych zmian stanu w rzeczywistych problemach. Potem jest HMM. Mówi się, że HMM są bardziej odpowiednie do modelowania wielu problemów niż MC. Jednak problemy, o których wspominają ludzie, są nieco skomplikowane do zrozumienia, na przykład przetwarzanie mowy. Więc moje pytanie brzmi: czy możesz opisać „prawdziwy i prosty” problem, dla którego HMM jest bardziej odpowiedni niż MC? i wyjaśnij dlaczego? dzięki

Mario
źródło

Odpowiedzi:

19

Rozpoznawanie mowy nie jest tak skomplikowanym przykładem, jak myślisz.

Najpierw wyobraź sobie, że tworzysz łańcuch Markowa (MC), który rozpoznaje tekst. Twój program odczytuje kilka (doskonały, bez błędów) tekstów i oblicza stany (słowa) i zmiany stanu (następne słowa). Wygląda na to, że już to masz. Możesz teraz wygenerować tekst lub podać tekst przewidując następne słowo, korzystając ze stanów i prawdopodobieństw przejścia twojego MC.

Teraz wyobraź sobie, że chcesz używać swojego MC z mową. Po prostu sprawisz, że ludzie będą czytać tekst podobny do twojego MC i jesteś gotowy, prawda? No cóż ... Z wyjątkiem tego, że wymawiają słowa inaczej: tam, gdzie napisany tekst mówi „ziemniak”, w rzeczywistości usłyszysz „po-TAY-toh” i „po-TAH-toh” i „pu-TAY -to ”itd. I odwrotnie: tekst„ zjadł ”i„ osiem ”reprezentują dwa różne stany, ale (zwykle) są wymawiane tak samo.

Twój algorytm nie widzi już stanów podstawowych (słów), lecz rozkład prawdopodobieństwa wymowy dla każdego słowa. Twoje oryginalne MC jest ukryte za wymowy, a teraz twój model musi być dwuwarstwowy.

Możesz więc zachęcić wiele osób do przeczytania na głos tekstu, którego użyłeś podczas oryginalnego treningu, możesz uzyskać rozkład wymowy dla każdego słowa, a następnie połączyć swój oryginalny model z modelem wymowy i masz Ukryty model Markowa ( HMM).

Większość rzeczywistych problemów będzie wyglądać tak, ponieważ w prawdziwym świecie panuje głośność. Tak naprawdę nie będziesz wiedział, w jakim stanie jest coś. Zamiast tego otrzymasz różne wskaźniki dla każdego stanu: czasami ten sam wskaźnik dla różnych stanów („zjadł” i „osiem”), a czasem różne wskaźniki dla tego samego stanu. („pu-TAY-toe” i „pah-tah-TOE”). Dlatego HMM są bardziej odpowiednie do rozwiązywania problemów w świecie rzeczywistym.

[Dwie notatki dodatkowe: 1) faktyczne rozpoznawanie mowy działa na poziomie fonemów, a nie na poziomie słów, oraz 2) Wierzę, że HMM były królem wzgórza w rozpoznawaniu mowy, ale ostatnio zostały zdetronizowane przez głębokie sieci neuronowe.]

Wayne
źródło
6

Zasadniczo HMM jest modelem Markowa, w którym stan nie jest w pełni obserwowalny, raczej obserwuje się go tylko pośrednio poprzez pewne głośne obserwacje. Część modelu Markowa jest prostym sposobem narzucenia zależności czasowych w państwie. Odpowiednio, problemy, w których HMM są przydatne, to te, w których stan jest zgodny z modelem Markowa, ale stanu nie obserwuje się bezpośrednio.

Istnieją różne rzeczy, które możesz zrobić z HMM. Jedną przydatną rzeczą, którą możesz zrobić, jest następujący - biorąc pod uwagę zestaw głośnych obserwacji do chwili obecnej, być może chcesz wiedzieć, jaki jest najbardziej prawdopodobny obecny stan systemu. Aby to zrobić, należy odpowiednio połączyć strukturę łańcucha Markowa z obserwacjami, aby wywnioskować stan. Podobnie można to rozszerzyć, aby wywnioskować całą sekwencję stanów z sekwencji obserwacji ( to jest standard).

W nauce i inżynierii ten model cały czas się stosuje. Na przykład być może nagrywasz film przedstawiający proste zwierzę, takie jak c. elegans(robak) i ma tylko niewielką liczbę dyskretnych stanów behawioralnych. Z filmu chcesz oznaczyć każdą klatkę stanem zachowania zwierzęcia. W pojedynczej ramce algorytm etykietowania ma pewien błąd / szum. Istnieją jednak zależności czasowe, które można modelować za pomocą łańcucha Markowa ... Jeśli w jednej klatce zwierzę znajdowało się w jednym stanie, prawdopodobnie będzie w tym samym stanie dla następnej ramki (i być może niektóre stany zezwalają tylko na przejścia do niektórych innych stanów). Zasadniczo, łącząc swoje głośne obserwacje pojedynczych klatek ze strukturą przejść (przez HMM), możesz uzyskać dobrze wygładzoną i lepiej ograniczoną sekwencję oszacowań stanu.

Josh
źródło
2

HMM to model mieszany. Podobnie jak mieszanka modelu Gaussa . Powodem, dla którego używamy go oprócz łańcucha Markowa, jest to, że przechwytywanie wzorców danych jest bardziej skomplikowane.

Podobnie, jeśli używamy pojedynczego Gaussa do modelowania zmiennej spornej LUB używamy mieszanki Gaussa do modelowania zmiennej ciągłej.

Chciałbym użyć zmiennej ciągłej, aby zaprezentować ten pomysł: załóżmy, że mamy te dane

wprowadź opis zdjęcia tutaj

Lepiej jest modelować go z 2 gaussowskimi i z różnym udziałem. Co jest „równoważne” w dyskretnym przypadku: budujemy HMM z 2 ukrytymi stanami.

Haitao Du
źródło