Le hamiltonien Monte Carlo fonctionne bien avec des distributions cibles continues avec des formes "étranges". Elle nécessite que la distribution cible soit différenciable car elle utilise essentiellement la pente de la distribution cible pour savoir où aller. L'exemple parfait est une fonction en forme de banane.
Voici un Metropolis Hastings standard dans une fonction banane: taux d'acceptation de 66% et couverture très médiocre.
Voici avec HMC: 99% d'acceptation avec une bonne couverture.
SMC (la méthode derrière le filtrage des particules) est presque imbattable lorsque la distribution cible est multimodale, surtout s'il y a plusieurs zones distinctes de masse. Au lieu d'avoir une chaîne de Markov piégée dans un mode, vous avez plusieurs chaînes de Markov en parallèle. Notez que vous l'utilisez pour estimer une séquence de distributions, généralement d'une netteté croissante. Vous pouvez générer une netteté croissante en utilisant quelque chose comme un recuit simulé (mettez un exposant progressivement croissant sur la cible). Ou typiquement, dans un contexte bayésien, la séquence des distributions est la séquence des postérieurs:
P( θ | y1),P( θ | y1, y2),. ..,P( θ | y1, y2, . . . , yN)
Par exemple, cette séquence est une excellente cible pour SMC:
La nature parallèle du SMC le rend particulièrement bien adapté au calcul distribué / parallèle.
Sommaire:
- HMC: bon pour une cible bizarre allongée. Ne fonctionne pas avec une fonction non continue.
- SMC: bon pour les cas multimodaux et non continus. Peut converger plus lentement ou utiliser plus de puissance de calcul pour des formes étranges de grande dimension.
Source: La plupart des images proviennent d'un article que j'ai écrit combinant les 2 méthodes (Hamiltonian Sequential Monte Carlo). Cette combinaison peut simuler à peu près n'importe quelle distribution que nous pouvons lui lancer, même à des dimensions très élevées.