Hamiltonowskie Monte Carlo
Hamiltona Monte Carlo (pierwotnie znany jako hybrydowy Monte Carlo ) to metoda Monte Carlo łańcucha Markowa służąca do uzyskiwania sekwencji losowych próbek , które zbiegają się w celu rozłożenia zgodnie z docelowym rozkładem prawdopodobieństwa, dla którego bezpośrednie próbkowanie jest trudne. Tej sekwencji można użyć do oszacowania całek w odniesieniu do docelowego rozkładu ( wartości oczekiwane ).
Hamiltonian Monte Carlo odpowiada przykładowi algorytmu Metropolisa-Hastingsa z ewolucją dynamiki Hamiltona symulowaną przy użyciu odwracalnego w czasie i zachowującego objętość integratora numerycznego (zwykle integratora przeskakującego ), aby zaproponować przejście do nowego punktu w przestrzeń stanów. W porównaniu z użyciem błądzenia losowego Gaussa rozkład propozycji w algorytmie Metropolisa-Hastingsa, hamiltonian Monte Carlo zmniejsza korelację między kolejnymi próbkowanymi stanami, proponując ruchy do odległych stanów, które zachowują wysokie prawdopodobieństwo akceptacji ze względu na przybliżone właściwości oszczędzania energii symulowanej dynamiki hamiltonowskiej przy użyciu integratora symplektycznego . Zmniejszona korelacja oznacza, że Monte Carlo potrzeba mniej próbek łańcucha Markowa .
Algorytm został pierwotnie zaproponowany przez Simona Duane'a, Anthony'ego Kennedy'ego, Briana Pendletona i Duncana Rowetha w 1987 roku do obliczeń w chromodynamice kwantowej kraty . W 1996 roku Radford M. Neal pokazał, w jaki sposób można zastosować tę metodę do szerszej klasy problemów statystycznych, w szczególności do sztucznych sieci neuronowych . Jednak ciężar konieczności dostarczania gradientów odpowiednich gęstości opóźnił szersze przyjęcie metody w statystyce i innych dyscyplinach ilościowych, aż w połowie 2010 roku twórcy Stan zaimplementowano HMC w połączeniu z automatycznym różnicowaniem .
Algorytm
Załóżmy, że docelowy rozkład na próbkę to dla ( ) i łańcuch próbek jest wymagane.
Równania Hamiltona są
I
gdzie są odpowiednio składową wektora położenia a p \ hamiltonianem . Niech będzie mas , która jest symetryczna i określona, to jest hamiltonian
gdzie jest energią potencjalną . Energia potencjalna celu jest podana jako
co wynika z czynnika Boltzmanna .
Algorytm wymaga dodatniej liczby całkowitej dla liczby kroków żaby przeskakującej dodatniej dla rozmiaru kroku . Załóżmy, że łańcuch jest w . Niech . Najpierw losowy pęd Gaussa jest rysowany z . Następnie cząstka będzie działać przez czas pod dynamiką hamiltonowską to poprzez numeryczne rozwiązanie równań Hamiltona przy użyciu algorytmu przeskakującej Wektory położenia i pędu po czasie przy użyciu algorytmu żaby przeskakującej to
Równania te mają być stosowane do i razy, aby uzyskać i .
Algorytm żaby przeskakującej jest przybliżonym rozwiązaniem ruchu nieoddziałujących cząstek klasycznych. Jeśli jest dokładne, rozwiązanie nigdy nie zmieni początkowego losowo wygenerowanego rozkładu energii, ponieważ energia jest zachowana dla każdej cząstki w obecności klasycznego pola energii potencjalnej. Aby osiągnąć rozkład równowagi termodynamicznej, cząstki muszą oddziaływać na przykład z otaczającą kąpielą cieplną, tak aby cały układ mógł przyjmować różne energie z prawdopodobieństwem zgodnym z rozkładem Boltzmanna.
Jednym ze sposobów przesunięcia układu w kierunku rozkładu równowagi termodynamicznej jest zmiana stanu cząstek za pomocą Metropolisa-Hastingsa . Więc najpierw stosuje się krok żaby przeskakującej, a następnie krok Metropolisa-Hastingsa.
Przejście od do jest
Gdzie
Powtarza się to, aby uzyskać .
Brak samplera do zawracania
Próbnik bez zawracania (NUTS) jest rozszerzeniem polegającym na . Strojenie . Na przykład w przypadku jednowymiarowym potencjał wynosi co odpowiada potencjałowi prostego oscylatora harmonicznego . Dla będzie oscylować, a tym samym tracić czas obliczeniowy. Dla cząstki cząstka będzie zachowywać się jak błądzenie losowe.
Luźno, NUTS losowo uruchamia dynamikę Hamiltona zarówno do przodu, jak i do tyłu w czasie, aż spełniony jest warunek zawracania. Kiedy tak się dzieje, dla próbki MCMC wybierany jest losowy punkt ze ścieżki i proces jest powtarzany od tego nowego punktu.
Mówiąc szczegółowo, drzewo binarne jest konstruowane w celu śledzenia ścieżki kroków żaby przeskakującej. Aby wytworzyć próbkę MCMC, przeprowadza się procedurę iteracyjną. Jednolity jest próbkowane. Niech odpowiednio i pędem cząstki przedniej. Podobnie, i dla wstecznej cząstki. W każdej iteracji drzewo binarne wybiera losowo i równomiernie, aby przesunąć cząstkę do przodu w czasie lub cząstkę do tyłu w czasie. Również dla każdej iteracji liczba kroków żaby przeskakującej wzrasta o współczynnik 2. Na przykład w pierwszej iteracji cząstka do przodu porusza się do przodu w czasie za pomocą 1 kroku żaby przeskakującej. W następnej iteracji cząsteczka wsteczna cofa się w czasie, wykonując 2 kroki żaby przeskakującej.
Procedura iteracyjna jest kontynuowana do momentu spełnienia warunku zawracania, tj
lub gdy hamiltonian staje się niedokładny
Lub
gdzie na przykład .
Po spełnieniu warunku zawracania następna próbka MCMC , przeskakującej wytyczonej przez drzewo spełnia
Zwykle jest to spełnione, jeśli pozostałe parametry konsoli HMC są rozsądne.
Zobacz też
- Dynamiczna metoda Monte Carlo
- Oprogramowanie do modelowania molekularnego metodą Monte Carlo
- Stan
- Algorytm Langevina dostosowany do Metropolisa
Dalsza lektura
- Neal, Radford M (2011). „MCMC przy użyciu dynamiki hamiltonowskiej” (PDF) . W Steve'ie Brooksie; Andrzeja Gelmana; Galin L. Jones; Xiao-Li Meng (red.). Podręcznik łańcucha Markowa Monte Carlo . Chapmana i Halla/CRC. ISBN 9781420079418 .
- Betancourt, Michael (2018). „Koncepcyjne wprowadzenie do hamiltonowskiego Monte Carlo”. ar Xiv : 1701.02434 .
- Barbu, Adrian; Zhu, Song-Chun (2020). „Hamiltonian i Langevin Monte Carlo”. Metody Monte Carlo . Singapur: Springer. s. 281–326. ISBN 978-981-13-2970-8 .
Linki zewnętrzne
- Betancourt, Michael. „Efektywne wnioskowanie bayesowskie z hamiltonowskim Monte Carlo” . MLSS Islandia 2014 – przez YouTube .
- McElreath, Richard. „Łańcuch Markowa Monte Carlo” . Statystyczne przemyślenie 2022 – za pośrednictwem YouTube .
- Hamiltonowskie Monte Carlo od podstaw
- Metody optymalizacji i Monte Carlo