Hamiltonian Monte Carlo: comment donner un sens à la proposition Metropolis-Hasting?


9

J'essaie de comprendre le fonctionnement interne de Hamiltonian Monte Carlo (HMC), mais je ne peux pas comprendre pleinement la partie lorsque nous remplaçons l'intégration temporelle déterministe par une proposition Metropolis-Hasting. Je lis le génial article d'introduction A Conceptual Introduction to Hamiltonian Monte Carlo de Michael Betancourt, je vais donc suivre la même notation que celle-ci.

Contexte

L'objectif général de Markov Chain Monte Carlo (MCMC) est d'approximer la distribution d'une variable cible .qπ(q)q

L'idée de HMC est d'introduire une variable auxiliaire "momentum" , conjointement avec la variable d'origine qui est modélisée comme la "position". La paire position-momentum forme un espace de phase étendu et peut être décrite par la dynamique hamiltonienne. La distribution conjointe peut s'écrire en termes de décomposition microcanonique:qpqπ(q,p)

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

où représente les paramètres à un niveau d'énergie donné , également appelé ensemble typique . Voir Fig. 21 et Fig. 22 du papier pour l'illustration. ( q , p ) EθE(q,p)E

entrez la description de l'image ici

La procédure HMC d'origine comprend les deux étapes alternées suivantes:

  • Une étape stochastique qui effectue une transition aléatoire entre les niveaux d'énergie, et

  • Une étape déterministe qui effectue une intégration temporelle (généralement implémentée via une intégration numérique par sauts) le long d'un niveau d'énergie donné.

Dans cet article, il est avancé que le saute-mouton (ou intégrateur symplectique) présente de petites erreurs qui introduiront un biais numérique. Ainsi, au lieu de la traiter comme une étape déterministe, nous devrions la transformer en une proposition Metropolis-Hasting (MH) pour rendre cette étape stochastique, et la procédure résultante produira des échantillons exacts de la distribution.

La proposition de MH effectuera étapes des opérations de saute-mouton, puis inversera l'élan. La proposition sera alors acceptée avec la probabilité d'acceptation suivante:L

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

Des questions

Mes questions sont:

1) Pourquoi cette modification de la transformation de l'intégration temporelle déterministe en proposition MH annule-t-elle le biais numérique afin que les échantillons générés suivent exactement la distribution cible?

2) Du point de vue physique, l'énergie est conservée à un niveau d'énergie donné. C'est pourquoi nous pouvons utiliser les équations de Hamilton:

dqdt=Hp,dpdt=Hq .

En ce sens, l'énergie doit être constante partout sur l'ensemble typique, donc doit être égal à . Pourquoi y a-t-il une différence d'énergie qui nous permet de construire la probabilité d'acceptation?H(q0,p0)H(qL,pL)

Réponses:


7

Les trajectoires Hamiltoniennes déterministes ne sont utiles que parce qu'elles sont cohérentes avec la distribution cible. En particulier, les trajectoires avec un projet énergétique typique sur des régions à forte probabilité de distribution cible. Si nous pouvions intégrer exactement les équations de Hamilton et construire des trajectoires Hamiltoniennes explicites, nous aurions déjà un algorithme complet et nous n'aurions pas besoin d'étape d'acceptation .

Malheureusement, en dehors de quelques exemples très simples, nous ne pouvons pas intégrer exactement les équations de Hamilton. C'est pourquoi nous devons faire appel à des intégrateurs symplectiques . Les intégrateurs symplectiques sont utilisés pour construire des approximations numériques de haute précision des trajectoires hamiltoniennes exactes que nous ne pouvons pas résoudre analytiquement. La petite erreur inhérente aux intégrateurs symplectiques fait que ces trajectoires numériques s'écartent des vraies trajectoires, et donc les projections des trajectoires numériques s'écarteront de l'ensemble typique de la distribution cible. Nous devons introduire un moyen de corriger cet écart.

La mise en œuvre originale de Hamiltonian Monte Carlo a considéré le point final d'une trajectoire de longueur fixe comme une proposition, puis a appliqué une procédure d'acceptation Metropolis à cette proposition. Si la trajectoire numérique avait accumulé trop d'erreurs, et donc déviait trop loin de l'énergie initiale, alors celle proposée serait rejetée. En d'autres termes, la procédure d'acceptation rejette les propositions qui finissent par se projeter trop loin de l'ensemble typique de la distribution cible, de sorte que les seuls échantillons que nous conservons sont ceux qui entrent dans l'ensemble typique.

Notez que les implémentations plus modernes que je préconise dans l'article conceptuel ne sont pas en fait des algorithmes de Metropolis-Hastings. L'échantillonnage d'une trajectoire aléatoire puis d'un point aléatoire à partir de cette trajectoire aléatoire est un moyen plus général de corriger l'erreur numérique introduite par les intégrateurs symplectiques. Metropolis-Hastings n'est qu'une façon d'implémenter cet algorithme plus général, mais l'échantillonnage par tranches (comme cela est fait dans NUTS) et l'échantillonnage multinomial (comme cela est actuellement fait dans Stan) fonctionnent tout aussi bien, sinon mieux. Mais finalement, l'intuition est la même - nous sélectionnons probablement des points avec une petite erreur numérique pour garantir des échantillons exacts de la distribution cible.


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

1
Oui, mais en raison du fonctionnement du volume dans les espaces de grande dimension (toujours plus de volume vers l'extérieur d'une surface que vers l'intérieur de celle-ci), les trajectoires passent exponentiellement plus de temps à s'écarter vers des énergies plus élevées que des énergies inférieures. Par conséquent, lorsque vous combinez la proposition (qui favorise les énergies supérieures) avec l'acceptation (qui favorise les énergies inférieures), vous récupérez un équilibre autour de l'énergie initiale.
Michael Betancourt
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.