Hamiltoniano Monte Carlo: come dare un senso alla proposta Metropolis-Hasting?


9

Sto cercando di capire il funzionamento interiore dell'Hamiltoniano Monte Carlo (HMC), ma non riesco a comprendere appieno la parte quando sostituiamo la deterministica integrazione temporale con una proposta di metropoli. Sto leggendo il fantastico documento introduttivo A Conceptual Introduction to Hamiltonian Monte Carlo di Michael Betancourt, quindi seguirò la stessa notazione ivi usata.

sfondo

L'obiettivo generale di Markov Chain Monte Carlo (MCMC) è approssimare la distribuzione di una variabile target .qπ(q)q

L'idea di HMC è quella di introdurre una variabile "momentum" ausiliaria , in combinazione con la variabile originale modellata come "posizione". La coppia posizione-momento forma uno spazio di fase esteso e può essere descritto dalla dinamica hamiltoniana. La distribuzione congiunta può essere scritta in termini di decomposizione microcanonica:qpqπ(q,p)

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

dove rappresenta i parametri su un dato livello di energia , noto anche come un insieme tipico . Vedere la Figura 21 e la Figura 22 della carta per l'illustrazione. ( q , p ) EθE(q,p)E

inserisci qui la descrizione dell'immagine

La procedura HMC originale consiste nelle seguenti due fasi alternate:

  • Un passaggio stocastico che esegue una transizione casuale tra i livelli di energia e

  • Una fase deterministica che esegue l'integrazione temporale (di solito implementata tramite l'integrazione numerica leapfrog) lungo un determinato livello di energia.

Nel documento, si sostiene che leapfrog (o integratore simplettico) ha piccoli errori che introdurranno pregiudizi numerici. Quindi, invece di trattarlo come un passo deterministico, dovremmo trasformarlo in una proposta di Metropolis-Hasting (MH) per rendere questo passo stocastico e la procedura risultante produrrà campioni esatti dalla distribuzione.

La proposta di MH eseguirà passaggi di operazioni di cavalcare le rane e poi ribalterà lo slancio. La proposta verrà quindi accettata con la seguente probabilità di accettazione:L

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

Domande

Le mie domande sono:

1) Perché questa modifica della trasformazione dell'integrazione temporale deterministica in proposta MH annulla il bias numerico in modo che i campioni generati seguano esattamente la distribuzione target?

2) Dal punto di vista della fisica, l'energia viene conservata a un determinato livello di energia. Ecco perché siamo in grado di usare le equazioni di Hamilton:

dqdt=Hp,dpdt=Hq .

In questo senso, l'energia dovrebbe essere costante ovunque sull'insieme tipico, quindi dovrebbe essere uguale a . Perché c'è una differenza di energia che ci consente di costruire la probabilità di accettazione?H ( q L , - p L )H(q0,p0)H(qL,pL)

Risposte:


7

Le traiettorie hamiltoniane deterministiche sono utili solo perché sono coerenti con la distribuzione target. In particolare, traiettorie con un tipico progetto di energia su regioni ad alta probabilità della distribuzione target. Se potessimo integrare esattamente le equazioni di Hamilton e costruire traiettorie Hamiltoniane esplicite, avremmo già un algoritmo completo e non avremmo bisogno di alcun passaggio di accettazione .

Sfortunatamente, al di fuori di alcuni esempi molto semplici, non possiamo integrare esattamente le equazioni di Hamilton. Ecco perché dobbiamo coinvolgere integratori simplettici . Gli integratori simplettici sono usati per costruire approssimazioni numeriche di alta precisione alle esatte traiettorie hamiltoniane che non possiamo risolvere analiticamente. Il piccolo errore insito negli integratori simplettici fa sì che queste traiettorie numeriche si discostino dalle vere traiettorie, e quindi le proiezioni delle traiettorie numeriche si discosteranno dall'insieme tipico della distribuzione target. Dobbiamo introdurre un modo per correggere questa deviazione.

L'implementazione originale dell'Hamiltoniano Monte Carlo considerava il punto finale in una traiettoria di lunghezza fissa come una proposta, quindi applicava una procedura di accettazione di Metropolis a quella proposta. Se la traiettoria numerica avesse accumulato troppo errore, e quindi deviato troppo lontano dall'energia iniziale, quella proposta sarebbe stata respinta. In altre parole, la procedura di accettazione elimina le proposte che finiscono per proiettare troppo lontano dall'insieme tipico della distribuzione target in modo che gli unici campioni che conserviamo siano quelli che rientrano nell'insieme tipico.

Si noti che le implementazioni più moderne che sostengo nel documento concettuale non sono in realtà algoritmi di Metropolis-Hastings. Campionare una traiettoria casuale e quindi un punto casuale da quella traiettoria casuale è un modo più generale per correggere l'errore numerico introdotto dagli integratori simplettici. Metropolis-Hastings è solo un modo per implementare questo algoritmo più generale, ma il campionamento di sezioni (come fatto in NUTS) e il campionamento multinomiale (come attualmente fatto a Stan) funzionano altrettanto bene se non meglio. Ma alla fine l'intuizione è la stessa: stiamo probabilisticamente selezionando punti con piccolo errore numerico per garantire campioni esatti dalla distribuzione target.


H(qL,pL)H(q0,p0)

1
Sì, ma a causa del modo in cui funziona il volume negli spazi ad alta dimensione (sempre più volume verso l'esterno di una superficie che verso l'interno di essa), le traiettorie trascorrono esponenzialmente più tempo deviando verso energie più elevate di energie inferiori. Di conseguenza, quando si combina la proposta (che favorisce le energie più alte) con l'accettazione (che favorisce le energie più basse) si recupera un equilibrio attorno all'energia iniziale.
Michael Betancourt,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.