Najpierw powinieneś dowiedzieć się o łatwiejszych do zakodowania modelach przestrzeni stanów i filtrowaniu w formie zamkniętej (tj. Filtry Kalmana, ukryte modele Markowa). Matthew Gunn ma rację, że można osiągnąć zaskakująco daleko za pomocą prostych koncepcji, ale moim skromnym zdaniem powinieneś uczynić to celem pośrednim, ponieważ:
1.) Względnie w modelach przestrzeni stanów jest więcej ruchomych części. Kiedy uczysz się SSM lub ukrytych modeli markowa, jest dużo notacji. Oznacza to, że w pamięci roboczej jest więcej rzeczy do zapamiętania podczas zabawy. Osobiście, kiedy uczyłem się najpierw o filtrach Kalmana i liniowo-gaussowskich SSM, zasadniczo myślałem „eh, to wszystko są po prostu właściwości wielowymiarowych wektorów normalnych ... Muszę tylko śledzić, która macierz jest która”. Ponadto, jeśli przełączasz się między książkami, często zmieniają notację.
Potem pomyślałem o tym jak „eh, to wszystko jest tylko reguła Bayesa w każdym momencie”. Kiedy pomyślisz o tym w ten sposób, rozumiesz, dlaczego rodziny sprzężone są ładne, jak w przypadku filtra Kalmana. Kiedy kodujesz ukryty model markowa z jego dyskretną przestrzenią stanów, widzisz, dlaczego nie musisz obliczać żadnego prawdopodobieństwa, a filtrowanie / wygładzanie jest łatwe. (Myślę, że odbiegam od konwencjonalnego żargonu hmm tutaj.)
2.) Obcinanie zębów przy kodowaniu wielu z nich sprawi, że zrozumiesz, jak ogólna jest definicja modelu przestrzeni stanów. Już niedługo zapiszesz modele, których chcesz użyć, a jednocześnie zobaczysz, dlaczego nie możesz. Najpierw zobaczysz, że nie możesz tego zapisać w jednej z tych dwóch form, do których jesteś przyzwyczajony. Kiedy zastanowisz się nad tym trochę, spisujesz zasadę Bayesa i widzisz, że problemem jest twoja niezdolność do obliczenia pewnego prawdopodobieństwa dla danych.
Więc ostatecznie nie uda ci się obliczyć tych rozkładów bocznych (wygładzanie lub filtrowanie rozkładów stanów). Aby temu zaradzić, istnieje wiele przybliżonych elementów filtrujących. Filtrowanie cząstek jest tylko jednym z nich. Główna zaleta filtrowania cząstek: symulujesz na podstawie tych rozkładów, ponieważ nie możesz ich obliczyć.
Jak symulujesz? Większość algorytmów to tylko pewien wariant ważnego próbkowania. Ale tutaj również się komplikuje. Polecam ten samouczek autorstwa Douceta i Johansena ( http://www.cs.ubc.ca/~arnaud/doucet_johansen_tutorialPF.pdf ). Jeśli zrozumiesz, jak działa filtrowanie zamkniętych formularzy, przedstawiają one ogólną ideę ważenia próbkowania, następnie ogólną ideę metody Monte Carlo, a następnie pokazują, jak korzystać z tych dwóch rzeczy, aby zacząć od ładnego przykładu szeregów czasowych. IMHO, to najlepszy poradnik na temat filtrowania cząstek, z jakim się spotkałem.
Oprócz dodania dwóch nowych pomysłów do miksu (ważność próbkowania i metoda Monte Carlo), teraz jest więcej notacji. Niektóre gęstości, z których próbujesz od teraz; niektóre oceniasz, a kiedy je oceniasz, oceniasz na podstawie próbek. Wynik, po zakodowaniu wszystkiego, są ważonymi próbkami, uważanymi za cząstki. Zmieniają się po każdej nowej obserwacji. Bardzo trudno byłoby to wszystko zebrać na raz. Myślę, że to proces.
Przepraszam, jeśli wydaje mi się, że jestem tajemniczy lub zręczny. To tylko oś czasu dla mojej osobistej znajomości tematu. Post Matthew Gunna prawdopodobnie bardziej bezpośrednio odpowiada na twoje pytanie. Właśnie pomyślałem, że wyrzucę tę odpowiedź.