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 𝑥 , где
𝑘 𝑡 — монотонно возрастающая функция.
• Идея в том, что распределение вероятностей начинает-
ся с равномерного, и по мере семплирования становит-
ся всё более «контрастным».
• В конце концов отношения вероятностей становятся
столь велики, что алгоритм семплирования «заклинива-
ет» в какой-то точке, которую мы признаём искомым
экстремумом.