Kann mir jemand NUTS auf Englisch erklären?


17

Ich verstehe den Algorithmus wie folgt:

No U-Turn Sampler (NUTS) ist eine Hamilton-Monte-Carlo-Methode. Dies bedeutet, dass es sich nicht um eine Markov-Kettenmethode handelt und dieser Algorithmus daher den Random-Walk-Teil vermeidet, der häufig als ineffizient und langsam konvergierend angesehen wird.

Anstatt den Zufallsrundgang zu machen, macht NUTS Sprünge der Länge x. Jeder Sprung verdoppelt sich, wenn der Algorithmus weiterläuft. Dies geschieht, bis die Flugbahn einen Punkt erreicht, an dem sie zum Startpunkt zurückkehren möchte.

Meine Fragen: Was ist das Besondere an der Kehrtwende? Wie überspringt das Verdoppeln der Flugbahn nicht den optimierten Punkt? Ist meine obige Beschreibung korrekt?


Ich fand diesen Beitrag und die abgebildeten Simulationen machen wirklich einen Unterschied in der Erklärung der Konzepte.
kael

Antworten:


13

Das No-U-Turn-Bit gibt an, wie Vorschläge generiert werden. Die HMC generiert ein hypothetisches physikalisches System: Stellen Sie sich einen Ball mit einer bestimmten kinetischen Energie vor, der durch eine Landschaft mit Tälern und Hügeln (die Analogie zerfällt in mehr als zwei Dimensionen) rollt, die von dem Posterior definiert wird, von dem Sie eine Abtastung durchführen möchten. Jedes Mal, wenn Sie eine neue MCMC-Probe entnehmen möchten, wählen Sie nach dem Zufallsprinzip die kinetische Energie aus und beginnen den Ball von Ihrem Standort aus zu rollen. Sie simulieren in diskreten Zeitschritten und um sicherzustellen, dass Sie den Parameterraum richtig erkunden, simulieren Sie Schritte in eine Richtung und die doppelt so vielen in die andere Richtung, drehen Sie sich erneut um usw. Irgendwann möchten Sie dies und einen guten Weg anhalten Dies ist der Fall, wenn Sie eine Kehrtwende gemacht haben (dh anscheinend überall verschwunden sind).

Zu diesem Zeitpunkt wird der vorgeschlagene nächste Schritt Ihrer Markov-Kette (mit bestimmten Einschränkungen) aus den von Ihnen besuchten Punkten ausgewählt. Das heißt, die gesamte Simulation des hypothetischen physikalischen Systems war "nur", um einen Vorschlag zu erhalten, der dann akzeptiert (die nächste MCMC-Stichprobe ist der vorgeschlagene Punkt) oder abgelehnt (die nächste MCMC-Stichprobe ist der Ausgangspunkt) wird.

Das Schlaue daran ist, dass die Vorschläge auf der Form des Seitenzahns basieren und sich am anderen Ende der Verteilung befinden können. Im Gegensatz dazu macht Metropolis-Hastings Vorschläge innerhalb einer (möglicherweise verzerrten) Kugel. Gibbs-Abtastung bewegt sich jeweils nur entlang einer (oder zumindest sehr weniger) Dimensionen.


Könnten Sie bitte den Kommentar " Anscheinend überall verschwunden " erläutern?
Gabriel

1
Das heißt, es gibt Anzeichen dafür, dass die Verteilung abgedeckt ist, anhand derer NUTS zu beurteilen versucht, ob Sie sich vollständig umgedreht haben. Wenn dies der Fall ist, können Sie hoffentlich in einem MCMC-Schritt zu einem beliebigen Teil des Seitenzahns gehen. Natürlich garantiert die Bedingung nicht wirklich, dass Sie den gesamten hinteren Teil erforscht haben, sondern gibt vielmehr einen Hinweis darauf, dass Sie den "aktuellen Teil" davon erforscht haben (wenn Sie eine multimodale Verteilung haben, können Sie Probleme haben, an alle Teile zu gelangen der Verteilung).
Björn

6

Sie sind falsch, dass HMC keine Markov-Kettenmethode ist. Per Wikipedia :

In Mathematik und Physik ist der hybride Monte-Carlo-Algorithmus, auch als Hamilton-Monte-Carlo-Algorithmus bekannt, eine Markov-Ketten-Monte-Carlo-Methode zum Erhalten einer Folge von Zufallsstichproben aus einer Wahrscheinlichkeitsverteilung, für die eine direkte Abtastung schwierig ist. Diese Sequenz kann verwendet werden, um die Verteilung zu approximieren (dh um ein Histogramm zu erstellen) oder um ein Integral (z. B. einen erwarteten Wert) zu berechnen.

Lesen Sie für mehr Klarheit das arXiv-Dokument von Betancourt , in dem die NUTS-Abschlusskriterien aufgeführt sind:

... identifizieren, wann eine Flugbahn lang genug ist, um eine ausreichende Erkundung der Nachbarschaft um das aktuell eingestellte Energieniveau zu ermöglichen. Insbesondere möchten wir vermeiden, dass sowohl die Integration zu kurz ist, in welchem ​​Fall wir die Hamilton-Trajektorien nicht voll ausnutzen würden, als auch die Integration zu lang ist, in welchem ​​Fall wir wertvolle Rechenressourcen für die Exploration verschwenden, die nur zu geringeren Erträgen führen.

In Anhang A.3 geht es um so etwas wie die von Ihnen erwähnte Verdoppelung der Flugbahn:

Wir können auch schneller expandieren, indem wir die Länge der Trajektorie bei jeder Iteration verdoppeln und eine abgetastete Trajektorie t ∼ T (t | z) = U T2L mit dem entsprechenden abgetasteten Zustand z '∼ T (z' | t) erhalten. In diesem Fall entsprechen sowohl die alten als auch die neuen Trajektorienkomponenten bei jeder Iteration den Blättern perfekter, geordneter Binärbäume (Abbildung 37). Auf diese Weise können wir die neuen Trajektorienkomponenten rekursiv erstellen und bei jedem Schritt der Rekursion eine Stichprobe weitergeben ...

und erweitert dies in A.4, wo es um eine dynamische Implementierung geht (Abschnitt A.3 befasst sich mit einer statischen Implementierung):

Glücklicherweise können die in Abschnitt A.3 diskutierten effizienten statischen Schemata iteriert werden, um eine dynamische Implementierung zu erzielen, sobald wir ein Kriterium für die Bestimmung ausgewählt haben, wann eine Flugbahn lang genug gewachsen ist, um das entsprechende eingestellte Energieniveau zufriedenstellend zu untersuchen.

Ich denke, der Schlüssel ist, dass es nicht so viele Sprünge macht, sondern seinen nächsten Sprung mit einer Technik berechnet, die die vorgeschlagene Sprunglänge verdoppelt, bis ein Kriterium erfüllt ist. Zumindest verstehe ich das Papier so.

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.