В последнее время я много работаю с пиротехникой, пытаясь осмыслить вариационные методы и статистическое машинное обучение. Методы вариационного байеса (VB) - отличный способ решить трудноразрешимые проблемы, которые произвели революцию в области статистического машинного обучения. До появления методов VB использование байесовского вывода требовало тщательного выбора распределений, чтобы вывод был аналитически управляемым. Чтобы сформировать некоторую интуицию вокруг VB, я рассмотрю некоторые аналитически поддающиеся обработке подходы к байесовскому выводу. Полный код этого поста можно увидеть здесь
Схема создания байесовской модели
Есть четыре основных шага к созданию байесовской модели.
- Определите модель, которая наиболее разумно показывает, как данные могли быть созданы.
- Определите априорную, например определить параметры модели в терминах распределения
- Используйте наблюдения, чтобы построить функцию правдоподобия.
- Объедините вероятность и апостериорное распределение, чтобы создать апостериорное распределение.
Шаг 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:
Это не было случайностью, на самом деле, именно по этой причине я выбрал гамма-распределение в качестве априорного. Сопряженное априорное распределение пуассоина - это гамма-распределение, и всякий раз, когда вы выбираете сопряженное априорное распределение, апостериорное всегда будет иметь ту же форму, что и предыдущее.
Если мы на мгновение отступим назад, то увидим, что, используя сопряженное априорное значение, мы генерируем апостериор, обновляя параметры нашего априорного значения, отражая новое среднее значение и уровень достоверности, в зависимости от количества наблюдаемых данные. По мере того, как мы наблюдаем больше точек данных, 𝑘 и 𝜃 обновляются таким образом, чтобы уменьшить ширину нашего апостериорного распределения, что указывает на повышенный уровень уверенности в нашем распределении.
Построение нашего нового апостериорного распределения: