Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Семплирование на основе
марковских цепей
Сухинов А.А,
Сколковский институт науки и технологий
О чём пойдёт речь
Семплирование на основе марковских цепей
(Markov Chain Monte Carlo, MCMC) — семей-
ство алгоритмов, позв...
Два вида математических моделей
Существуют два основных способа представления зависи-
мости между многомерными величинами ...
Дискриминативная модель
• Дискриминативная модель может быть полу-
чена из генеративной путём нормировки, ко-
торая привод...
Возможности применения
процедур семплирования
• Получение статистически репрезентативных экземпля-
ров явления из генерати...
Модель — «чёрный ящик»?
• Для эффективной работы с моделями 𝑓 𝑥, 𝑦 и
𝑓 𝑥 𝑦 их обычно хранят в виде разреженных
(малорангов...
Модель — «чёрный ящик»?
• Семплирование на основе марковских цепей
обычно не использует никаких предположе-
ний о свойства...
Свойства алгоритма семплирования
• Соответствие выдаваемых точек заданной ста-
тистической модели (Точное? Приближённое?
К...
Цепь Маркова
• Множество состояний 𝕏 (возможно, беско-
нечное, или даже несчётное).
• Между состояниями 𝑥, 𝑥′ ∈ 𝕏 определе...
Динамика марковской цепи
• Допустим, на шаге времени 𝑡 мы имеем
распределение вероятностей 𝑃 𝑡
𝑥 на мно-
жестве состояний ...
Регулярная цепь
• Цепь называется регулярной, если существует такое
число 𝑘, что ровно за 𝑘 шагов может быть осуществ-
лён...
Стационарное распределение
• Это такое распределение вероятностей 𝜋 𝑥 , кото-
рое не меняется от шага к шагу:
𝜋 𝑥′ = 𝜋 𝑥 𝑇...
Идея MCMC
Нужно составить такую марковскую цепь, ста-
ционарное распределение которой соответ-
ствует требуемому распредел...
«Разогрев» марковской цепи
• Семплирование мы начинаем с некоторого начального
приближения 𝑥0
∈ 𝕏, при этом 𝑃0
𝑥 = 𝑥 = 𝑥0
...
Детекция окончания разогрева
• Смотря только на получаемые семплы, это не-
возможно сделать.
• Однако можно с большой степ...
Цепь Гиббса
• Это простейший вариант MCMC.
• Дано многомерное распределение вероят-
ностей 𝑓 𝑥1, … , 𝑥 𝑛 , нужно выбрать и...
Цепь Гиббса
• Алгоритм перехода из одного состояния в
другое:
𝑥𝑖
𝑡+1
~𝑓 𝑥𝑖 𝑥1
𝑡+1
, … , 𝑥𝑖−1
𝑡+1
, 𝑥𝑖+1
𝑡
, … , 𝑥 𝑛
𝑡
.
• ...
Цепь Гиббса
• Преимущества:
– Для многих разреженных представлений функции
𝑓 𝑥1, … , 𝑥 𝑛 алгоритм замены одной компоненты
...
Алгоритм Метрополиса – Гастингса
• Мощный алгоритм с большим простором
для творчества (последнее свойство многие
относят к...
Алгоритм Метрополиса – Гастингса
Состоит из двух компонент:
• Выбираемая исследователем функция/алгоритм пе-
реходов 𝑄 𝑥 →...
Алгоритм Метрополиса – Гастингса
Алгоритм перехода от известного состояния 𝑥 𝑡
к неко-
торому новому состоянию 𝑥 𝑡+1 :
• В...
Алгоритм Метрополиса – Гастингса
Распространённая форма функции 𝐴 ⋅ :
A 𝑥 → 𝑥′ = min 1,
𝑓 𝑥′ ⋅ 𝑄 𝑥′ → 𝑥
𝑓 𝑥 ⋅ 𝑄 𝑥 → 𝑥′
.
К...
Простейший пример
Нужно генерировать одномерные семплы из отрезка 0,1 ,
причём вероятность выбора должна быть пропорционал...
Имитация отжига
• Этот метод позволяет превратить статистическое сем-
плирование в алгоритм оптимизации — нахождения
«макс...
Nächste SlideShare
Wird geladen in …5
×

Семплирование на основе марковских цепей

Описаны методы стохастического семплирования многомерных распределений вероятностей, основанные на марковских цепях.

  • Loggen Sie sich ein, um Kommentare anzuzeigen.

Семплирование на основе марковских цепей

  1. 1. Семплирование на основе марковских цепей Сухинов А.А, Сколковский институт науки и технологий
  2. 2. О чём пойдёт речь Семплирование на основе марковских цепей (Markov Chain Monte Carlo, MCMC) — семей- ство алгоритмов, позволяющих получать ста- тистически репрезентативные выборки из не- которого многомерного распределения веро- ятностей 𝑓 𝑥 . Они работают с функцией 𝑓 𝑥 , как с «чёрным ящиком», зачастую даже не требуя нормировки этой функции.
  3. 3. Два вида математических моделей Существуют два основных способа представления зависи- мости между многомерными величинами 𝑥 и 𝑦: • Генеративная статистическая модель — плотность рас- пределения вероятностей 𝑓 𝑥, 𝑦 , позволяющая получать «полные» экземпляры 𝑥, 𝑦 моделируемого явления. • Дискриминативная статистическая модель — условная плотность распределения вероятностей 𝑓 𝑥 𝑦 , позволяющая получать распределение неизвестной величины 𝑥 при известной величине 𝑦.
  4. 4. Дискриминативная модель • Дискриминативная модель может быть полу- чена из генеративной путём нормировки, ко- торая приводит к выбрасыванию из модели большого количества информации: 𝑓 𝑥 𝑦 = 𝑓 𝑥, 𝑦 𝑓 𝑦 , где 𝑓 𝑦 = 𝑓 𝑥, 𝑦 ⅆ 𝑥 . • Именно дискриминативные модели обычно получаются в результате машинного обучения. Причём, чаще всего, 𝑥 является причиной (гипотезой), а 𝑦 — наблюдаемым следствием.
  5. 5. Возможности применения процедур семплирования • Получение статистически репрезентативных экземпля- ров явления из генеративной модели для расчёта стати- стики. • Учёт известных данных 𝑦 для изучения распределения 𝑓 𝑥 𝑦 , так как представление функции 𝑓 𝑥, 𝑦 может не допускать простой подстановки в неё следствия 𝑦 при неизвестной причине 𝑥 (например, байесовская сеть). • Нахождение MAP-значений неизвестных параметров модели. • Решение абстрактной задачи многомерной оптимиза- ции — нахождение такого значения 𝑥, при котором функция 𝑓 𝑥 достигает значения, близкого к макси- мальному.
  6. 6. Модель — «чёрный ящик»? • Для эффективной работы с моделями 𝑓 𝑥, 𝑦 и 𝑓 𝑥 𝑦 их обычно хранят в виде разреженных (малоранговых) представлений (байесовские и марковские сети, деревья решений, нейрон- ные сети с общими параметрами, тензорные поезда и т.п.). • Разреженные представления позволяют избе- жать «экспонециального взрыва» при хране- нии таких моделей, и позволяют их парамет- ризовать с использованием разумного количе- ства исходных данных.
  7. 7. Модель — «чёрный ящик»? • Семплирование на основе марковских цепей обычно не использует никаких предположе- ний о свойствах и структуре изучаемой функ- ции (кроме, быть может, предположения о её положительности). • Следует помнить, что для различных разре- женных представлений статистических моде- лей существуют более эффективные методы семплирования и оптимизации, чем семпли- рование на основе марковских цепей.
  8. 8. Свойства алгоритма семплирования • Соответствие выдаваемых точек заданной ста- тистической модели (Точное? Приближённое? Как быстро сходится? При каких условиях?) – «Время разогрева»: актуальная проблема при больших размерностях и/или областях с малыми вероятностями. • Скорость убывания зависимости семплов при увеличении расстояния между ними в цепи. – Возможность изменения нескольких координат за один шаг. – Возможность перехода к далёким точкам.
  9. 9. Цепь Маркова • Множество состояний 𝕏 (возможно, беско- нечное, или даже несчётное). • Между состояниями 𝑥, 𝑥′ ∈ 𝕏 определены вероятности переходов 𝑇 𝑥 → 𝑥′ такие, что для любого 𝑥 𝑇 𝑥 → 𝑥′ ⅆ 𝑥′ = 1.
  10. 10. Динамика марковской цепи • Допустим, на шаге времени 𝑡 мы имеем распределение вероятностей 𝑃 𝑡 𝑥 на мно- жестве состояний 𝕏. • Тогда на шаге 𝑡 + 1 распределение вероят- ностей будет 𝑃 𝑡+1 𝑥′ = 𝑃 𝑡 𝑥 𝑇 𝑥 → 𝑥′ ⅆ𝑥 .
  11. 11. Регулярная цепь • Цепь называется регулярной, если существует такое число 𝑘, что ровно за 𝑘 шагов может быть осуществ- лён переход между любыми двумя состояниями це- пи. • Достаточное условие регулярности: между любыми двумя состояниями существует путь, и имеется воз- можность перехода состояния самого в себя. • На практике цепь может быть «слаборегулярной». Это когда 𝑘 велико, или когда вероятности перехода между любыми двумя состояниями за 𝑘 шагов близки к нулю.
  12. 12. Стационарное распределение • Это такое распределение вероятностей 𝜋 𝑥 , кото- рое не меняется от шага к шагу: 𝜋 𝑥′ = 𝜋 𝑥 𝑇 𝑥 → 𝑥′ ⅆ 𝑥 . • Теорема: регулярная марковская цепь имеет един- ственное стационарное распределение, которое яв- ляется пределом: 𝜋 𝑥 = lim 𝑡→∞ 𝑃 𝑡 𝑥 для любого начального распределения вероятно- стей 𝑃0 𝑥 .
  13. 13. Идея MCMC Нужно составить такую марковскую цепь, ста- ционарное распределение которой соответ- ствует требуемому распределению. Есть мно- го способов сделать это.
  14. 14. «Разогрев» марковской цепи • Семплирование мы начинаем с некоторого начального приближения 𝑥0 ∈ 𝕏, при этом 𝑃0 𝑥 = 𝑥 = 𝑥0 . • Семплы становятся репрезентативными (собираемая статистика является верной), только когда 𝑃 𝑡 𝑥 ≈ 𝜋 𝑥 , то есть для достаточно больших 𝑡. • Это означает, что несколько первых семплов (например, 10000 штук) нужно пропустить, прежде, чем начать со- бирать статистику. • Кстати, время разогрева цепи соответствует времени корреляции между семплами. Поэтому цепи с низким временем разогрева особенно полезны. Для «слаборе- гулярных» цепей эти времена велики.
  15. 15. Детекция окончания разогрева • Смотря только на получаемые семплы, это не- возможно сделать. • Однако можно с большой степенью уверенно- сти утверждать, что разогрев наступил, если вычисляемая статистика для нескольких це- пей, запущенных из различных начальных со- стояний, начинает быть похожей. • Вообще, использование нескольких цепей вместо одной — хорошая идея (меньше корре- ляция семплов).
  16. 16. Цепь Гиббса • Это простейший вариант MCMC. • Дано многомерное распределение вероят- ностей 𝑓 𝑥1, … , 𝑥 𝑛 , нужно выбрать из него статистически репрезентативное множе- ство точек 𝑥1 𝑡 , … , 𝑥 𝑛 𝑡 .
  17. 17. Цепь Гиббса • Алгоритм перехода из одного состояния в другое: 𝑥𝑖 𝑡+1 ~𝑓 𝑥𝑖 𝑥1 𝑡+1 , … , 𝑥𝑖−1 𝑡+1 , 𝑥𝑖+1 𝑡 , … , 𝑥 𝑛 𝑡 . • Другими словами: – По очереди заменяем все компоненты нашей пе- ременной, пользуясь семплированием из одно- мерного распределения по аналогии с обновлени- ем переменных в итерационном методе Зейделя. – Когда все компоненты заменены, принимаем мно- гомерную величину за новый семпл.
  18. 18. Цепь Гиббса • Преимущества: – Для многих разреженных представлений функции 𝑓 𝑥1, … , 𝑥 𝑛 алгоритм замены одной компоненты оказывается простым. – Легко учесть известные компоненты: их просто не семплируем. • Недостатки: – Можно нарваться на слоборегулярную или вообще нерегулярную цепь, особенно при наличии нулей среди значений функции 𝑓 ⋅ . – С ростом размерности задачи корреляция между семплами возрастает.
  19. 19. Алгоритм Метрополиса – Гастингса • Мощный алгоритм с большим простором для творчества (последнее свойство многие относят к недостаткам). • Цепь Гиббса является частным случаем ал- горитма Метрополиса – Гастингса.
  20. 20. Алгоритм Метрополиса – Гастингса Состоит из двух компонент: • Выбираемая исследователем функция/алгоритм пе- реходов 𝑄 𝑥 → 𝑥′ , из которой легко проводить семплирование (например, нормальное распреде- ление). • Функция «применимости перехода» A 𝑥 → 𝑥′ ∈ 0,1 , зависящая от распределения вероятностей 𝑓 ⋅ и функции переходов 𝑄 ⋅ . Функция 𝑄 ⋅ может вообще не зависеть от 𝑥 (напри- мер, равномерное распределение на всём множестве допустимых значений).
  21. 21. Алгоритм Метрополиса – Гастингса Алгоритм перехода от известного состояния 𝑥 𝑡 к неко- торому новому состоянию 𝑥 𝑡+1 : • Выбрать возможное новое состояние 𝑥′, применив алгоритм 𝑄 𝑥 → 𝑥′ . • Принять новое состояние 𝑥′ с вероятностью A 𝑥 → 𝑥′ : 𝑥 𝑡+1 = 𝑥′, или же отклонить состояние с вероятностью 1 − A 𝑥 → 𝑥′ : 𝑥 𝑡+1 = 𝑥 𝑡. Важно понимать, что в случае отклонения нового ва- рианта «повторённый» семпл должен быть тоже включён в статистику.
  22. 22. Алгоритм Метрополиса – Гастингса Распространённая форма функции 𝐴 ⋅ : A 𝑥 → 𝑥′ = min 1, 𝑓 𝑥′ ⋅ 𝑄 𝑥′ → 𝑥 𝑓 𝑥 ⋅ 𝑄 𝑥 → 𝑥′ . Как видим, нет необходимости в нормировке функций 𝑓 ⋅ и 𝑄 ⋅ , нужна только их положи- тельность.
  23. 23. Простейший пример Нужно генерировать одномерные семплы из отрезка 0,1 , причём вероятность выбора должна быть пропорциональ- на некоторой функции 𝑓 𝑥 > 0. • Начинаем с произвольной точки, например 𝑥0 = 0.5. • Алгоритм перехода 𝑥 𝑡 → 𝑥 𝑡+1: – Генерируем случайную точку 𝑥′ из равномерного распреде- ления 0,1 (для равномерного распределения 𝑄 𝑥 = 𝑐𝑜𝑛𝑠𝑡). – Если 𝑓 𝑥 > 𝑓 𝑥′ , то переходим к новой точке: 𝑥 𝑡+1 = 𝑥′. – Если же 𝑓 𝑥 < 𝑓 𝑥′ , то переходим к новой точке с вероят- ностью 𝑓 𝑥 /𝑓 𝑥′ , или же остаёмся на старой точке: 𝑥 𝑡+1 = 𝑥 𝑡 .
  24. 24. Имитация отжига • Этот метод позволяет превратить статистическое сем- плирование в алгоритм оптимизации — нахождения «максимума» функции g 𝑥 . • Идея метода проста: на шаге 𝑡 мы заменяем функцию g 𝑥 распределением вероятности 𝑓 𝑥 = 𝑒 𝑘 𝑡 ⋅g 𝑥 , где 𝑘 𝑡 — монотонно возрастающая функция. • Идея в том, что распределение вероятностей начинает- ся с равномерного, и по мере семплирования становит- ся всё более «контрастным». • В конце концов отношения вероятностей становятся столь велики, что алгоритм семплирования «заклинива- ет» в какой-то точке, которую мы признаём искомым экстремумом.

×