Różnica między ukrytymi modelami Markowa a filtrem cząstek (i filtrem Kalmana)

21

Oto moje stare pytanie

Chciałbym zapytać, czy ktoś zna różnicę (jeśli istnieje jakakolwiek różnica) między modelami Hidden Markov (HMM) a Particle Filter (PF), aw konsekwencji Filtrem Kalmana, lub w jakich okolicznościach korzystamy z którego algorytmu. Jestem studentem i muszę zrobić projekt, ale najpierw muszę zrozumieć niektóre rzeczy.

Tak więc, zgodnie z bibliografią, oba są Modelami Przestrzeni Stanu , w tym stanami ukrytymi (ukrytymi lub nieobserwowanymi). Według Wikipedii (Hidden_Markov_model)w HMM przestrzeń stanu ukrytych zmiennych jest dyskretna, podczas gdy same obserwacje mogą być dyskretne (zazwyczaj generowane z rozkładu kategorycznego) lub ciągłe (zwykle z rozkładu Gaussa). Ukryte modele Markowa można również uogólniać, aby umożliwić ciągłe przestrzenie stanu. Przykładami takich modeli są te, w których proces Markowa nad zmiennymi ukrytymi jest liniowym układem dynamicznym, z liniową zależnością między zmiennymi pokrewnymi i gdzie wszystkie ukryte i obserwowane zmienne mają rozkład Gaussa. W prostych przypadkach, takich jak właśnie wspomniany liniowy układ dynamiczny, możliwe jest dokładne wnioskowanie (w tym przypadku przy użyciu filtra Kalmana); jednak generalnie dokładne wnioskowanie w HMM z ciągłymi zmiennymi ukrytymi jest niemożliwe, dlatego należy zastosować metody przybliżone,

Ale dla mnie jest to trochę mylące… Mówiąc prościej, oznacza to następujące (w oparciu o więcej badań, które przeprowadziłem):

  • W HMM przestrzeń stanu może być dyskretna lub ciągła . Również same obserwacje mogą być dyskretne lub ciągłe . Również HMM jest liniowym i gaussowskim lub nie Gaussowskim układem dynamicznym.
  • W PF przestrzeń stanu może być dyskretna lub ciągła . Również same obserwacje mogą być dyskretne lub ciągłe . Ale PF jest nieliniowym (i nie Gaussowskim?) Układem dynamicznym (czy to ich różnica?).
  • Filtr Kalmana (również dla mnie wygląda tak samo jak HMM) jest używany, gdy mamy liniowy i gaussowski układ dynamiczny.

Również skąd mam wiedzieć, który algorytm wybrać, ponieważ dla mnie wszystkie wydają się takie same ... Znalazłem również artykuł (nie w języku angielskim), który mówi, że PF może mieć dane liniowe (na przykład surowe dane z sensora-czujnika który rozpoznaje ruch), układ dynamiczny może być nieliniowy. Czy to może się zdarzyć? Czy to jest poprawne? W jaki sposób?

Do rozpoznawania gestów naukowcy mogą używać HMM lub PF, ale nie wyjaśniają, dlaczego wybierają każdy algorytm… Czy ktoś wie, jak mogę pomóc w rozróżnieniu tych algorytmów, zrozumieć ich różnice i jak wybrać najlepszy algorytm?

Przepraszam, jeśli moje pytanie jest zbyt duże lub niektóre części są naiwne, ale nie znalazłem gdzieś przekonującej i naukowej odpowiedzi. Z góry dziękuję za poświęcony czas!

Oto moje NOWE pytanie (zgodnie z pomocą @ conjugateprior)

W związku z tym, czytając dalej, chciałbym zaktualizować niektóre części mojego poprzedniego komentarza i upewnić się, że zrozumiałem nieco więcej o tym, co się dzieje.

  • Ponownie, w prostych słowach, parasol to dynamiczne sieci bayesowskie, w ramach których uwzględniono modele HMM i przestrzeni stanów (podklasy) ( http://mlg.eng.cam.ac.uk/zoubin/papers/ijprai.pdf ).
  • Co więcej, początkowa różnica między dwoma modelami polega na tym, że w HMM zmienne stanu ukrytego są dyskretne , podczas gdy obserwacje mogą być dyskretne lub ciągłe . W PF zmienne stanu ukrytego są ciągłe (wektor stanu ukrytego o wartościach rzeczywistych), a obserwacje mają rozkłady Gaussa .
  • Również według @conjugateprior każdy model ma 3 następujące zadania: filtrowanie, wygładzanie i przewidywanie. Podczas filtrowania model HMM stosuje dla dyskretnych zmiennych stanu ukrytego metodę Algorytm przekazywania, przestrzeń wykorzystuje dla zmiennych ciągłych i liniowy układ dynamiczny Filtr Kalmana itp.
  • Jednak HMM można również uogólnić, aby umożliwić ciągłe przestrzenie stanu .
  • Dzięki tym rozszerzeniom HMM 2 modele wydają się być koncepcyjnie identyczne (jak wspomniano również w Hidden Markov Model vs Markov Transition Model vs State-Space Model ...? ).

Myślę, że używam nieco dokładniejszej terminologii, ale nadal wszystko jest dla mnie niewyraźne. Czy ktoś może mi wyjaśnić, jaka jest różnica między HMM a modelem Space Space ?

Ponieważ naprawdę nie mogę znaleźć odpowiedzi, która pasowałaby do moich potrzeb ...

Dziękuję ponownie!

użytkownik5584748
źródło
1
Jeśli biblioteka twojej szkoły ma tę książkę: crcpress.com/Time-Series-Modeling-Computation-and-Inference /... Rzuciłbym na nią okiem. Dobrze tłumaczy wszystkie trzy tematy, które, mógłbym wspomnieć, to trzy bardzo różne tematy.
Właśnie sprawdziłem, że biblioteka nie ma tej książki, niestety .. więc jeśli mógłbyś przesłać mi te części, które Twoim zdaniem odpowiadają na moje pytanie lub pomogły mi również rozróżnić te tematy, byłoby świetnie! :)
user5584748

Odpowiedzi:

15

Pomocne będzie odróżnienie modelu od wnioskowania, które chcesz z nim zrobić, ponieważ teraz standardowa terminologia łączy oba te elementy.

Model jest częścią, w której określasz naturę : ukrytej przestrzeni (dyskretnej lub ciągłej), dynamiki stanu ukrytego (liniowej lub nieliniowej), natury obserwacji (zazwyczaj warunkowo wielomianowej lub normalnej), oraz modelu pomiaru łączącego stan ukryty do obserwacji. HMM i modele przestrzeni stanów to dwa takie zestawy specyfikacji modelu.

tt

W sytuacjach, w których stan jest ciągły, dynamika stanu i pomiar są liniowe, a cały szum jest normalny, filtr Kalmana wykona to zadanie skutecznie. Jego analogiem, gdy stan jest dyskretny, jest algorytm Forward. W przypadku braku normalności i / lub nieliniowości cofamy się do filtrów przybliżonych. Istnieją deterministyczne aproksymacje, np. Rozszerzone lub bezzapachowe filtry Kalmana, oraz aproksymacje stochastyczne, z których najbardziej znanym jest filtr cząstek.

Ogólne wrażenie wydaje się takie, że w obecności nieuniknionej nieliniowości w stanie lub częściach pomiarowych lub nietypowości w obserwacjach (typowe sytuacje problemowe), próbuje się uniknąć najtańszego możliwego przybliżenia. Zatem EKF, a następnie UKF, a następnie PF.

Literatura na temat bezzapachowego filtra Kalmana zwykle zawiera kilka porównań sytuacji, w których może działać lepiej niż tradycyjna linearyzacja Rozszerzonego filtra Kalmana.

Filtr cząstek ma prawie całkowitą ogólność - dowolną nieliniowość, wszelkie rozkłady - ale z mojego doświadczenia wymagał dość starannego strojenia i jest ogólnie znacznie bardziej nieporęczny niż inne. W wielu sytuacjach jest to jednak jedyna opcja.

Co do dalszej lektury: podoba mi się rozdział 4-7 Bayesowskiego filtrowania i wygładzania Särkkä, choć jest to dość zwięzłe. Autor udostępnia kopię online do użytku osobistego. W przeciwnym razie większość książek o stanowych czasoprzestrzeniach obejmie ten materiał. W przypadku filtrowania cząstek istnieje Doucet i in. tom na ten temat, ale myślę, że jest już dość stary. Być może inni wskażą nowsze odniesienie.

sprzężonyprior
źródło
Przede wszystkim bardzo dziękuję za odpowiedź. Sprawdź, czy zredagowałem powyższe pytanie, aby zachować spójność i dokładność terminologii. Przeformułuję też całe moje pytanie.
user5584748,
W przepisaniu nie jest do końca prawdą, że „W PF zmienne stanu ukrytego są ciągłe (wektor stanu ukrytego o wartościach rzeczywistych), a obserwacje mają rozkłady Gaussa”. PF jest filtrem. Model, dla którego jest filtrem, musi mieć ciągłą przestrzeń stanu (z pewną strukturą Markoviana lub inną), ale poza tym jest nieograniczony: wszelkie rozkłady, dowolna dynamika i dowolny proces pomiarowy.
conjugateprior
Możesz na przykład użyć PF do filtrowania zwykłego liniowego modelu przestrzeni stanu Gaussa. To by działało dobrze. Po prostu nie musisz, ponieważ filtr Kalmana jest dokładny.
conjugateprior
4
„Jaka jest różnica między HMM a modelem Space Space?” Zasadniczo: zgodnie z konwencją HMM mają stan dyskretny. Również zgodnie z konwencją „modele przestrzeni stanów” oznaczają rzeczy o stanie ciągłym.
conjugateprior
Dziękuję bardzo! Tak więc różnica ta zachodzi zgodnie z konwencją (i zgodnie z bibliografią). Ale ogólnie możemy wybrać model, który chcemy. Czy to jest poprawne? Wybór modelu zależy od tego, czy uzyskam lepsze wyniki?
user5584748,