Perché la dinamica hamiltoniana è migliore della proposta di camminata casuale in MCMC in alcuni casi?


10

In alcuni casi, la dinamica hamiltoniana supera sempre la camminata casuale nell'algoritmo Metropolis. Qualcuno potrebbe spiegare il motivo con parole semplici senza troppa matematica?


1
@JuhoKokkala, in genere, in un problema di dimensioni elevate, la proposta di camminata casuale non ha buone prestazioni, tuttavia, le dinamiche hamitonial hanno.
Fly_back,

@JuhoKokkala La mia comprensione di HMC è che, otteniamo campioni con H a bassa energia nel sistema dinamico hamiltoniano, quindi mi viene in mente questo quiz sul perché il campione proposto dalla dinamica hamiltoniana può sempre essere accettato.
Fly_back,

3
All'inizio di novembre, Andrew Gelman ha pubblicato una nota su un "bellissimo nuovo articolo" di Michael Betancourt sul perché l'HMC è migliore dell'MCM casuale. Il punto principale di Gelman era che l'HMC è almeno due volte più veloce dei metodi concorrenti. andrewgelman.com/2016/11/03/…
Mike Hunter

2
Questa domanda è un po 'meno specificata, ma date le risposte postate di seguito, non credo che sia troppo poco chiaro per avere una risposta. Sto votando per lasciare aperto.
gung - Ripristina Monica

Risposte:


14

Prima di tutto, lasciatemi dire che non credo che il tasso di accettazione per HMC (Hamiltonian Monte Carlo) sia sempre più alto che per l'algoritmo Metropolis. Come notato da @JuhoKokkala, il tasso di accettazione di Metropolis è sintonizzabile e l'alto tasso di accettazione non significa che il tuo algoritmo stia facendo un buon lavoro nell'esplorazione della distribuzione posteriore. Se usi semplicemente una distribuzione della proposta estremamente ristretta (ad esempio con un molto piccolo ), otterrai un tasso di accettazione estremamente elevato, ma solo perché stai praticamente sempre nello stesso posto, senza esplorare l'intera distribuzione posteriore.T(q|q)=N(q,σI)σ

Quello che penso tu stia davvero chiedendo (e se ho ragione, quindi modifica la tua domanda di conseguenza) è perché Hamiltonian Monte Carlo ha (in alcuni casi) prestazioni migliori di Metropolis. Con "prestazioni migliori" intendo che, per molte applicazioni, se si confronta una catena generata da HMC con una catena di uguale lunghezza (stesso numero di campioni ) generata dall'algoritmo Metropolis, la catena HMC raggiunge uno stato stabile prima del La catena Metropolis, trova un valore inferiore per la probabilità di log negativa (o un valore simile, ma in meno iterazioni), la dimensione effettiva del campione è inferiore, l'autocorrelazione dei campioni decade più rapidamente con ritardo, ecc.N

Proverò a dare un'idea del perché ciò accada, senza entrare troppo nei dettagli matematici. Quindi, prima di tutto ricordiamo che gli algoritmi MCMC in generale sono utili per calcolare integrali (aspettative) ad alta dimensione di una funzione (o più funzioni) rispetto a una densità target , specialmente quando non abbiamo un modo per campionare direttamente dalla densità target:fπ(q)

Eπ[f]=Qf(q)π(q)dq1dqd

dove è il vettore dei parametri da cui dipendono e e è lo spazio dei parametri. Ora, ad alte dimensioni, il volume dello spazio dei parametri che contribuisce maggiormente all'integrale sopra non è il vicinato della modalità di (cioè, non è un volume stretto attorno alla stima MLE di ), perché qui è grande, ma il volume è molto piccolo.qdfπQπ(q)qπ(q)

Ad esempio, supponiamo di voler calcolare la distanza media di un punto dall'origine di , quando le sue coordinate sono variabili gaussiane indipendenti con media zero e varianza unitaria. Quindi l'integrale sopra diventa:qRd

Eπ[X]=Q||q||(2π)d/2exp(||q||2/2)dq1dqd

Ora, la densità target ha ovviamente un massimo a 0. Tuttavia, cambiando a coordinate sferiche e introducendo, puoi vedere che l'integrando diventa proporzionale a . Questa funzione ha ovviamente un massimo ad una certa distanza dall'origine. La regione all'interno di che contribuisce maggiormente al valore dell'integrale è chiamata insieme tipico e per questo integrale l'insieme tipico è un guscio sferico di raggio .π(q)=(2π)d/2exp(||q||2/2)r=||q||rd1exp(r2/2)drQRd

Ora, si può dimostrare che, in condizioni ideali, la catena Markov generata da MCMC converge prima in un punto dell'insieme tipico, quindi inizia a esplorare l'intero insieme e infine continua a esplorare i dettagli dell'insieme. In tal modo, la stima MCMC delle aspettative diventa sempre più accurata, con distorsioni e variazioni che si riducono con l'aumentare del numero di passaggi.

Tuttavia, quando la geometria dell'insieme tipico è complicata (ad esempio, se ha una cuspide in due dimensioni), l'algoritmo Metropolis standard a camminata casuale ha molte difficoltà nell'esplorazione dei dettagli "patologici" dell'insieme. Tende a saltare casualmente "attorno" a queste regioni, senza esplorarle. In pratica, ciò significa che il valore stimato per l'integrale tende a oscillare attorno al valore corretto e l'interruzione della catena a un numero finito di passaggi comporterà una stima distorta male.

L'Hamiltoniano Monte Carlo cerca di ovviare a questo problema, usando le informazioni contenute nella distribuzione target (nel suo gradiente) per informare la proposta di un nuovo punto campione, invece di usare semplicemente una distribuzione proposta non correlata a quella target. Quindi, ecco perché diciamo che HMC utilizza le derivate della distribuzione target per esplorare lo spazio dei parametri in modo più efficiente. Tuttavia, il gradiente della distribuzione target, di per sé, non è sufficiente per informare il passaggio della proposta. Come nell'esempio della distanza media di un punto casuale dall'origine diRd, il gradiente della distribuzione target, da solo, ci guida verso la modalità della distribuzione, ma la regione intorno alla modalità non è necessariamente la regione che contribuisce maggiormente all'integrale sopra, cioè non è l'insieme tipico.

Per ottenere la direzione corretta, in HMC introduciamo un insieme ausiliario di variabili, chiamato variabili momentum . Un analogo fisico può aiutare qui. Un satellite in orbita attorno a un pianeta, rimarrà in un'orbita stabile solo se il suo momento ha il valore "giusto", altrimenti si sposterà verso lo spazio aperto o verrà trascinato verso il pianeta dall'attrazione gravitazionale (qui recitando il ruolo del gradiente della densità target, che "tira" verso la modalità). Allo stesso modo, i parametri del momento hanno il ruolo di mantenere i nuovi campioni all'interno dell'insieme tipico, invece di farli andare alla deriva verso la coda o verso la modalità.

Questo è un piccolo riassunto di un articolo molto interessante di Michael Betancourt sulla spiegazione del Monte Carlo Hamiltoniano senza matematica eccessiva. Puoi trovare il documento, che va molto più in dettaglio, qui .

Una cosa che il documento non tratta in modo sufficientemente dettagliato, IMO, è quando e perché HMC può fare peggio di Metropolis a piedi casuali. Questo non succede spesso (nella mia esperienza limitata), ma può succedere. Dopotutto, introduci i gradienti, che ti aiutano a trovare la tua strada nello spazio dei parametri ad alta dimensione, ma raddoppi anche la dimensionalità del problema. In teoria, potrebbe accadere che il rallentamento dovuto all'aumento della dimensionalità superi l'accelerazione data dallo sfruttamento dei gradienti. Inoltre (e questo è trattato nel documento) se l'insieme tipico ha regioni di alta curvatura, l'HMC potrebbe "superare", ovvero potrebbe iniziare a campionare punti inutili molto lontani nelle code che non contribuiscono in alcun modo alle aspettative. Però, questo provoca instabilità dell'integratore simplettico che viene utilizzato nella pratica per implementare numericamente HMC. Pertanto, questo tipo di problema può essere facilmente diagnosticato.


1
Vedo che mentre stavo scrivendo la mia risposta, @DJohnson ha anche citato l'articolo di Betancourt. Tuttavia, penso che la risposta possa ancora essere utile come sintesi di ciò che si può trovare nel documento.
DeltaIV,

3

Come menzionato da @JuhoKokkala nei commenti, l'alto tasso di accettazione non fornisce necessariamente buone prestazioni. Il tasso di accettazione di Metropolis Hastings può essere aumentato riducendo la distribuzione della proposta. Tuttavia, ciò comporterà piccoli passi, rendendo più lungo l'esplorazione della distribuzione target. In pratica, c'è un compromesso tra dimensione del passo e tasso di accettazione ed è necessario un giusto equilibrio per ottenere buone prestazioni.

L'Hamiltoniano Monte Carlo tende a sovraperformare Metropolis Hastings perché può raggiungere punti più distanti con una maggiore probabilità di accettazione. Quindi, la domanda è: perché l'HMC tende ad avere una probabilità di accettazione maggiore rispetto all'MH per punti più distanti ?

MH ha difficoltà a raggiungere punti distanti perché le sue proposte vengono fatte senza utilizzare informazioni sulla distribuzione target. La distribuzione della proposta è tipicamente isotropica (ad esempio un gaussiano simmetrico). Quindi, ad ogni punto, l'algoritmo tenta di spostare una distanza casuale in una direzione casuale. Se la distanza è piccola rispetto alla velocità con cui la distribuzione del bersaglio cambia in quella direzione, ci sono buone probabilità che la densità nei punti attuali e nuovi sia simile, dando almeno una ragionevole possibilità di accettazione. Su distanze maggiori, la distribuzione target potrebbe essere cambiata un po 'rispetto al punto corrente. Pertanto, la possibilità di trovare casualmente un punto con una densità simile o (si spera) più alta può essere scarsa, in particolare all'aumentare della dimensionalità. Ad esempio, se il punto corrente si trova su una cresta stretta, lì '

Al contrario, HMC sfrutta la struttura della distribuzione target. Si può pensare al suo meccanismo di proposta di utilizzare un'analogia fisica, come descritto in Neal (2012). Immagina un disco che scivola su una superficie collinosa e senza attrito. La posizione del disco rappresenta il punto corrente e l'altezza della superficie rappresenta il registro negativo della distribuzione target. Per ottenere un nuovo punto proposto, al disco viene dato un momento con direzione e magnitudine casuali, e la sua dinamica viene quindi simulata mentre scorre sulla superficie. Il disco accelererà nelle direzioni in discesa e rallenterà nelle direzioni in salita (forse anche fermandosi e scivolando di nuovo in discesa). Le traiettorie che si muovono lateralmente lungo il muro di una valle si curveranno verso il basso. Quindi, il paesaggio stesso influenza la traiettoria e la spinge verso regioni a maggiore probabilità. Il momento può consentire al disco di crestare su piccole colline e anche scavalcare piccoli bacini. La posizione del disco dopo un certo numero di passaggi temporali indica il nuovo punto proposto, che viene accettato o rifiutato utilizzando la regola Metropolis standard. Sfruttare la distribuzione target (e il suo gradiente) è ciò che consente a HMC di raggiungere punti distanti con alti tassi di accettazione.

Ecco una buona recensione:

Neal (2012) . MCMC usando la dinamica hamiltoniana.


0

Come risposta libera (che sembra essere ciò che stai cercando) i metodi hamiltoniani tengono conto della derivata della probabilità di log, mentre l'algoritmo MH standard no.

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.