Гамильтониан Монте-Карло: как понять предложение Метрополиса-Хастинга?


9

Я пытаюсь понять внутреннюю работу гамильтониана Монте-Карло (HMC), но не могу полностью понять ту часть, когда мы заменяем детерминистическую интеграцию времени предложением Метрополиса-Хастинга. Я читаю замечательную вводную статью Майкла Бетанкура « Концептуальное введение в гамильтониан Монте-Карло », поэтому я буду следовать той же записи, что и в ней.

Фон

Общая цель Марковской цепи Монте-Карло (MCMC) состоит в аппроксимации распределения целевой переменной .qπ(q)q

Идея HMC является введение вспомогательного «импульс» переменный p , в сочетании с исходным переменным q , смоделированный как «положение». Пара положение-импульс образует расширенное фазовое пространство и может быть описана гамильтоновой динамикой. Совместное распределение π(q,p) можно записать в терминах микроканонического разложения:

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

где θE представляет параметры (q,p) на данном энергетическом уровне E , также известный как типичный набор . См. Рис. 21 и рис. 22 бумаги для иллюстрации.

введите описание изображения здесь

Исходная процедура HMC состоит из следующих двух чередующихся этапов:

  • Стохастический шаг, который выполняет случайный переход между уровнями энергии, и

  • Детерминированный шаг, который выполняет интегрирование по времени (обычно реализуемое с помощью числовой интеграции с перепрыгиванием) вдоль заданного уровня энергии.

В статье утверждается, что у чехарды (или симплектического интегратора) есть небольшие ошибки, которые приведут к числовому смещению. Таким образом, вместо того, чтобы рассматривать его как детерминированный шаг, мы должны превратить его в предложение Метрополиса-Гастинга (MH), чтобы сделать этот шаг стохастическим, и в результате полученной процедуры будут получены точные выборки из распределения.

Предложение MH выполнит шагов прыжковых операций, а затем перевернет импульс. Предложение будет принято со следующей вероятностью принятия:L

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

Вопросов

Мои вопросы:

1) Почему эта модификация превращения детерминированной временной интеграции в предложение МЗ отменяет числовое смещение, так что сгенерированные выборки точно следуют целевому распределению?

2) С физической точки зрения энергия сохраняется на заданном энергетическом уровне. Вот почему мы можем использовать уравнения Гамильтона:

dqdt=Hp,dpdt=Hq .

В этом смысле энергия должна быть постоянной везде на типичном множестве, поэтому должно быть равно . Почему существует разница в энергии, которая позволяет нам построить вероятность принятия?H ( q L , - p L )H(q0,p0)H(qL,pL)

Ответы:


7

Детерминированные гамильтоновы траектории полезны только потому, что они соответствуют целевому распределению. В частности, траектории с типичным энергетическим проектом на области с высокой вероятностью распространения цели. Если бы мы могли точно интегрировать уравнения Гамильтона и построить явные гамильтоновы траектории, то у нас уже был бы полный алгоритм и не требовался бы какой-либо шаг принятия .

К сожалению, за исключением нескольких очень простых примеров, мы не можем точно интегрировать уравнения Гамильтона. Вот почему мы должны ввести симплектических интеграторов . Симплектические интеграторы используются для построения высокоточных численных приближений к точным гамильтоновым траекториям, которые мы не можем решить аналитически. Небольшая ошибка, присущая симплектическим интеграторам, заставляет эти числовые траектории отклоняться от истинных траекторий, и, следовательно, проекции числовых траекторий будут отклоняться от типичного набора распределения целей. Нам нужно ввести способ исправить это отклонение.

Первоначальная реализация гамильтониана Монте-Карло рассматривала конечную точку траектории фиксированной длины как предложение, а затем применяла процедуру принятия Метрополиса к этому предложению. Если бы численная траектория накапливала слишком много ошибок и, следовательно, отклонялась слишком далеко от начальной энергии, то это предложение было бы отклонено. Другими словами, процедура принятия отбрасывает предложения, которые в конечном итоге проецируются слишком далеко от типичного набора целевого распределения, так что единственные образцы, которые мы храним, - это те, которые попадают в типичный набор.

Обратите внимание, что более современные реализации, которые я защищаю в Концептуальной статье, на самом деле не являются алгоритмами Метрополиса-Гастингса. Выборка случайной траектории, а затем случайной точки из этой случайной траектории является более общим способом исправить числовую ошибку, введенную симплектическими интеграторами. Метрополис-Гастингс - это всего лишь один из способов реализации этого более общего алгоритма, но выборка срезов (как сделано в NUTS) и выборка по многочлену (как в настоящее время выполняется в Stan) работают так же хорошо, если не лучше. Но в конечном итоге интуиция остается той же - мы вероятностно выбираем точки с небольшой числовой ошибкой, чтобы обеспечить точные выборки из целевого распределения.


Спасибо @Майкл Бетанкур !! Концептуально, теперь у меня появилась идея сделать шаг интеграции времени вероятностным, основываясь на том, насколько интегрированное состояние отклоняется от траектории. Однако то, как строится вероятность принятия, мне не совсем понятно, так как кажется, что мы поощряем отклонение, которое приводит к снижению энергии? Если намного ниже, чем , всегда ли мы принимаем предложение, даже если оно сильно отклоняется от траектории? H ( q 0 , p 0 )H(qL,pL)H(q0,p0)
cwl

1
Да, но из-за того, как объем в пространствах большой размерности работает (всегда больше объема наружу поверхности, чем внутрь), траектории тратят экспоненциально больше времени на отклонение от более высоких энергий, чем от более низких энергий. Следовательно, когда вы объединяете предложение (которое способствует более высоким энергиям) с принятием (которое способствует более низким энергиям), вы восстанавливаете баланс вокруг начальной энергии.
Майкл Бетанкур
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.