Ma compréhension de l'algorithme est la suivante:
Aucun échantillonneur de demi-tour (NUTS) est une méthode hamiltonienne de Monte Carlo. Cela signifie qu'il ne s'agit pas d'une méthode de chaîne de Markov et donc, cet algorithme évite la partie de marche aléatoire, qui est souvent considérée comme inefficace et lente à converger.
Au lieu de faire la marche aléatoire, NUTS fait des sauts de longueur x. Chaque saut double alors que l'algorithme continue de fonctionner. Cela se produit jusqu'à ce que la trajectoire atteigne un point où elle souhaite revenir au point de départ.
Mes questions: Quelle est la particularité du demi-tour? Comment le fait de doubler la trajectoire ne saute-t-il pas le point optimisé? Ma description ci-dessus est-elle correcte?
la source
Réponses:
Le pas de demi-tour est la façon dont les propositions sont générées. HMC génère un système physique hypothétique: imaginez une balle avec une certaine énergie cinétique roulant autour d'un paysage avec des vallées et des collines (l'analogie se décompose en plus de 2 dimensions) définie par le postérieur que vous souhaitez échantillonner. Chaque fois que vous voulez prélever un nouvel échantillon MCMC, vous choisissez au hasard l'énergie cinétique et vous lancez la balle d'où vous êtes. Vous simulez en pas de temps discrets, et pour vous assurer d'explorer correctement l'espace des paramètres, vous simulez des pas dans une direction et deux fois plus dans l'autre direction, faites demi-tour, etc. À un moment donné, vous voulez arrêter cela et une bonne façon de le faire, c'est lorsque vous avez fait demi-tour (c'est-à-dire que vous semblez avoir fait un peu partout).
À ce stade, la prochaine étape proposée de votre chaîne de Markov est sélectionnée (avec certaines limitations) à partir des points que vous avez visités. C'est-à-dire que toute la simulation du système physique hypothétique était "juste" pour obtenir une proposition qui est ensuite acceptée (l'échantillon MCMC suivant est le point proposé) ou rejetée (l'échantillon MCMC suivant est le point de départ).
La chose intelligente à ce sujet est que les propositions sont faites en fonction de la forme de la partie postérieure et peuvent être à l'autre bout de la distribution. En revanche, Metropolis-Hastings fait des propositions dans une balle (éventuellement asymétrique), l'échantillonnage de Gibbs ne se déplace que sur une (ou du moins très peu) dimensions à la fois.
la source
Vous avez tort que la console HMC ne soit pas une méthode de chaîne de Markov. Par Wikipedia :
Pour plus de clarté, lisez l' article arXiv de Betancourt , qui mentionne les critères de terminaison NUTS:
L'annexe A.3 parle de quelque chose comme la trajectoire doublant que vous mentionnez:
et développe ceci dans A.4, où il parle d'une implémentation dynamique (la section A.3 parle d'une implémentation statique):
Je pense que la clé est qu'il ne fait pas de sauts qui doublent, il calcule son prochain saut en utilisant une technique qui double la longueur du saut proposé jusqu'à ce qu'un critère soit satisfait. C'est du moins ainsi que je comprends le document jusqu'à présent.
la source