Гамільтонова динаміка завжди перевершує, ніж випадкова хода в алгоритмі Метрополіса в деяких випадках. Чи може хтось пояснити причину простими словами без зайвої математики?
Гамільтонова динаміка завжди перевершує, ніж випадкова хода в алгоритмі Метрополіса в деяких випадках. Чи може хтось пояснити причину простими словами без зайвої математики?
Відповіді:
Перш за все, дозвольте мені зазначити, що я не вірю, що рівень прийняття HMC (Гамільтоніан Монте-Карло) завжди вище, ніж для алгоритму Metropolis. Як зазначає @JuhoKokkala, рівень приймання Metropolis є налаштованим, а високий рівень приймання не означає, що ваш алгоритм виконує гарну роботу з вивчення заднього розподілу. Якщо ви просто використовуєте надзвичайно вузький розподіл пропозицій (наприклад, з дуже маленьким ), ви отримаєте надзвичайно високий рівень прийняття, але тільки тому, що ви в основному залишаєтесь завжди на одному місці, не досліджуючи повного заднього розподілу.
Я думаю, що ви насправді запитуєте (і якщо я маю рацію, то, будь ласка, відредагуйте своє запитання відповідно), це те, чому Гамільтоніан Монте-Карло має (в деяких випадках) кращі показники, ніж Метрополіс. Маючи на увазі "кращу продуктивність", я маю на увазі, що для багатьох застосувань, якщо порівнювати ланцюг, що генерується HMC, з ланцюгом рівної довжини (однакова кількість зразків ), що генерується за алгоритмом Metropolis, ланцюг HMC досягає стійкого стану раніше, ніж Метрополіс-ланцюг знаходить меншу величину для негативної ймовірності ймовірності (або аналогічного значення, але за менших ітерацій), ефективний розмір вибірки менший, автокореляція зразків швидше розпадається із затримкою тощо.
Я спробую дати уявлення про те, чому це відбувається, не надто вдаючись до математичних деталей. Отже, перш за все нагадаємо, що алгоритми MCMC в цілому корисні для обчислення великомірних інтегралів (очікувань) функції (або більше функцій) щодо щільності цілі , особливо коли у нас немає спосіб безпосередньо вибірки з цільової щільності:
де - вектор параметрів, від яких залежать і , а - простір параметрів. Тепер у великих розмірах об'єм простору параметрів, який найбільше сприяє вищевказаному інтегралу, не є сусідством режиму (тобто це не вузький об'єм навколо оцінки MLE ), оскільки тут великий, але гучність дуже мала.
Наприклад, припустимо, ви хочете обчислити середню відстань точки від початку , коли її координати є незалежними гауссовими змінними з нульовою середньою та одиничною дисперсією. Тоді вищевказаний інтеграл стає:
Тепер, цільова щільність має, очевидно, максимум при 0. Однак, змінюючи до сферичних координат і введення, ви бачите, що інтеграл стає пропорційним . Ця функція, очевидно, має максимум на деякій відстані від початку. Область всередині яка найбільше сприяє значенню інтеграла, називається типовою множиною , а для цього інтеграла типовим набором є сферична оболонка радіусом .
Тепер можна показати, що в ідеальних умовах ланцюг Маркова, сформований MCMC, спершу сходить до точки в типовому наборі, потім починає досліджувати весь набір і, нарешті, продовжує вивчати деталі набору. Роблячи це, оцінка MCMC очікування стає все більш точною, з ухилом і дисперсією, які зменшуються зі збільшенням кількості кроків.
Однак, коли геометрія типового набору є складною (наприклад, якщо у неї є зубчастість у двох вимірах), то у стандартного алгоритму Metropolis методом випадкової прогулянки виникає чимало труднощів при дослідженні "патологічних" деталей набору. Він схильний випадково стрибати "навколо" цих регіонів, не досліджуючи їх. На практиці це означає, що оцінене значення для інтеграла має тенденцію коливатися навколо правильного значення, а переривання ланцюга на кінцевій кількості кроків призведе до погано упередженої оцінки.
Гамільтонистський Монте-Карло намагається подолати цю проблему, використовуючи інформацію, що міститься в цільовому розподілі (в його градієнті), щоб повідомити про пропозицію нової вибіркової точки, замість того, щоб просто використовувати розподіл пропозицій, не пов'язаних із цільовим. Отже, тому ми говоримо, що HMC використовує похідні цільового розподілу для більш ефективного дослідження простору параметрів. Тим НЕ менше, градієнт цільового розподілу, сам по собі, НЕ достатньо , щоб повідомити про це кроці пропозиції. Як у прикладі середньої відстані випадкової точки від початку, градієнт цільового розподілу сам по собі спрямовує нас до режиму розподілу, але область навколо режиму не обов'язково є тією областю, яка найбільше сприяє інтегралу вище, тобто це не типовий набір.
Для того, щоб отримати правильний напрямок, в HMC ми вводимо допоміжний набір змінних, який називається змінними імпульсу . Тут може допомогти фізичний аналог. Супутник, що обертається навколо планети, залишиться на стабільній орбіті лише в тому випадку, якщо його імпульс має "правильне" значення, інакше він або відпливе до відкритого космосу, або його потягне до планети гравітаційним притяганням (тут грає роль градієнта цільової щільності, який «тягне» до режиму). Таким же чином, параметри імпульсу відіграють роль збереження нових зразків усередині типового набору, замість того, щоб вони рухалися до хвостів або до режиму.
Це невеликий підсумок дуже цікавої роботи Майкла Бетанкура про пояснення Гамільтоніана Монте-Карло без зайвої математики. Ви можете ознайомитись з документом, який детальніше описується тут .
Одне, що документ не висвітлює достатньо детально, IMO, - це коли і чому HMC може зробити гірше, ніж Метрополіс, який проходить випадково. Це трапляється не часто (за моїм обмеженим досвідом), але може статися. Зрештою, ви вводите градієнти, які допомагають вам знайти свій шлях у просторі великого параметра, але ви також подвоюєте розмірність проблеми. Теоретично може трапитися так, що уповільнення через збільшення розмірності долає прискорення, що дається при експлуатації градієнтів. Також (і це висвітлено в роботі), якщо типовий набір має області з високою кривизною, HMC може "переступити", тобто він може почати відбирати непотрібні точки дуже далеко в хвости, які нічого не сприяють очікуванню. Однак, це викликає нестабільність симплектичного інтегратора, який використовується на практиці для чисельного впровадження HMC. Таким чином, така проблема легко діагностується.
Як згадував @JuhoKokkala в коментарях, високий рівень прийняття не обов'язково дає хороші показники. Швидкість прийняття Метрополіса Гастінгса може бути збільшена за рахунок скорочення розподілу пропозицій. Але це призведе до менших кроків, які потребують більш тривалого вивчення цільового розподілу. На практиці існує компроміс між розміром кроку та швидкістю прийняття, і потрібний належний баланс, щоб отримати хороші показники.
Гамільтонський Монте-Карло схильний перевершити Метрополіс Гастінгс, оскільки може досягти більш віддалених точок з більшою ймовірністю прийняття. Отже, питання: чому HMC, як правило, має більш високу ймовірність прийняття, ніж MH, для більш віддалених точок ?
У МЗ виникають проблеми з досягненням віддалених точок, оскільки його пропозиції складаються без використання інформації про цільовий розподіл. Розподіл пропозицій, як правило, є ізотропним (наприклад, симетричним гауссом). Отже, в кожній точці алгоритм намагається перемістити випадкову відстань у випадковому напрямку. Якщо відстань невелика відносно швидкості зміни цільового розподілу в цьому напрямку, є хороший шанс, що щільність у поточній та новій точках буде подібною, що дає хоча б розумний шанс прийняття. На більших відстанях розподіл цілі, можливо, дещо змінився відносно поточної точки. Таким чином, шанс випадкового пошуку точки з подібною або (сподіваємось) більшою щільністю може бути поганим, особливо в міру збільшення розмірності. Наприклад, якщо поточна точка лежить на вузькому хребті,
Навпаки, HMC використовує структуру цільового розподілу. Її механізм пропозиції можна думати з використанням фізичної аналогії, як описано в Нілі (2012). Уявіть, що шайба ковзає по горбистій поверхні без тертя. Розташування шайби представляє поточну точку, а висота поверхні представляє негативний журнал розподілу цілі. Для отримання нової запропонованої точки шайбі надається імпульс із випадковим напрямком і величиною, а потім її динаміка моделюється, коли вона ковзає по поверхні. Шайба буде прискорюватися в напрямку вниз, і сповільнюватися в напрямку в гору (можливо, навіть знову зупинятися і ковзати назад). Траєкторії, що рухаються збоку вздовж стіни долини, будуть кривими вниз. Отже, ландшафт сам впливає на траєкторію і тягне її до регіонів з більшою ймовірністю. Імпульс може дозволити шайбі гнутися над невеликими пагорбами, а також перекривати невеликі улоговини. Місце шайби через деяку кількість часових кроків дає нову запропоновану точку, яка приймається або відхиляється за допомогою стандартного правила Metropolis. Експлуатація цільового розподілу (та його градієнта) - це те, що дозволяє HMC досягти віддалених точок з високою швидкістю прийняття.
Ось хороший огляд:
Ніл (2012) . MCMC з використанням гамільтонової динаміки.