Гамильтониан Монте-Карло (HMC) — это разновидность метода Монте-Карло с цепью Маркова (MCMC) для эффективной выборки из вероятностных распределений. Он был разработан Рэдфордом М. Нилом в 1990-х годах. HMC работает путем введения дополнительных переменных импульса в процесс выборки, что позволяет более эффективно осуществлять выборку в направлениях, где распределение имеет относительно большие изменения в значении, а также позволяет «отскакивать» от областей, где распределение меняется быстро. Обычно он используется в байесовском выводе, но также может использоваться в других типах задач обучения или оптимизации.
HMC особенно полезен в случаях, когда распределение вероятности является мультимодальным (т.е. существует более одной отдельной области распределения) или имеет сильную кривизну. Он также может быть полезен в случаях, когда распределение вероятности быстро меняется в некоторых областях. HMC особенно полезен в случаях, когда распределение вероятности является функцией нескольких непрерывных переменных, поскольку это может затруднить эффективную выборку с помощью методов MCMC, таких как выборка Гиббса.
В целом, HMC менее эффективен, чем другие методы MCMC, с точки зрения количества выборок, которые необходимо взять, чтобы получить точную оценку распределения вероятностей в апостериоде; однако на практике он часто может быть быстрее, поскольку не требует выполнения множества шагов для выборки из определенной области распределения вероятностей.
Термин "гамильтониан" в гамильтонианском Монте-Карло происходит от того, что динамика цепи Маркова может быть выражена как гамильтонова система в потенциально высокоразмерном фазовом пространстве. Это позволяет более эффективно представлять выборки по сравнению с обычным представлением MCMC, поскольку динамика цепи выражается в виде дифференциального уравнения.