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

Схема создания байесовской модели

Есть четыре основных шага к созданию байесовской модели.

  1. Определите модель, которая наиболее разумно показывает, как данные могли быть созданы.
  2. Определите априорную, например определить параметры модели в терминах распределения
  3. Используйте наблюдения, чтобы построить функцию правдоподобия.
  4. Объедините вероятность и апостериорное распределение, чтобы создать апостериорное распределение.

Шаг 1. Определите модель

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

Каково же хорошее значение λ? Что ж, действительно приятным свойством распределения Пуассона является то, что λ представляет собой среднее значение. Джон считает, что его среднее значение будет около 4. Подстановка этого значения для λ дает следующую pmf.

Шаг 2. Определите предварительную

Следующим шагом является определение параметра нашей модели λ как распределения.

Лучшее предположение Джона - это среднее значение 4 (μ = 4), но он не очень уверен в своей оценке, поэтому мы отразим эту уверенность в нашем предыдущем. Мы выберем гамма-распределение, чтобы представить среднее значение, поэтому вскоре станет очевидным, почему это хороший выбор! Мы хотим отразить наше прежнее убеждение, что фактическое среднее значение около 4, поэтому мы выберем параметры для гамма-распределения, формы (𝑘) и масштаба (), чтобы среднее значение нашей гаммы распределение равно 4.

Пока мы выбираем 𝑘 = 4 и 𝜃 = 1. Поскольку μ = 𝑘𝜃 для гамма-распределения.

Построение этого гамма-распределения

Теперь выбор 𝑘 = 4 и 𝜃 = 1 не совсем произвольный. Здесь мы хотим выбрать значения, которые кодируют нашу неуверенность в нашем предположении. Если мы очень не уверены, мы выберем значения, которые сделают это распределение шире, отражая эту неопределенность.

Шаг 3. Постройте функцию правдоподобия

Функция правдоподобия для конкретного наблюдения равна 𝑃 (x | λ). Для нескольких наблюдений вы умножаете их вероятности вместе, так что вероятность становится:

Шаг 4: Рассчитайте апериорный

Теперь давайте воспользуемся теоремой Байеса, чтобы вычислить апостериор.

P (X) является константой, потому что значения X привязаны к наблюдениям. Уравнение считывает вероятность λ с учетом наших наблюдений X. Мы можем временно отказаться от члена знаменателя P (X), пока мы масштабируем распределение в конце. Теперь мы можем сказать, что левая часть пропорциональна правой части

Подставляя наши уравнения, мы получаем апостериорное распределение для λ:

Для простоты предположим, что мы наблюдаем 1 день, когда покупается 6 пирогов. Это уравнение упрощается до:

убедитесь, что мы повторно масштабируем распределение на некоторую константу C, чтобы оно интегрировалось до 1:

и объедините термины, чтобы получить апостериорное распределение:

Сопряженные приоры

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

В начале этого поста мы несколько произвольно выбрали значения для 𝑘 и 𝜃. Теперь обратите внимание, что выбор 𝑘 = 10 и 𝜃 = 0,5 дает нам апостериорную оценку!

что просто означает, что в нашем вычислении апостериорной функции мы выбираем C:

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

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

Построение нашего нового апостериорного распределения: