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.)
data-mining
algorithms
neural-networks
markov-process
Zagubiona dusza
źródło
źródło
Odpowiedzi:
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.
źródło
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.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.
źródło
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:
RNN próbują modelować:
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).
źródło