Qualcuno può spiegarmi le NOCI in inglese?


17

La mia comprensione dell'algoritmo è la seguente:

Nessun campionatore di inversione a U (NUTS) è un metodo Monte Carlo Hamiltoniano. Ciò significa che non è un metodo a catena di Markov e, quindi, questo algoritmo evita la parte di camminata casuale, che è spesso considerata inefficiente e lenta a convergere.

Invece di fare una passeggiata casuale, NUTS fa salti di lunghezza x. Ogni salto raddoppia mentre l'algoritmo continua a funzionare. Ciò accade fino a quando la traiettoria non raggiunge un punto in cui desidera tornare al punto iniziale.

Le mie domande: cosa c'è di così speciale nell'inversione a U? In che modo il raddoppio della traiettoria non salta il punto ottimizzato? La mia descrizione sopra è corretta?


Ho trovato questo post e le simulazioni illustrate fanno davvero la differenza nella spiegazione dei concetti.
Kael

Risposte:


13

Il bit di inversione a U è il modo in cui vengono generate le proposte. L'HMC genera un ipotetico sistema fisico: immagina una palla con una certa energia cinetica che ruota attorno a un paesaggio con valli e colline (l'analogia si rompe con più di 2 dimensioni) definita dal posteriore da cui vuoi campionare. Ogni volta che vuoi prelevare un nuovo campione MCMC, scegli casualmente l'energia cinetica e fai rotolare la palla da dove ti trovi. Simuli in passi temporali discreti e per assicurarti di esplorare correttamente lo spazio dei parametri, simuli i passi in una direzione e il doppio in un'altra direzione, ti giri di nuovo ecc. Ad un certo punto vuoi fermare questo e un buon modo di farlo è quando hai fatto un'inversione a U (cioè sembra che sia andato dappertutto).

A questo punto il prossimo passo proposto della tua Catena Markov viene scelto (con alcune limitazioni) dai punti che hai visitato. Vale a dire che l'intera simulazione dell'ipotetico sistema fisico è stata "solo" per ottenere una proposta che viene poi accettata (il prossimo campione MCMC è il punto proposto) o respinta (il prossimo campione MCMC è il punto di partenza).

La cosa intelligente è che le proposte sono fatte in base alla forma del posteriore e possono essere all'altra estremità della distribuzione. Al contrario, Metropolis-Hastings formula delle proposte all'interno di una palla (possibilmente inclinata), il campionamento di Gibbs si muove solo lungo una (o almeno pochissime) dimensioni alla volta.


Potresti espandere il commento " sembra essere andato dappertutto " per favore?
Gabriel,

1
Significa avere qualche indicazione che ha coperto la distribuzione, che NUTS cerca di giudicare se ti sei completamente voltato. In tal caso, si spera che in un passaggio MCMC si possa andare in qualsiasi parte del posteriore. Naturalmente, la condizione non garantisce veramente di aver esplorato l'intero posteriore, ma piuttosto indica che hai esplorato la "parte corrente" di essa (se hai una distribuzione multimodale potresti avere difficoltà a raggiungere tutte le parti della distribuzione).
Björn

6

Non sei corretto nel dire che HMC non è un metodo a catena di Markov. Per Wikipedia :

In matematica e fisica, l'algoritmo ibrido Monte Carlo, noto anche come Hamiltoniano Monte Carlo, è un metodo Monteov della catena Markov per ottenere una sequenza di campioni casuali da una distribuzione di probabilità per la quale il campionamento diretto è difficile. Questa sequenza può essere utilizzata per approssimare la distribuzione (ovvero, per generare un istogramma) o per calcolare un integrale (come un valore atteso).

Per maggiore chiarezza, leggi l' articolo di arXiv di Betancourt , che menziona i criteri di terminazione NUTS:

... identificare quando una traiettoria è abbastanza lunga da consentire l'esplorazione sufficiente del quartiere attorno all'attuale livello di energia impostato. In particolare, vogliamo evitare sia l'integrazione troppo breve, nel qual caso non trarremmo il massimo vantaggio dalle traiettorie hamiltoniane, sia l'integrazione troppo lunga, nel qual caso sprechiamo preziose risorse computazionali in esplorazione che producono rendimenti solo decrescenti.

L'Appendice A.3 parla di qualcosa come la traiettoria che raddoppia di cui parli:

Possiamo anche espanderci più velocemente raddoppiando la lunghezza della traiettoria ad ogni iterazione, producendo una traiettoria campionata t ∼ T (t | z) = U T2L con il corrispondente stato campionato z ′ ∼ T (z ′ | t). In questo caso, i componenti di traiettoria vecchi e nuovi ad ogni iterazione sono equivalenti alle foglie di alberi binari perfetti e ordinati (Figura 37). Questo ci consente di costruire ricorsivamente i nuovi componenti della traiettoria, propagando un campione ad ogni passo della ricorsione ...

e si espande su questo in A.4, dove parla di un'implementazione dinamica (la sezione A.3 parla di un'implementazione statica):

Fortunatamente, gli efficienti schemi statici discussi nella Sezione A.3 possono essere ripetuti per ottenere un'implementazione dinamica una volta che abbiamo scelto un criterio per determinare quando una traiettoria è cresciuta abbastanza a lungo da esplorare in modo soddisfacente il corrispondente set di livelli di energia.

Penso che la chiave sia che non fa i salti che raddoppiano, calcola il salto successivo usando una tecnica che raddoppia la lunghezza del salto proposta fino a quando non viene soddisfatto un criterio. Almeno è così che ho capito il documento finora.

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.