Вводное руководство по методу Монте-Карло с цепями Маркова, которое могут прочитать новички.

искусственный интеллект игра Medium

из среды

Автор: Бен Шейвер

Сборник "Сердце машины"

Участие: Хуан Сяотянь, Лю Сяокунь

Среди многих классических байесовских методов метод Монте-Карло с цепями Маркова (MCMC) является особенно особенным, поскольку он содержит много математических знаний и требует больших вычислительных ресурсов. Эта статья делает противоположное, пытаясь помочь читателям получить интуитивное понимание MCMC с помощью метода, который легко понять и не содержит математического языка, чтобы люди, не имеющие математической основы, могли понять MCMC.

Для многих из нас байесовские статистики — либо волшебники, либо абсолютно субъективная чушь. Среди байесовских классических методов особенно загадочна цепь Маркова Монте-Карло (MCMC), в которой много математики и большое количество вычислений, но принципы, лежащие в ее основе, имеют много общего с наукой о данных и могут быть объяснены. ясно, чтобы люди, не имеющие математической основы, могли понять MCMC. Именно в этом состоит цель данной статьи.

Итак, что же такое метод MCMC? В двух словах:

MCMC аппроксимирует апостериорное распределение интересующего параметра путем случайной выборки в вероятностном пространстве.

Я собираюсь дать краткое и ясное объяснение в этой статье, не прибегая к каким-либо математическим знаниям.

Во-первых, объясните важные термины. «Параметр интереса» может суммировать некоторое количество интересующих нас явлений. Обычно мы используем параметры статистической оценки, например, если мы хотим узнать рост взрослых, интересующим нас параметром может быть средний рост с точностью до дюймов. «Распределение» — это математическое представление каждого возможного значения параметра и вероятности того, что мы наблюдаем каждый параметр, самым известным примером которого является кривая нормального распределения:

В байесовской статистике есть и другая интерпретация распределения. Вместо того, чтобы просто характеризовать значение параметра и вероятность того, что каждый параметр верен, байесовский подход рассматривает распределение как наше «убеждение» о параметре. Таким образом, колоколообразная кривая показывает, что мы почти уверены в том, что значение параметра довольно близко к нулю, но мы думаем, что истинное значение с равной вероятностью будет в некоторой степени выше или ниже этого значения.

На самом деле рост человека соответствует нормальной кривой, поэтому мы предполагаем, что истинное значение среднего роста соответствует колоколообразной кривой, а именно:

Очевидно, что приведенный выше график представляет собой распределение роста гигантов, поскольку наиболее вероятный средний рост составляет 6 футов 2 дюйма из графика (но они также не очень уверены).

Предположим, что один из этих людей позже собирает некоторые данные и наблюдает за людьми ростом от 5 до 6 дюймов. Мы можем охарактеризовать приведенные ниже данные другой нормальной кривой, которая показывает, какие средние значения высоты лучше всего объясняют данные:

В байесовской статистике распределение, которое характеризует наши представления о параметре, называется «априорным распределением», поскольку оно фиксирует наши убеждения до того, как мы увидим какие-либо данные. «Распределение правдоподобия» обобщает информацию в данных, характеризуя вероятность последовательности значений параметров и сопровождающее значение каждого параметра, объясняющее вероятность наблюдаемых данных. Оценка значений параметров, максимизирующих распределение правдоподобия, просто отвечает на вопрос: какие значения параметров повысят вероятность того, что мы будем наблюдать данные, которые мы уже наблюдали? Возможно, мы не сможем оценить это без предварительных убеждений.

Однако ключом к байесовскому анализу является объединение априорного распределения с вероятностным распределением для определения апостериорного распределения. Он сообщает нам, какое значение параметра максимизирует вероятность наблюдения определенного фрагмента данных, который уже наблюдался, с учетом предыдущих убеждений. В нашем случае апостериорное распределение выглядит так:

Как показано выше, красная линия характеризует апостериорное распределение. Вы можете думать об этом как о своего рода среднем априорном и вероятностном распределении. Поскольку априорное распределение меньше и более расплывчато, оно характеризует набор «менее определенных» представлений об истинном значении среднего роста. В то же время распределение правдоподобия обобщает данные в относительно узком диапазоне, поэтому характеризует «более достоверное» предположение об истинном значении параметра.

Когда априорные данные объединяются с распределением правдоподобия, данные (представленные распределением правдоподобия) доминируют над слабыми априорными убеждениями людей, которые, как предполагается, существуют среди этих гигантов. Хотя субъект по-прежнему считает, что средний рост немного выше, чем говорят ему данные, он, скорее всего, будет убежден этими данными.

В случае двух колоколообразных кривых найти апостериорное распределение довольно просто. Существует простое уравнение, которое объединяет их. Но что, если наше априорное распределение и распределение правдоподобия работают плохо? Иногда нередуцированные формы используются для моделирования данных или предыдущих убеждений, которые являются наиболее точными. Что, если для распределения правдоподобия требуется распределение с двумя пиками, чтобы лучше всего охарактеризовать его? А мы почему-то хотим объяснить какие-то очень странные априорные дистрибутивы? Я визуализировал сценарий, вручную нарисовав уродливое предварительное распределение следующим образом:

Визуализация, созданная Matplotlib и улучшенная с помощью MS Paint.


Как упоминалось ранее, существуют некоторые апостериорные распределения, которые дают распределение вероятности каждого значения параметра. Но полное распределение получить сложно, и его нельзя решить аналитически. Настало время использовать метод MCMC.

MCMC позволяет оценить форму апостериорного распределения в ситуациях, когда его нельзя вычислить напрямую. Чтобы понять, как это работает, я сначала расскажу о моделировании методом Монте-Карло, а затем обсужу цепи Маркова.

Моделирование методом Монте-Карло — это всего лишь способ оценки фиксированных параметров путем непрерывной генерации случайных чисел. Генерируя случайные числа и выполняя над ними некоторые вычисления, моделирование методом Монте-Карло дает аппроксимацию параметра (где прямое вычисление либо невозможно, либо требует слишком больших вычислительных ресурсов).

Предположим, мы хотим оценить площадь круга на изображении ниже:

Поскольку круг находится внутри квадрата со стороной 10 дюймов, простой расчет показывает, что его площадь составляет 78,5 квадратных дюймов. Однако, если мы случайно разместим внутри квадрата 20 точек, то посчитаем долю точек, попадающих внутрь круга, и умножим на площадь квадрата, результат будет очень близок к площади круга .

Поскольку 15 точек попадают в круг, площадь круга может составлять примерно 75 квадратных дюймов, что неплохо для симуляции Монте-Карло всего с 20 случайными точками.

Теперь предположим, что мы хотим вычислить площадь графика, нарисованного уравнением Бэтмена на следующем рисунке:

Мы никогда не учили уравнение, чтобы найти такую ​​площадь. В любом случае, симуляции Монте-Карло могут довольно легко дать приближение к области, помещая случайные точки в случайном порядке.

Моделирование методом Монте-Карло предназначено не только для оценки площади сложных форм. Его также можно использовать для моделирования очень сложных процессов путем генерации большого количества случайных чисел. Фактически, симуляции Монте-Карло также могут предсказывать погоду или оценивать вероятность победы на выборах.

Второй элемент для понимания метода MCMC — это цепи Маркова. Цепь Маркова состоит из последовательности событий с вероятностными корреляциями. Каждое событие происходит из набора результатов, каждый из которых определяет, что произойдет дальше, в соответствии с фиксированным набором вероятностей.

Важной особенностью цепей Маркова является «безпамятность»: все, что может понадобиться для предсказания следующего раза, уже содержится в текущем состоянии, без какой-либо новой информации из истории событий. Например, игра «Ловушки и лестницы» демонстрирует отсутствие памяти, или марковость, но очень немногие вещи в реальном мире обладают этим свойством. Тем не менее, цепи Маркова также являются мощным инструментом для понимания реального мира.

В девятнадцатом веке было замечено, что кривая нормального распределения является очень распространенным явлением в природе. (Мы отмечаем, например, что рост человека соответствует распределению кривой колокола.) Galton Boards смоделировал среднее значение повторяющихся случайных событий, бросая шарики через доску, полную дюбелей, в окончательном распределении чисел шариков. Кривая колокола воспроизводится :

Русский математик и теолог Павел Некрасов утверждает, что кривая нормального распределения, или, в более общем смысле, закон больших чисел, есть не что иное, как артефакт в детских играх и обычных головоломках, где каждое событие совершенно не зависит друг от друга. Он утверждает, что взаимозависимые события в реальном мире, такие как человеческое поведение, не следуют красивым математическим закономерностям или распределениям.

Андрей Марков (в честь которого названа цепь Маркова) пытается показать, что ненезависимые события также могут следовать определенным закономерностям. Один из его самых известных примеров — подсчет тысяч пар из двух символов из произведения русской поэзии. Используя эти пары двух символов, он вычислил условную вероятность каждого символа. То есть, учитывая определенную выше букву или пробел, существует определенная вероятность того, что следующей буквой будет А, Т или пробел и т. д. С этими вероятностями Марков может смоделировать произвольно длинную последовательность символов. Это цепь Маркова. В то время как первые несколько символов сильно зависели от выбора начального символа, Марков показал, что в длинных последовательностях символов распределение символов проявляется в определенном порядке. Таким образом, даже взаимозависимые события, если они подчиняются фиксированному распределению вероятностей, будут следовать шаблону среднего уровня.

Для более значимого примера представьте, что вы живете в 5-комнатном доме со спальней, ванной комнатой, гостиной, кухней и столовой. Затем мы собираем некоторые данные, предполагая, что только текущая комната, в которой вы находитесь, и соответствующее время могут предсказать вероятность следующей комнаты, в которой вы находитесь. Например, если вы находитесь на кухне, у вас есть 30% шанс остаться на кухне, 30% шанс пойти в столовую, 20% шанс пойти в гостиную, 10% шанс пойти в ванную и с вероятностью 10% в спальню. Используя набор вероятностей для каждой комнаты, мы можем построить цепочку предсказаний того, в какую комнату вы пойдете следующей.

Если вы хотите предсказать, в какой комнате человек будет находиться после кухни, может быть полезно делать прогнозы на основе нескольких состояний. Но поскольку наши предсказания основаны только на единичном наблюдении за человеком в доме, разумно предположить, что предсказания недостаточно хороши. Например, если человек идет из спальни в ванную, он с большей вероятностью вернется в исходную комнату, чем если бы он пошел из кухни в ванную. Так что цепи Маркова на самом деле не работают в реальном мире.

Однако итеративное прогон цепи Маркова тысячи раз действительно дает долгосрочные прогнозы относительно комнаты, в которой вы можете оказаться следующей. Более того, на это предсказание не повлияла комната, в которой человек начал. Это можно понять интуитивно, так как фактор времени не имеет значения при моделировании и описании вероятности долговременного процесса (или общей ситуации) в помещении, в котором находится человек. Следовательно, если мы понимаем вероятность контролирующего поведения, мы можем использовать цепи Маркова для расчета долгосрочной тенденции изменения.

Надеюсь, введение некоторых симуляций Монте-Карло и цепей Маркова даст вам более интуитивное понимание нулевой математической интерпретации метода MCMC.

Возвращаясь к исходному вопросу, который заключается в оценке апостериорного распределения среднего роста:

Этот пример апостериорного распределения среднего роста не основан на реальных данных.


Мы знаем, что апостериорное распределение каким-то образом находится в пределах границ априорного распределения и распределения правдоподобия, но его все равно нельзя рассчитать напрямую. Используя метод MCMC, мы можем эффективно извлекать выборки из апостериорного распределения, а затем вычислять статистические характеристики, такие как среднее значение извлеченных выборок.

Во-первых, метод MCMC выбирает случайное значение параметра. Случайные значения постоянно генерируются во время моделирования (т. е. части Монте-Карло) с учетом определенных правил, которые генерируют лучшие значения параметров. То есть для пары значений параметра можно определить, какое значение лучше, вычислив, насколько хорошо каждое значение объясняет данные с заданной априорной достоверностью. Мы добавим лучшее значение параметра в цепочку значений параметров (т.е. часть цепи Маркова) с определенной вероятностью, определяемой достоверностью пояснительных данных для этого значения.

Чтобы наглядно объяснить описанный выше процесс, сначала подчеркнем, что высота определенного значения распределения представляет собой вероятность наблюдения этого значения. Следовательно, вероятность (ось Y), соответствующая значению параметра (ось X), может быть выше или ниже. Для одного параметра метод MCMC начинается со случайной выборки по оси x.

Красные точки представляют случайную выборку параметров.


Поскольку случайные выборки подчиняются фиксированным вероятностям, они имеют тенденцию со временем сходиться к областям параметров с высокой вероятностью:

Синие точки представляют случайную выборку в любое время после того, как выборка сошлась. Примечание. Стек точек по вертикали предназначен только для иллюстрации.


После сходимости выборка MCMC приводит к ряду точек, которые являются выборками из апостериорного распределения. Постройте гистограмму с этими точками, затем вы сможете вычислить любую интересующую вас статистическую характеристику:

Любая статистическая характеристика, вычисленная из выборки, созданной с помощью моделирования MCMC, является наилучшей аппроксимацией статистической характеристики истинного апостериорного распределения.


Метод MCMC можно также использовать для оценки апостериорного распределения более чем одного параметра (например, роста и веса человека). Для n параметров существуют области высокой вероятности в n-мерном пространстве, где конкретный набор значений параметров может более эффективно объяснить данные. Поэтому я думаю, что суть метода MCMC заключается в случайной выборке в вероятностном пространстве для аппроксимации апостериорного распределения.

Оригинальная ссылка:к data science.com/ah-zero-math…