Jakie są różnice między ukrytymi modelami Markowa a sieciami neuronowymi?

40

Po prostu moczyłem stopy w statystykach, więc przepraszam, jeśli to pytanie nie ma sensu. Użyłem modeli Markowa do przewidywania stanów ukrytych (nieuczciwe kasyna, rzuty kostką itp.) Oraz sieci neuronowych do badania kliknięć użytkowników w wyszukiwarce. Oba miały ukryte stany, które próbowaliśmy rozgryźć na podstawie obserwacji.

O ile mi wiadomo, oba przewidują stany ukryte, więc zastanawiam się, kiedy zastosować modele Markowa w sieciach neuronowych? Czy są to tylko różne podejścia do podobnych problemów?

(Jestem zainteresowany nauką, ale mam też inną motywację, mam problem, który próbuję rozwiązać za pomocą ukrytych modeli Markowa, ale doprowadza mnie to do szału, więc chciałem sprawdzić, czy mogę przejść na coś innego.)

Zagubiona dusza
źródło
2
Możesz zajrzeć tutaj: stats.stackexchange.com/questions/4498/…
Nucular
Czy chciałbyś wybrać odpowiedź lub wyjaśnić, czego szukasz?
conjugateprior

Odpowiedzi:

27

Co jest ukryte i co jest obserwowane

To, co jest ukryte w ukrytym modelu Markowa, jest takie samo, jak to, co jest ukryte w dyskretnym modelu mieszanki, więc dla jasności zapomnij o dynamice stanu ukrytego i trzymaj się modelu skończonej mieszanki jako przykładu. „Stan” w tym modelu to tożsamość komponentu, który spowodował każdą obserwację. W tej klasie modeli takie przyczyny nigdy nie są obserwowane, więc „ukryta przyczyna” jest statystycznie przekładana na twierdzenie, że obserwowane dane mają marginalne zależności, które są usuwane, gdy znany jest składnik źródłowy. Szacuje się, że składniki źródłowe są tymi, które sprawiają, że ten związek statystyczny jest prawdziwy.

Tym, co kryje się w wielowarstwowej sieci neuronowej z sigmoidalnymi jednostkami środkowymi, są stany tych jednostek, a nie wyjścia, które są celem wnioskowania. Gdy wyjściem sieci jest klasyfikacja, tzn. Rozkład prawdopodobieństwa w możliwych kategoriach wyjściowych, te ukryte wartości jednostek określają przestrzeń, w której kategorie można rozdzielić. Sztuką w nauce takiego modelu jest utworzenie ukrytej przestrzeni (poprzez dostosowanie mapowania z jednostek wejściowych), w której problem jest liniowy. W związku z tym możliwe są nieliniowe granice decyzyjne z całego systemu.

Generatywne a dyskryminujące

Model mieszanki (i HMM) to model procesu generowania danych, czasami nazywany prawdopodobieństwem lub „modelem przednim”. W połączeniu z niektórymi założeniami dotyczącymi wcześniejszych prawdopodobieństw każdego stanu, można wnioskować o rozkładzie możliwych wartości stanu ukrytego za pomocą twierdzenia Bayesa (podejście generatywne). Zauważ, że chociaż nazywane „przeorem”, zarówno przejęcie, jak i parametry prawdopodobieństwa są zwykle wyuczane z danych.

W przeciwieństwie do modelu mieszanki (i HMM) sieć neuronowa uczy się rozkładu bocznego bezpośrednio na kategorie wyjściowe (podejście dyskryminujące). Jest to możliwe, ponieważ wartości wyjściowe zaobserwowano podczas szacowania. A ponieważ zostały zaobserwowane, nie jest konieczne konstruowanie rozkładu bocznego z wcześniejszego i konkretnego modelu prawdopodobieństwa, takiego jak mieszanina. Tylny jest uczony bezpośrednio z danych, które są bardziej wydajne i mniej zależne od modelu.

Mieszać i łączyć

Aby wszystko było bardziej mylące, podejścia te można łączyć ze sobą, np. Gdy czasami rzeczywiście obserwuje się stan modelu mieszanki (lub HMM). Gdy jest to prawdą i w niektórych innych okolicznościach nieistotnych w tym przypadku, można trenować w sposób dyskryminacyjny w modelu generatywnym. Podobnie możliwe jest zastąpienie mapowania modelu mieszanego HMM bardziej elastycznym modelem przednim, np. Siecią neuronową.

Pytania

Nie jest więc prawdą, że oba modele przewidują stan ukryty. HMM można wykorzystać do przewidywania stanu ukrytego, choć tylko takiego, jakiego oczekuje model do przodu. Sieci neuronowe można wykorzystać do przewidywania stanu, który nie został jeszcze zaobserwowany , np. Stanów przyszłych, dla których dostępne są predyktory. Ten rodzaj stanu nie jest w zasadzie ukryty, po prostu jeszcze go nie zaobserwowano.

Kiedy używałbyś jednego zamiast drugiego? Cóż, sieci neuronowe tworzą z moich doświadczeń raczej niewygodne modele szeregów czasowych. Zakładają również, że zaobserwowałeś wyniki. HMM nie, ale tak naprawdę nie masz żadnej kontroli nad tym, czym faktycznie jest stan ukryty. Niemniej jednak są to właściwe modele szeregów czasowych.

sprzężonyprior
źródło
2
+1 To jest bardzo dobre. Przez: Similarly it is possible to replace the mixture model mapping of an HMM with a more flexible forward model, e.g., a neural network.czy masz na myśli zamianę prawdopodobieństwa emisji p (Obserwowane | Ukryte) na informacje zwrotne NN? Natknąłem się na to w kilku miejscach, ale żadne nie wyjaśnia tego; po prostu wspominają, że go wdrożyli. Zakładam, że zastępują etap MLE w zakresie uczenia się emisji, ale nie potrafią zrozumieć, w jaki sposób. Czy znasz jakiś kod lub przykład wyjaśniający? Wszelkie wskazówki mile widziane, dzięki.
Zhubarb
Wydaje się, że jest mniej używany w ten sposób (więcej osób ML może mnie tutaj poprawić). Powiedział, że oszacowanie wektora stanu odwzorowania parametrów NN na dane wyjściowe pod warunkiem znajomości wektora stanu (lub przynajmniej znajomości jego oczekiwanej wartości, jak w algorytmie EM) jest tym samym zadaniem, co szkolenie z obserwowanymi danymi wejściowymi i wyjściowymi, więc chyba tam nic specjalnego do powiedzenia na temat tej części.
conjugateprior
Odpowiedź jest dobra, z wyjątkiem: Sieci neuronowe mogą być dyskryminujące (przekazywanie itp.) Lub generatywne (ograniczone maszyny Bolzmanna itp.). Również powtarzające się sieci neuronowe, takie jak LSTM i modele obliczeniowe Reservoir, mogą modelować szeregi czasowe, a także HMM - a czasem nawet lepsze niż HMM, szczególnie w przypadku szeregów czasowych z silną nieliniową dynamiką i długotrwałą korelacją.
GuSuku,
10

Ukrytych modeli Markowa można użyć do wygenerowania języka, czyli listy elementów z rodziny ciągów. Na przykład, jeśli masz HMM, który modeluje zestaw sekwencji, będziesz w stanie wygenerować członków tej rodziny, wymieniając sekwencje, które należą do grupy modelowanych przez nas sekwencji.

Sieci neuronowe, weź dane wejściowe z przestrzeni wielowymiarowej i po prostu odwzoruj je na przestrzeń niższego wymiaru (sposób, w jaki sieci neuronowe odwzorowują te dane wejściowe, opiera się na szkoleniu, jego topologii i innych czynnikach). Na przykład możesz wziąć 64-bitowy obraz liczby i odwzorować go na wartość prawda / fałsz, która opisuje, czy liczba ta wynosi 1 czy 0.

Podczas gdy obie metody są w stanie (lub przynajmniej mogą próbować) rozróżnić, czy element należy do klasy, czy nie, sieci neuronowe nie mogą wygenerować języka, jak opisano powyżej.

Dostępne są alternatywy dla ukrytych modeli Markowa, na przykład możesz być w stanie użyć bardziej ogólnej sieci Bayesian, innej topologii lub stochastycznej gramatyki bezkontekstowej (SCFG), jeśli uważasz, że problem leży w braku mocy HMM do modeluj swój problem - to znaczy, jeśli potrzebujesz algorytmu, który jest w stanie rozróżnić bardziej złożone hipotezy i / lub opisać zachowanie danych, które są znacznie bardziej złożone.

Andrzej
źródło
6
+1 za drugi akapit. Chciałbym zauważyć, że każdy, kto dobrze rozumie wszystkie elementy tej odpowiedzi, prawdopodobnie nie zadałby pierwotnego pytania. Prawdopodobnie nie jest pomocne wspominanie o gramatyce formalnej komuś, kto zaczyna się od: „Po prostu moczyłem stopy w statystykach ...” Drugi akapit tutaj uchwycił istotę tego, o co prosi OP. Zamiast pierwszego akapitu można powiedzieć: model HMM modeluje warunkowe zależności stanów ukrytych, w których każdy stan ma rozkład prawdopodobieństwa dla obserwacji.
Phillip Cloud,
7
Ta odpowiedź jest po prostu błędna. Zakłada się, że sieć neuronowa jest przekazywana do przodu. To tylko jedna klasa sieci neuronowych. Modele powtarzające się nie tylko mapują pojedyncze dane wejściowe do reprezentacji niższych wymiarów i mogą generować język. Patrz na przykład arxiv.org/abs/1308.0850
RD11
Generowanie sekwencji (jak w połączonym dokumencie) nie jest tym samym, co generowanie języka. Przypuszczam, że można je zastosować do rozróżnienia między elementami zestawu, a jeśli nie chcesz, można jednak przewidzieć, że model cykliczny przyjmuje jedno duże wejście obejmujące poszczególne dane z powtarzalnością i zwraca jedno duże wyjście. Nie jestem pewien, czy powtarzająca się sieć neuronowa może dostarczyć dane wyjściowe bez żadnych danych wejściowych.
Andrew
Hmm Czy możesz podać przykład czegoś, co według Ciebie może wygenerować HMM i które Twoim zdaniem nie może zostać wygenerowane za pomocą RNN?
rd11
Przykład, który przychodzi na myśl, jest następujący: biorąc pod uwagę HMM, można uzyskać sekwencję elementów należących do języka reprezentowanego przez HMM. Aby to zrobić, musisz dodać coś ponad RNN (np. Wypróbować różne dane wejściowe i oznaczyć dane wejściowe jako element klasy lub w inny sposób) - chociaż w przypadku RNN prawdopodobnie patrzysz na wiele danych wejściowych (jeden po drugim) jako reprezentujący pojedynczy „element”. HMM są bardziej odpowiednie do generowania języka.
Andrew
3

Najlepsza odpowiedź na to pytanie z tego, co znalazłem, brzmi: Czy głębokie uczenie się łańcucha Markowa w przebraniu . Dokładnie to zrozumiałem, ale skoro w Internecie była już dyskusja, zamieszczam tutaj link.

Model łańcuchów Markowa:

p(x1....xn)=p(x1)p(x2|x1)p(x3|x2)...

RNN próbują modelować:

p(x1....xn)=p(x1)p(x2|x1)p(x3|x2,x1)p(x4|x3,x2,x1)...

Możemy użyć sekwencji znaków jako danych wejściowych zamiast pojedynczego znaku. W ten sposób możemy lepiej uchwycić stan (w zależności od kontekstu).

Jayadevan Vijayan
źródło