SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Семплирование на основе
марковских цепей
Сухинов А.А,
Сколковский институт науки и технологий
О чём пойдёт речь
Семплирование на основе марковских цепей
(Markov Chain Monte Carlo, MCMC) — семей-
ство алгоритмов, позволяющих получать ста-
тистически репрезентативные выборки из не-
которого многомерного распределения веро-
ятностей 𝑓 𝑥 . Они работают с функцией
𝑓 𝑥 , как с «чёрным ящиком», зачастую даже
не требуя нормировки этой функции.
Два вида математических моделей
Существуют два основных способа представления зависи-
мости между многомерными величинами 𝑥 и 𝑦:
• Генеративная статистическая модель — плотность рас-
пределения вероятностей
𝑓 𝑥, 𝑦 ,
позволяющая получать «полные» экземпляры 𝑥, 𝑦
моделируемого явления.
• Дискриминативная статистическая модель — условная
плотность распределения вероятностей
𝑓 𝑥 𝑦 ,
позволяющая получать распределение неизвестной
величины 𝑥 при известной величине 𝑦.
Дискриминативная модель
• Дискриминативная модель может быть полу-
чена из генеративной путём нормировки, ко-
торая приводит к выбрасыванию из модели
большого количества информации:
𝑓 𝑥 𝑦 =
𝑓 𝑥, 𝑦
𝑓 𝑦
, где 𝑓 𝑦 = 𝑓 𝑥, 𝑦 ⅆ 𝑥 .
• Именно дискриминативные модели обычно
получаются в результате машинного обучения.
Причём, чаще всего, 𝑥 является причиной
(гипотезой), а 𝑦 — наблюдаемым следствием.
Возможности применения
процедур семплирования
• Получение статистически репрезентативных экземпля-
ров явления из генеративной модели для расчёта стати-
стики.
• Учёт известных данных 𝑦 для изучения распределения
𝑓 𝑥 𝑦 , так как представление функции 𝑓 𝑥, 𝑦 может не
допускать простой подстановки в неё следствия 𝑦 при
неизвестной причине 𝑥 (например, байесовская сеть).
• Нахождение MAP-значений неизвестных параметров
модели.
• Решение абстрактной задачи многомерной оптимиза-
ции — нахождение такого значения 𝑥, при котором
функция 𝑓 𝑥 достигает значения, близкого к макси-
мальному.
Модель — «чёрный ящик»?
• Для эффективной работы с моделями 𝑓 𝑥, 𝑦 и
𝑓 𝑥 𝑦 их обычно хранят в виде разреженных
(малоранговых) представлений (байесовские и
марковские сети, деревья решений, нейрон-
ные сети с общими параметрами, тензорные
поезда и т.п.).
• Разреженные представления позволяют избе-
жать «экспонециального взрыва» при хране-
нии таких моделей, и позволяют их парамет-
ризовать с использованием разумного количе-
ства исходных данных.
Модель — «чёрный ящик»?
• Семплирование на основе марковских цепей
обычно не использует никаких предположе-
ний о свойствах и структуре изучаемой функ-
ции (кроме, быть может, предположения о её
положительности).
• Следует помнить, что для различных разре-
женных представлений статистических моде-
лей существуют более эффективные методы
семплирования и оптимизации, чем семпли-
рование на основе марковских цепей.
Свойства алгоритма семплирования
• Соответствие выдаваемых точек заданной ста-
тистической модели (Точное? Приближённое?
Как быстро сходится? При каких условиях?)
– «Время разогрева»: актуальная проблема при
больших размерностях и/или областях с малыми
вероятностями.
• Скорость убывания зависимости семплов при
увеличении расстояния между ними в цепи.
– Возможность изменения нескольких координат за
один шаг.
– Возможность перехода к далёким точкам.
Цепь Маркова
• Множество состояний 𝕏 (возможно, беско-
нечное, или даже несчётное).
• Между состояниями 𝑥, 𝑥′ ∈ 𝕏 определены
вероятности переходов 𝑇 𝑥 → 𝑥′ такие, что
для любого 𝑥
𝑇 𝑥 → 𝑥′ ⅆ 𝑥′ = 1.
Динамика марковской цепи
• Допустим, на шаге времени 𝑡 мы имеем
распределение вероятностей 𝑃 𝑡
𝑥 на мно-
жестве состояний 𝕏.
• Тогда на шаге 𝑡 + 1 распределение вероят-
ностей будет
𝑃 𝑡+1
𝑥′ = 𝑃 𝑡
𝑥 𝑇 𝑥 → 𝑥′ ⅆ𝑥 .
Регулярная цепь
• Цепь называется регулярной, если существует такое
число 𝑘, что ровно за 𝑘 шагов может быть осуществ-
лён переход между любыми двумя состояниями це-
пи.
• Достаточное условие регулярности: между любыми
двумя состояниями существует путь, и имеется воз-
можность перехода состояния самого в себя.
• На практике цепь может быть «слаборегулярной».
Это когда 𝑘 велико, или когда вероятности перехода
между любыми двумя состояниями за 𝑘 шагов
близки к нулю.
Стационарное распределение
• Это такое распределение вероятностей 𝜋 𝑥 , кото-
рое не меняется от шага к шагу:
𝜋 𝑥′ = 𝜋 𝑥 𝑇 𝑥 → 𝑥′ ⅆ 𝑥 .
• Теорема: регулярная марковская цепь имеет един-
ственное стационарное распределение, которое яв-
ляется пределом:
𝜋 𝑥 = lim
𝑡→∞
𝑃 𝑡 𝑥
для любого начального распределения вероятно-
стей 𝑃0
𝑥 .
Идея MCMC
Нужно составить такую марковскую цепь, ста-
ционарное распределение которой соответ-
ствует требуемому распределению. Есть мно-
го способов сделать это.
«Разогрев» марковской цепи
• Семплирование мы начинаем с некоторого начального
приближения 𝑥0
∈ 𝕏, при этом 𝑃0
𝑥 = 𝑥 = 𝑥0
.
• Семплы становятся репрезентативными (собираемая
статистика является верной), только когда 𝑃 𝑡
𝑥 ≈ 𝜋 𝑥 ,
то есть для достаточно больших 𝑡.
• Это означает, что несколько первых семплов (например,
10000 штук) нужно пропустить, прежде, чем начать со-
бирать статистику.
• Кстати, время разогрева цепи соответствует времени
корреляции между семплами. Поэтому цепи с низким
временем разогрева особенно полезны. Для «слаборе-
гулярных» цепей эти времена велики.
Детекция окончания разогрева
• Смотря только на получаемые семплы, это не-
возможно сделать.
• Однако можно с большой степенью уверенно-
сти утверждать, что разогрев наступил, если
вычисляемая статистика для нескольких це-
пей, запущенных из различных начальных со-
стояний, начинает быть похожей.
• Вообще, использование нескольких цепей
вместо одной — хорошая идея (меньше корре-
ляция семплов).
Цепь Гиббса
• Это простейший вариант MCMC.
• Дано многомерное распределение вероят-
ностей 𝑓 𝑥1, … , 𝑥 𝑛 , нужно выбрать из него
статистически репрезентативное множе-
ство точек 𝑥1
𝑡
, … , 𝑥 𝑛
𝑡
.
Цепь Гиббса
• Алгоритм перехода из одного состояния в
другое:
𝑥𝑖
𝑡+1
~𝑓 𝑥𝑖 𝑥1
𝑡+1
, … , 𝑥𝑖−1
𝑡+1
, 𝑥𝑖+1
𝑡
, … , 𝑥 𝑛
𝑡
.
• Другими словами:
– По очереди заменяем все компоненты нашей пе-
ременной, пользуясь семплированием из одно-
мерного распределения по аналогии с обновлени-
ем переменных в итерационном методе Зейделя.
– Когда все компоненты заменены, принимаем мно-
гомерную величину за новый семпл.
Цепь Гиббса
• Преимущества:
– Для многих разреженных представлений функции
𝑓 𝑥1, … , 𝑥 𝑛 алгоритм замены одной компоненты
оказывается простым.
– Легко учесть известные компоненты: их просто не
семплируем.
• Недостатки:
– Можно нарваться на слоборегулярную или вообще
нерегулярную цепь, особенно при наличии нулей
среди значений функции 𝑓 ⋅ .
– С ростом размерности задачи корреляция между
семплами возрастает.
Алгоритм Метрополиса – Гастингса
• Мощный алгоритм с большим простором
для творчества (последнее свойство многие
относят к недостаткам).
• Цепь Гиббса является частным случаем ал-
горитма Метрополиса – Гастингса.
Алгоритм Метрополиса – Гастингса
Состоит из двух компонент:
• Выбираемая исследователем функция/алгоритм пе-
реходов 𝑄 𝑥 → 𝑥′ , из которой легко проводить
семплирование (например, нормальное распреде-
ление).
• Функция «применимости перехода» A 𝑥 → 𝑥′ ∈
0,1 , зависящая от распределения вероятностей
𝑓 ⋅ и функции переходов 𝑄 ⋅ .
Функция 𝑄 ⋅ может вообще не зависеть от 𝑥 (напри-
мер, равномерное распределение на всём множестве
допустимых значений).
Алгоритм Метрополиса – Гастингса
Алгоритм перехода от известного состояния 𝑥 𝑡
к неко-
торому новому состоянию 𝑥 𝑡+1 :
• Выбрать возможное новое состояние 𝑥′, применив
алгоритм 𝑄 𝑥 → 𝑥′ .
• Принять новое состояние 𝑥′ с вероятностью
A 𝑥 → 𝑥′ : 𝑥 𝑡+1
= 𝑥′, или же отклонить состояние с
вероятностью 1 − A 𝑥 → 𝑥′ : 𝑥 𝑡+1 = 𝑥 𝑡.
Важно понимать, что в случае отклонения нового ва-
рианта «повторённый» семпл должен быть тоже
включён в статистику.
Алгоритм Метрополиса – Гастингса
Распространённая форма функции 𝐴 ⋅ :
A 𝑥 → 𝑥′ = min 1,
𝑓 𝑥′ ⋅ 𝑄 𝑥′ → 𝑥
𝑓 𝑥 ⋅ 𝑄 𝑥 → 𝑥′
.
Как видим, нет необходимости в нормировке
функций 𝑓 ⋅ и 𝑄 ⋅ , нужна только их положи-
тельность.
Простейший пример
Нужно генерировать одномерные семплы из отрезка 0,1 ,
причём вероятность выбора должна быть пропорциональ-
на некоторой функции 𝑓 𝑥 > 0.
• Начинаем с произвольной точки, например 𝑥0
= 0.5.
• Алгоритм перехода 𝑥 𝑡 → 𝑥 𝑡+1:
– Генерируем случайную точку 𝑥′ из равномерного распреде-
ления 0,1 (для равномерного распределения 𝑄 𝑥 =
𝑐𝑜𝑛𝑠𝑡).
– Если 𝑓 𝑥 > 𝑓 𝑥′ , то переходим к новой точке: 𝑥 𝑡+1
= 𝑥′.
– Если же 𝑓 𝑥 < 𝑓 𝑥′ , то переходим к новой точке с вероят-
ностью 𝑓 𝑥 /𝑓 𝑥′ , или же остаёмся на старой точке: 𝑥 𝑡+1
=
𝑥 𝑡
.
Имитация отжига
• Этот метод позволяет превратить статистическое сем-
плирование в алгоритм оптимизации — нахождения
«максимума» функции g 𝑥 .
• Идея метода проста: на шаге 𝑡 мы заменяем функцию
g 𝑥 распределением вероятности 𝑓 𝑥 = 𝑒 𝑘 𝑡 ⋅g 𝑥 , где
𝑘 𝑡 — монотонно возрастающая функция.
• Идея в том, что распределение вероятностей начинает-
ся с равномерного, и по мере семплирования становит-
ся всё более «контрастным».
• В конце концов отношения вероятностей становятся
столь велики, что алгоритм семплирования «заклинива-
ет» в какой-то точке, которую мы признаём искомым
экстремумом.

Weitere ähnliche Inhalte

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

Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—Шпильмана
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—ШпильманаЗадача о ближайшем кодовом слове. Коды Галлагера—Сипсера—Шпильмана
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—ШпильманаAlex Dainiak
 
Data Mining - lecture 6 - 2014
Data Mining - lecture 6 - 2014Data Mining - lecture 6 - 2014
Data Mining - lecture 6 - 2014Andrii Gakhov
 
Теоретический минимум для понимания Java Memory Model (для JPoint 2014)
Теоретический минимум для понимания Java Memory Model (для JPoint 2014)Теоретический минимум для понимания Java Memory Model (для JPoint 2014)
Теоретический минимум для понимания Java Memory Model (для JPoint 2014)Roman Elizarov
 
Алгоритмы и структуры данных осень 2013 лекция 7
Алгоритмы и структуры данных осень 2013 лекция 7Алгоритмы и структуры данных осень 2013 лекция 7
Алгоритмы и структуры данных осень 2013 лекция 7Technopark
 
Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана" Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана" Technosphere1
 
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"Nikolay Grebenshikov
 
МЕТОД ПРЕДСТАВЛЕНИЯ АВТОМАТОВ ЛИНЕЙНЫМИ БИНАРНЫМИ ГРАФАМИ ДЛЯ ИСПОЛЬЗОВАНИЯ В...
МЕТОД ПРЕДСТАВЛЕНИЯ АВТОМАТОВ ЛИНЕЙНЫМИ БИНАРНЫМИ ГРАФАМИ ДЛЯ ИСПОЛЬЗОВАНИЯ В...МЕТОД ПРЕДСТАВЛЕНИЯ АВТОМАТОВ ЛИНЕЙНЫМИ БИНАРНЫМИ ГРАФАМИ ДЛЯ ИСПОЛЬЗОВАНИЯ В...
МЕТОД ПРЕДСТАВЛЕНИЯ АВТОМАТОВ ЛИНЕЙНЫМИ БИНАРНЫМИ ГРАФАМИ ДЛЯ ИСПОЛЬЗОВАНИЯ В...ITMO University
 
Алгоритмы на ruby: жадные алгоритмы
Алгоритмы на ruby: жадные алгоритмыАлгоритмы на ruby: жадные алгоритмы
Алгоритмы на ruby: жадные алгоритмыEvgeny Smirnov
 
Yurii Gavrilin | ML Interpretability: From A to Z | Kazan ODSC Meetup
Yurii Gavrilin | ML Interpretability: From A to Z | Kazan ODSC MeetupYurii Gavrilin | ML Interpretability: From A to Z | Kazan ODSC Meetup
Yurii Gavrilin | ML Interpretability: From A to Z | Kazan ODSC MeetupProvectus
 
Г. И. Шишкин, Разностная схема повышенной точности на априорно адапти-.pdf
Г. И. Шишкин, Разностная схема повышенной точности на априорно адапти-.pdfГ. И. Шишкин, Разностная схема повышенной точности на априорно адапти-.pdf
Г. И. Шишкин, Разностная схема повышенной точности на априорно адапти-.pdfchieubelarus
 
Доклад на семинаре в лаборатории алгоритмической биологии АУ
Доклад на семинаре в лаборатории алгоритмической биологии АУДоклад на семинаре в лаборатории алгоритмической биологии АУ
Доклад на семинаре в лаборатории алгоритмической биологии АУFedor Tsarev
 
Исследование операций и методы оптимизации
Исследование операций и методы оптимизацииИсследование операций и методы оптимизации
Исследование операций и методы оптимизацииJakobow
 
Многопоточные Алгоритмы (для BitByte 2014)
Многопоточные Алгоритмы (для BitByte 2014)Многопоточные Алгоритмы (для BitByte 2014)
Многопоточные Алгоритмы (для BitByte 2014)Roman Elizarov
 
Моделирование|Обучение
Моделирование|ОбучениеМоделирование|Обучение
Моделирование|Обучениеfunkypublic
 

Ähnlich wie Семплирование на основе марковских цепей (17)

2020 03-31-lection
2020 03-31-lection2020 03-31-lection
2020 03-31-lection
 
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—Шпильмана
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—ШпильманаЗадача о ближайшем кодовом слове. Коды Галлагера—Сипсера—Шпильмана
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—Шпильмана
 
Data Mining - lecture 6 - 2014
Data Mining - lecture 6 - 2014Data Mining - lecture 6 - 2014
Data Mining - lecture 6 - 2014
 
Теоретический минимум для понимания Java Memory Model (для JPoint 2014)
Теоретический минимум для понимания Java Memory Model (для JPoint 2014)Теоретический минимум для понимания Java Memory Model (для JPoint 2014)
Теоретический минимум для понимания Java Memory Model (для JPoint 2014)
 
Алгоритмы и структуры данных осень 2013 лекция 7
Алгоритмы и структуры данных осень 2013 лекция 7Алгоритмы и структуры данных осень 2013 лекция 7
Алгоритмы и структуры данных осень 2013 лекция 7
 
Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана" Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана"
 
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"
 
МЕТОД ПРЕДСТАВЛЕНИЯ АВТОМАТОВ ЛИНЕЙНЫМИ БИНАРНЫМИ ГРАФАМИ ДЛЯ ИСПОЛЬЗОВАНИЯ В...
МЕТОД ПРЕДСТАВЛЕНИЯ АВТОМАТОВ ЛИНЕЙНЫМИ БИНАРНЫМИ ГРАФАМИ ДЛЯ ИСПОЛЬЗОВАНИЯ В...МЕТОД ПРЕДСТАВЛЕНИЯ АВТОМАТОВ ЛИНЕЙНЫМИ БИНАРНЫМИ ГРАФАМИ ДЛЯ ИСПОЛЬЗОВАНИЯ В...
МЕТОД ПРЕДСТАВЛЕНИЯ АВТОМАТОВ ЛИНЕЙНЫМИ БИНАРНЫМИ ГРАФАМИ ДЛЯ ИСПОЛЬЗОВАНИЯ В...
 
лекция 36
лекция 36лекция 36
лекция 36
 
Алгоритмы на ruby: жадные алгоритмы
Алгоритмы на ruby: жадные алгоритмыАлгоритмы на ruby: жадные алгоритмы
Алгоритмы на ruby: жадные алгоритмы
 
Yurii Gavrilin | ML Interpretability: From A to Z | Kazan ODSC Meetup
Yurii Gavrilin | ML Interpretability: From A to Z | Kazan ODSC MeetupYurii Gavrilin | ML Interpretability: From A to Z | Kazan ODSC Meetup
Yurii Gavrilin | ML Interpretability: From A to Z | Kazan ODSC Meetup
 
Г. И. Шишкин, Разностная схема повышенной точности на априорно адапти-.pdf
Г. И. Шишкин, Разностная схема повышенной точности на априорно адапти-.pdfГ. И. Шишкин, Разностная схема повышенной точности на априорно адапти-.pdf
Г. И. Шишкин, Разностная схема повышенной точности на априорно адапти-.pdf
 
Доклад на семинаре в лаборатории алгоритмической биологии АУ
Доклад на семинаре в лаборатории алгоритмической биологии АУДоклад на семинаре в лаборатории алгоритмической биологии АУ
Доклад на семинаре в лаборатории алгоритмической биологии АУ
 
Исследование операций и методы оптимизации
Исследование операций и методы оптимизацииИсследование операций и методы оптимизации
Исследование операций и методы оптимизации
 
Многопоточные Алгоритмы (для BitByte 2014)
Многопоточные Алгоритмы (для BitByte 2014)Многопоточные Алгоритмы (для BitByte 2014)
Многопоточные Алгоритмы (для BitByte 2014)
 
Mod Film
Mod FilmMod Film
Mod Film
 
Моделирование|Обучение
Моделирование|ОбучениеМоделирование|Обучение
Моделирование|Обучение
 

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

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