Hamiltonian Monte Carlo: jak zrozumieć propozycję Metropolis-Hasting?

9

Próbuję zrozumieć wewnętrzne działanie Hamiltona Monte Carlo (HMC), ale nie mogę w pełni zrozumieć tej części, kiedy zastępujemy deterministyczną integrację czasową propozycją Metropolis-Hasting. Czytam niesamowity wstępny artykuł „Koncepcyjne wprowadzenie do Hamiltonian Monte Carlo” autorstwa Michaela Betancourta, więc będę postępować zgodnie z tą samą notacją, która została w nim zastosowana.

tło

Ogólnym celem Markov Chain Monte Carlo (MCMC) jest przybliżenie rozkładu π(q) zmiennej docelowej q.

Ideą HMC jest wprowadzenie pomocniczej zmiennej „pędu” p, w połączeniu z oryginalną zmienną qktóry jest modelowany jako „pozycja”. Para pozycja-pęd tworzy rozszerzoną przestrzeń fazową i może być opisana dynamiką hamiltonowską. Wspólna dystrybucjaπ(q,p) można napisać w kategoriach rozkładu mikrokanonicznego:

π(q,p)=π(θE|E)π(E),

gdzie θE reprezentuje parametry (q,p) na danym poziomie energii E, znany również jako typowy zestaw . Ilustrację przedstawiono na ryc. 21 i ryc. 22 artykułu.

wprowadź opis zdjęcia tutaj

Oryginalna procedura konsoli HMC składa się z następujących dwóch naprzemiennych etapów:

  • Stochastyczny krok, który wykonuje losowe przejście między poziomami energii i

  • Krok deterministyczny, który wykonuje całkowanie w czasie (zwykle realizowane przez skokową integrację numeryczną) wzdłuż danego poziomu energii.

W artykule dowodzi się, że skok żaba (lub integrator symplektyczny) ma małe błędy, które wprowadzą błąd numeryczny. Zamiast traktować go jako krok deterministyczny, powinniśmy przekształcić go w propozycję Metropolis-Hasting (MH), aby ten krok był stochastyczny, a wynikowa procedura da dokładne próbki z rozkładu.

Propozycja MH zostanie wykonana Lkroki operacji przeskakiwania, a następnie odwrócenie tempa. Propozycja zostanie następnie zaakceptowana z następującym prawdopodobieństwem akceptacji:

a(qL,pL|q0,p0)=min(1,exp(H(q0,p0)H(qL,pL)))

pytania

Moje pytania to:

1) Dlaczego ta modyfikacja przekształcenia deterministycznej integracji czasowej w propozycję MH anuluje odchylenie liczbowe, aby wygenerowane próbki były dokładnie zgodne z rozkładem docelowym?

2) Z punktu widzenia fizyki energia jest zachowywana na danym poziomie energii. Właśnie dlatego możemy zastosować równania Hamiltona:

dqdt=Hp,dpdt=Hq.

W tym sensie energia powinna być stała wszędzie na typowym zbiorze, stądH(q0,p0) powinno być równe H(qL,pL). Dlaczego istnieje różnica w energii, która pozwala nam skonstruować prawdopodobieństwo akceptacji?

cwl
źródło

Odpowiedzi:

7

Deterministyczne trajektorie hamiltonowskie są użyteczne tylko dlatego, że są zgodne z rozkładem docelowym. W szczególności trajektorie z typowym projektem energetycznym na regiony o wysokim prawdopodobieństwie rozkładu celu. Gdybyśmy mogli dokładnie zintegrować równania Hamiltona i skonstruować wyraźne trajektorie hamiltonowskie, mielibyśmy już pełny algorytm i nie potrzebowalibyśmy żadnego kroku akceptacji .

Niestety poza kilkoma bardzo prostymi przykładami nie możemy dokładnie zintegrować równań Hamiltona. Dlatego musimy wprowadzić integratory symplektyczne . Integratory symplektyczne służą do konstruowania aproksymacji numerycznych o wysokiej dokładności do dokładnych trajektorii hamiltonowskich, których nie możemy rozwiązać analitycznie. Mały błąd związany z integratorami symplektycznymi powoduje, że te trajektorie numeryczne odbiegają od prawdziwych trajektorii, a zatem rzuty trajektorii numerycznych będą odbiegać od typowego zestawu rozkładu celu. Musimy wprowadzić sposób korekty tego odchylenia.

Pierwotna implementacja Hamiltoniana Monte Carlo rozważała ostatni punkt trajektorii o stałej długości jako propozycję, a następnie zastosowała do tej propozycji procedurę akceptacji Metropolis. Gdyby trajektoria liczbowa zakumulowała zbyt wiele błędów, a zatem zbytnio odbiegła od energii początkowej, wówczas ta proponowana byłaby odrzucona. Innymi słowy, procedura akceptacji odrzuca propozycje, które kończą się zbyt daleko od typowego zestawu rozkładu docelowego, tak że jedyne przechowywane przez nas próbki to te, które mieszczą się w typowym zestawie.

Zauważ, że bardziej nowoczesne implementacje, za którymi opowiadam się w artykule koncepcyjnym, nie są w rzeczywistości algorytmami Metropolis-Hastings. Próbkowanie losowej trajektorii, a następnie losowego punktu z tej losowej trajektorii jest bardziej ogólnym sposobem na poprawienie błędu numerycznego wprowadzonego przez integratory symplektyczne. Metropolis-Hastings to tylko jeden sposób na wdrożenie tego bardziej ogólnego algorytmu, ale próbkowanie wycinków (tak jak w NUTS) i próbkowanie wielomianowe (jak obecnie w Stan) działają równie dobrze, jeśli nie lepiej. Ale ostatecznie intuicja jest taka sama - probabilistycznie wybieramy punkty z małym błędem numerycznym, aby zapewnić dokładne próbki z rozkładu docelowego.

Michael Betancourt
źródło
Dzięki @Michael Betancourt !! Koncepcyjnie, teraz wpadam na pomysł, aby uczynić krok integracji czasowej probabilistycznym, w oparciu o to, jak bardzo zintegrowany stan odbiega od trajektorii. Jednak sposób skonstruowania prawdopodobieństwa akceptacji nie ma dla mnie żadnego sensu, ponieważ wydaje się, że zachęcamy do odchyleń, które skutkują niższą energią? GdybyH(qL,pL) jest znacznie niższy niż H(q0,p0), czy ostatecznie zawsze przyjmujemy propozycję, mimo że bardzo odbiega ona od trajektorii?
cwl
1
Tak, ale ze względu na to, jak działa objętość w przestrzeniach o dużych wymiarach (zawsze większa objętość w kierunku na zewnątrz powierzchni niż w kierunku jej wnętrza), trajektorie spędzają wykładniczo więcej czasu na odchylaniu się do wyższych energii niż energii niższych. W rezultacie, łącząc propozycję (która sprzyja wyższym energiom) z akceptacją (która sprzyja niższym energiom), odzyskujesz równowagę wokół energii początkowej.
Michael Betancourt