Hamiltonian Monte Carlo: Wie kann man den Vorschlag von Metropolis-Hasting verstehen?


9

Ich versuche, das Innenleben des Hamiltonian Monte Carlo (HMC) zu verstehen, kann aber den Teil nicht vollständig verstehen, wenn wir die deterministische Zeitintegration durch einen Vorschlag von Metropolis-Hasting ersetzen. Ich lese das großartige Einführungspapier A Conceptual Introduction to Hamiltonian Monte Carlo von Michael Betancourt, daher werde ich der darin verwendeten Notation folgen.

Hintergrund

Das allgemeine Ziel der Markov-Kette Monte Carlo (MCMC) besteht darin, die Verteilung einer Zielvariablen zu approximieren .qπ(q)q

Die Idee von HMC ist es, eine Hilfsvariable "Impuls" in Verbindung mit der ursprünglichen Variablen einzuführen , die als "Position" modelliert wird. Das Positions-Impuls-Paar bildet einen erweiterten Phasenraum und kann durch die Hamilton-Dynamik beschrieben werden. Die gemeinsame Verteilung kann als mikrokanonische Zerlegung geschrieben werden:qpqπ(q,p)

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

wobei die Parameter auf einem gegebenen Energieniveau , das auch als typischer Satz bekannt ist . Zur Veranschaulichung siehe Abb. 21 und Abb. 22 des Papiers. ( q , p ) E.θE(q,p)E

Geben Sie hier die Bildbeschreibung ein

Das ursprüngliche HMC-Verfahren besteht aus den folgenden zwei abwechselnden Schritten:

  • Ein stochastischer Schritt, der einen zufälligen Übergang zwischen den Energieniveaus und ausführt

  • Ein deterministischer Schritt, der eine Zeitintegration (normalerweise implementiert über eine numerische Sprungintegration) entlang eines bestimmten Energieniveaus durchführt.

In der Arbeit wird argumentiert, dass leapfrog (oder symplektischer Integrator) kleine Fehler aufweist, die zu numerischen Verzerrungen führen. Anstatt es als deterministischen Schritt zu behandeln, sollten wir es in einen Metropolis-Hasting (MH) -Vorschlag umwandeln, um diesen Schritt stochastisch zu machen, und das resultierende Verfahren liefert genaue Stichproben aus der Verteilung.

Der MH Vorschlag wird ausführen Schritte leapfrog Operationen und dann drehen die Dynamik. Der Vorschlag wird dann mit folgender Akzeptanzwahrscheinlichkeit angenommen:L

ein(qL.,- -pL.|q0,p0)=michn(1,exp(H.(q0,p0)- -H.(qL.,- -pL.)))

Fragen

Meine Fragen sind:

1) Warum hebt diese Modifikation der Umwandlung der deterministischen Zeitintegration in einen MH-Vorschlag die numerische Verzerrung auf, sodass die generierten Stichproben genau der Zielverteilung folgen?

2) Aus physikalischer Sicht bleibt die Energie auf einem bestimmten Energieniveau erhalten. Deshalb können wir Hamiltons Gleichungen verwenden:

dqdt=H.p,dpdt=- -H.q .

In diesem Sinne sollte die Energie überall auf der typischen Menge konstant sein , daher sollte gleich . Warum gibt es einen Energieunterschied, der es uns ermöglicht, die Akzeptanzwahrscheinlichkeit zu konstruieren?H ( q L , - p L )H.(q0,p0)H.(qL.,- -pL.)

Antworten:


7

Die deterministischen Hamilton-Trajektorien sind nur nützlich, weil sie mit der Zielverteilung übereinstimmen. Insbesondere Trajektorien mit einem typischen Energieprojekt auf Regionen mit hoher Wahrscheinlichkeit der Zielverteilung. Wenn wir die Hamilton-Gleichungen genau integrieren und explizite Hamilton-Trajektorien konstruieren könnten, hätten wir bereits einen vollständigen Algorithmus und benötigen keinen Akzeptanzschritt .

Leider können wir außerhalb einiger sehr einfacher Beispiele die Hamilton-Gleichungen nicht genau integrieren. Deshalb müssen wir symplektische Integratoren einbeziehen . Symplektische Integratoren werden verwendet, um hochgenaue numerische Näherungen an die exakten Hamilton-Trajektorien zu erstellen, die wir nicht analytisch lösen können. Der kleine Fehler, der symplektischen Integratoren inhärent ist, führt dazu, dass diese numerischen Trajektorien von den wahren Trajektorien abweichen, und daher weichen die Projektionen der numerischen Trajektorien von der typischen Menge der Zielverteilung ab. Wir müssen einen Weg einführen, um diese Abweichung zu korrigieren.

Bei der ursprünglichen Implementierung von Hamiltonian Monte Carlo wurde der letzte Punkt in einer Flugbahn fester Länge als Vorschlag betrachtet und anschließend ein Metropolis-Akzeptanzverfahren auf diesen Vorschlag angewendet. Wenn die numerische Flugbahn zu viel Fehler angehäuft und daher zu weit von der Anfangsenergie abgewichen wäre, würde diese vorgeschlagene abgelehnt. Mit anderen Worten, das Akzeptanzverfahren wirft Vorschläge weg, die zu weit von der typischen Menge der Zielverteilung entfernt sind, so dass die einzigen Stichproben, die wir behalten, diejenigen sind, die in die typische Menge fallen.

Beachten Sie, dass die moderneren Implementierungen, für die ich mich im Conceptual Paper einsetze, keine Metropolis-Hastings-Algorithmen sind. Das Abtasten einer zufälligen Trajektorie und dann eines zufälligen Punkts von dieser zufälligen Trajektorie ist eine allgemeinere Methode, um den von symplektischen Integratoren eingeführten numerischen Fehler zu korrigieren. Metropolis-Hastings ist nur eine Möglichkeit, diesen allgemeineren Algorithmus zu implementieren, aber Slice-Sampling (wie in NUTS durchgeführt) und Multinomial-Sampling (wie derzeit in Stan durchgeführt) funktionieren genauso gut, wenn nicht sogar besser. Letztendlich ist die Intuition jedoch dieselbe - wir wählen wahrscheinlich Punkte mit kleinen numerischen Fehlern aus, um genaue Stichproben aus der Zielverteilung sicherzustellen.


Danke @Michael Betancourt !! Konzeptionell komme ich jetzt auf die Idee, den Zeitintegrationsschritt probabilistisch zu machen, basierend darauf, wie stark der integrierte Zustand von der Flugbahn abweicht. Die Art und Weise, wie die Akzeptanzwahrscheinlichkeit konstruiert wird, ist für mich jedoch nicht ganz sinnvoll, da wir anscheinend Abweichungen fördern, die zu einer geringeren Energie führen. Wenn viel niedriger als , akzeptieren wir den Vorschlag am Ende immer, obwohl er stark von der Flugbahn abweicht? H ( q 0 , p 0 )H.(qL.,- -pL.)H.(q0,p0)
cwl

1
Ja, aber aufgrund der Funktionsweise des Volumens in hochdimensionalen Räumen (immer mehr Volumen nach außen als nach innen) verbringen Trajektorien exponentiell mehr Zeit damit, von höheren Energien abzuweichen als von niedrigeren Energien. Wenn Sie also den Vorschlag (der höhere Energien bevorzugt) mit der Akzeptanz (die niedrigere Energien bevorzugt) kombinieren, stellen Sie ein Gleichgewicht um die Anfangsenergie wieder her.
Michael Betancourt
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.