Алгоритм Метрополіса — Гастінгса![]() У статистиці та статистичній фізиці алгоритм Метрополіса – Гастінгса - це метод Монте-Карло Марковських ланцюгів (англ. MCMC) для отримання послідовності випадкових вибірок із таких розподілів, де звичайний прямий вибір є ускладненим. Цю послідовність можна використовувати для вгадування розподілу данних (наприклад, за допомогою гістограми ) або для обчислення інтеграла (наприклад, математичного сподівання). Метрополіс — Гастінгс та інші алгоритми МСМС, як правило, використовуються для вибірки із багатовимірних розподілів, особливо із великою кількістю розмірностей. Для одновимірних розподілів, як правило, використовуються інші методи (наприклад, вибірка з відхиленням), які можуть безпосередньо генерувати незалежні вибірки з розподілу, і ці вибірки не автокорельовані, що є проблемою методів MCMC. ІсторіяАлгоритм був названий на честь Ніколаса Метрополіса, який разом із Аріанною В. Розенблут, Маршаллом Розенблютом, Августою Х. Теллер та Едвардом Теллером написав у 1953 році статтю «Рівняння обчислень стану за допомогою швидких обчислювальних машин»[1]. Існує певна суперечка щодо авторства алгоритму. Метрополіс, який був знайомий з обчислювальними можливостями методу, ввів термін «Монте-Карло» у спільній із Станіславом Уламом статті. Він очолив групу у Теоретичному відділі, яка спроектувала та побудувала комп'ютер MANIAC I, який використовувався для експериментів в 1952 році. Однак, аж до 2003 року остаточної інформації про розробку алгоритму не було. Потім, незадовго до смерті, Маршалл Розенблут відвідав конференцію 2003 року в ЛАНЛ з нагоди 50-ї річниці публікації 1953 року. На цій конференції Розенблут описав алгоритм та його розробку у презентації під назвою «Генезіс алгоритму Монте-Карло для статистичної механіки»[2]. Подальші історичні роз'яснення робить Губернатіс у журнальній статті 2005 р.[3] Розенблут чітко дає зрозуміти, що він та його дружина Аріанна виконали цю роботу, і що Метрополіс не зіграв жодної ролі у розробці, крім надання комп'ютерного часу. Алгоритм Метрополіса — Гастінгса може генерувати вибірки з будь-якого розподілу ймовірностей , за умови, що ми знаємо функцію , пропорційну густині , тому значення можна розрахувати. Вимога, аби була пропорційна густині , а не точно їй рівна, робить алгоритм Метрополіса — Гастінгса особливо корисним, оскільки обчислення необхідного коефіцієнта нормалізації на практиці є часто надзвичайно складною задачею. Алгоритм Метрополіса — Гастінгса працює шляхом генерації послідовності значень вибірки таким чином, що чим більше значень згенеровано, тим більше розподіл цих значень наближається до невідомого розподілу . Ці значення вибірки генеруються ітеративно, причому розподіл наступної вибірки залежить лише від розподілу попередньої вібірки (таким чином, послідовність вибірки складається в ланцюжок Маркова). Потім, з певною ймовірністю, кандидат або приймається (у цьому випадку значення кандидата використовується в наступній ітерації), або відхиляється (у цьому випадку значення кандидата відкидається, а поточне значення використовується повторно в наступній ітерації) — ймовірність прийняття визначається порівнянням значень функції поточного та кандидатського значення вибірки щодо бажаного розподілу . З метою ілюстрації, описаний алгоритм Метрополіса, є особливим випадком алгоритму Метрополіс – Гастінгс, де допоміжний розподіл є симетричним. Метрополісів алгоритм (симетричний допоміжний розподіл) Нехай є функцією, пропорційною бажаному розподілу ймовірностей (він же цільовий розподіл).
Цей алгоритм виконується шляхом рандомного переміщення по простору, іноді роблячи крок, а іноді залишаючись на місці. Зверніть увагу, що коефіцієнт прийняття вказує, наскільки імовірна нова запропонована вибірка, враховуючи поточну вибірку, відповідно до розподілу . Якщо ми робимо крок до точки, яка є більш вірогідною, ніж точка, у якій ми знаходимося зараз (тобто точка в області більшої густини що відповідає ), ми робимо крок. Однак, якщо ми намагаємось перейти до менш вірогідної точки, вірогідніше, ми залишаємося на місці, і чим менше значення густини ймовірності, тим більша ймовірність відхилити нову точку і залишитися на місці. Таким чином, ми будемо прагнути залишатися в області високих значень густини , приймаючи велику кількість зразків із цієї області, при цьому лише зрідка відвідуючи регіони із низькими значеннями густини. Інтуїтивно, саме тому цей алгоритм працює і повертає вибірки, які мають цільовий розподіл . Порівняно з таким алгоритмом як вибірка з відхиленням[4] , який безпосередньо генерує незалежні вибірки з розподілу, Метрополіс – Гастінгс та інші алгоритми MCMC мають ряд недоліків:
З іншого боку, більшість простих методів відторгнення страждають від «проблеми розмірності», де ймовірність відхилення зростає в геометричній прогресії в залежності від кількості вимірів. Метрополіс — Гастінгс, поряд з іншими методами MCMC, так сильно не страждає від цієї проблеми, тому часто є єдиним доступним рішенням, коли вимірів розподілу, із якого генерується вибірка, багато. Як результат, методи MCMC часто використовуються для генерування вибірок з ієрархічних байєсівських моделей та інших високовимірних статистичних моделей, що використовуються сьогодні в багатьох дисциплінах. У багатовимірних розподілах класичний алгоритм Метрополіса — Гастінгса, як описано вище, передбачає вибір нового багатовимірного значення вибірки. Коли розмірність велика, знайти відповідний розподіл стрибків може бути не легко, оскільки окремо узяті виміри поводяться дуже по-різному, а ширина стрибка (див. вище) повинна підходити для усіх вимірів одночасно, щоб уникайте надмірно повільного перемішування. Альтернативний підхід, який часто працює краще в таких ситуаціях, відомий як Семплування за Гіббсом, передбачає генерування нової вибірки для кожного виміру окремо, а не для всіх вимірів одночасно. Метод часто використовується, коли багатовимірний розподіл складається з набору окремих випадкових величин, в яких кожна змінна зумовлена лише невеликою кількістю інших змінних, як, наприклад, у більшості типових ієрархічних моделях. Потім окремі змінні обираються по черзі, причому кожна змінна обирається на закладі найсвіжіших значень усіх інших. Для вибору цих окремих вирірок можуть бути використані різні алгоритми, в залежності від форми багатовимірного розподілу: наприклад, — вибірка з відхиленням[4], алгоритм вибірки з відхиленням Метрополіса[6], простий одновимірний Метрополіс — Гастінгув крок, або зрізове семплування . Формальне виведенняМетою алгоритму Метрополіс – Гастінгс є створення колекції станів відповідно до бажаного розподілу . Для цього алгоритм використовує ланцюги Маркова, які асимптотично досягають унікального стаціонарного розподілу такого, що [7]. Процес Маркова однозначно визначається його перехідними ймовірностями , ймовірність переходу з будь-якого даного стану до будь-якої іншої стану . Він має унікальний стаціонарний розподіл коли виконуються наступні дві умови[7]:
Алгоритм Метрополіс — Гастінгс передбачає розробку процесу Маркова (шляхом побудови ймовірностей переходу), який відповідає двом вищезазначеним умовам, таким чином, що його стаціонарний розподіл є . Виведення алгоритму починається з умови детального балансу: який переписується як Підхід полягає у розділенні переходу на два підкроки; пропозиція та прийняття-відхилення. Розподіл пропозиції - це умовна ймовірність пропозиції стану за умови стану . Розподіл прийняття це ймовірність прийняти запропонованого стану . Імовірність переходу можна записати як добуток: Вставивши це відношення в попереднє рівняння, маємо Наступним кроком є вибір коефіцієнта прийняття який відповідає наведеній вище умові. Одним із поширених варіантів є вибір Метрополіса: Для цього коефіцієнта прийняття Метрополіса , це або або і, в обох випадках, умова виконана. Таким чином, алгоритм Метрополіс – Гастінгс полягає у наступному:
За умови виконання заданих умов здійснюється емпіричний розподіл збережених станів наближуватиметься розподілу . Кількість ітерацій ( ), яка необхідна для ефективної оцінки залежить від кількості факторів, включаючи взаємозв'язок між і допоміжним розподілом, та бажаною точністю оцінки. [8] Для дискретних розподілів стану, вони повинні бути впорядкованою автокореляцією процесу Маркова[9]. Важливо зауважити, що в загальному невідомо, який розподіл слід використовувати або скільки необхідно ітерацій для правильної оцінки; це вільні параметри методу, які повинні обиратися відповідно до конкретної проблеми. де Ланцюг Маркова починається з довільного початкового значення , і алгоритм виконує багато ітерацій (приблизно 1000), поки цей початковий стан не буде «забутий». Ці значення відкидаються як прогорівші.Ті значення , що залишились, представляють сабою вирірку з розподілу . Покрокова інструкціяПрипустимо, що останнє значення вибірки — . За алгоритмом Метрополіса — Гастінгса, ми далі обираємо новий допоміжний стан з густиною імовірності і обчислюємо значення - це ймовірне (наприклад, байєсівське апостеріорне) співвідношення між запропонованою вибіркою і попередньою , а - це відношення допоміжної густини у двох напрямках (від до , і навпаки). Воно дорівнює 1, якщо допоміжна густина симетрична. Потім новий стан обирається згідно з наступними правилами.
Алгоритм працює краще, якщо допоміжна густина відповідає формі цільового розподілу , з якого безпосереднє просте пряме семплування є майже неможливим, тобто . Якщо використовується допоміжна густина Гауса , параметр дисперсії повинен бути налаштований під час прогорання. Зазвичай це робиться шляхом обчислення коефіцієнта приймання, який є часткою пропонованих значень, які приймаються серед останніх значень. Бажаний коефіцієнт прийняття залежить від цільового розподілу, проте теоретично було показано, що ідеальний коефіцієнт прийняття для одновимірного гауссового розподілу становить близько 50%, зменшуючись до приблизно 23% для -вимірного цільового Гаусовського розподілу[10]. Якщо занадто мала, ланцюг буде повільно змішуватися (тобто коефіцієнт прийняття буде високим, але обрані значення будуть повільно рухатися по простору, і ланцюг буде лише повільно конвергувати до ). З іншого боку, якщо занадто велика, коефіцієнт прийняття буде дуже низьким, оскільки значення, ймовірно, будуть обиратися із регіонів із набагато меншою густиною ймовірності, тому буде дуже маленьким, і знову ланцюг буде сходитися дуже повільно. Зазвичай налаштовують розподіл пропозицій таким чином, щоб алгоритми приймали близько 30 % усіх вибірок — відповідно до теоретичних оцінок, згаданих у попередньому параграфі. ![]() Дивитися також
Список літератури
|
Portal di Ensiklopedia Dunia