Hamiltoniano Monte Carlo si comporta bene con continue distribuzioni di target con forme "strane". Richiede che la distribuzione target sia differenziabile in quanto utilizza fondamentalmente la pendenza della distribuzione target per sapere dove andare. L'esempio perfetto è una funzione a forma di banana.
Ecco un Metropolis Hastings standard in una funzione Banana: tasso di accettazione del 66% e copertura molto scarsa.
Ecco con HMC: accettazione del 99% con una buona copertura.
SMC (il metodo alla base del filtro antiparticolato) è quasi imbattibile quando la distribuzione target è multimodale, specialmente se ci sono diverse aree separate con massa. Invece di avere una catena di Markov intrappolata in una modalità, hai diverse catene di Markov che corrono in parallelo. Si noti che lo si utilizza per stimare una sequenza di distribuzioni, generalmente di nitidezza crescente. È possibile generare la nitidezza crescente usando qualcosa di simile alla ricottura simulata (mettere un esponente progressivamente crescente sul bersaglio). O tipicamente, in un contesto bayesiano, la sequenza delle distribuzioni è la sequenza dei posteriori:
P( θ | y1),P( θ | y1, y2),. . .,P( θ | y1, y2, . . . , yN)
Ad esempio, questa sequenza è un obiettivo eccellente per SMC:
La natura parallela di SMC lo rende particolarmente adatto per il calcolo distribuito / parallelo.
Sommario:
- HMC: buono per bersaglio strano allungato. Non funziona con la funzione non continua.
- SMC: buono per casi multimodali e non continui. Potrebbe convergere più lentamente o utilizzare più potenza di calcolo per forme strane ad alta dimensione.
Fonte: la maggior parte delle immagini proviene da un documento che ho scritto combinando i 2 metodi (Hamiltonian Sequential Monte Carlo). Questa combinazione può simulare praticamente qualsiasi distribuzione che possiamo lanciare, anche a dimensioni molto elevate.