Вариационный вывод (VI) - это метод приближенного вывода в байесовской статистике. Учитывая модель, мы часто хотим вывести ее апостериорную плотность, учитывая имеющиеся у нас наблюдения. Однако точный вывод о апостериорной плотности требует маргинализации по всем нерелевантным параметрам, что часто сложно вычислить. Основная идея VI - использовать более простые распределения для аппроксимации плотности запросов. Чтобы упростить задачу, мы аппроксимируем каждый отдельный целевой параметр одним распределением и предполагаем, что распределения, которые мы используем для аппроксимации, независимы. Этот метод называется приближением среднего поля.

Когда дело доходит до приближения, мы, естественно, думаем о расхождении KL, которое измеряет сходство между двумя распределениями. Однако сама дивергенция KL содержит апостериорную плотность, которую мы хотим вывести. Так что это снова неразрешимо. Затем мы вводим нижнюю границу доказательств (ELBO). Можно доказать, что минимизация дивергенции KL эквивалентна максимизации ELBO.

Теперь оптимизация возможна. Что мы делаем, так это то, что мы следуем той же процедуре, что и в случае максимизации ожидания (EM), и обновляем приблизительные распределения по одному за раз. Оказывается, выражение функции обновления довольно простое, как показано ниже.

Обратите внимание, что z - это параметры, распределение которых мы хотим аппроксимировать.

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

Распределение каждого узла следующее:

Интуиция этой модели заключается в том, что наблюдения или данные генерируются из распределения Гаусса. Параметры этого гауссова распределения регулируются двумя другими распределениями. Во-первых, у нас есть k вариантов μ, которые также генерируются из распределения Гаусса. Во-вторых, у нас есть категориальное распределение, которое решает, какое среднее из k сгенерированных μ отвечает за генерацию данных. Чтобы обобщить проблему, распределение для генерации данных является многомерным, что означает, что наше наблюдение x имеет более одного измерения. Мы используем p для обозначения размера наших данных.

Возражение здесь в том, что мы хотим аппроксимировать p (μ, c), используя приближение среднего поля.

Обратите внимание, что здесь μ и c не являются независимыми согласно вероятностной графической теории, поскольку данные наблюдаются. Однако, когда мы проектируем аппроксимирующую функцию, мы можем сделать наши аппроксимационные распределения независимыми. Как видите, первое, что нужно сделать - это найти форму всех q распределений. Хотя мы можем использовать любые дистрибутивы, какие захотим, мы хотели бы сделать их максимально простыми. Естественно, мы хотели бы использовать то же распределение, что и исходные параметры (на самом деле, мы хотим, чтобы предварительно было сопряжено с апостериорным для математически удобного. Но мы не будем обсуждать это здесь). Итак, мы строим приблизительное распределение как,

Следовательно, наша работа сводится к оптимизации mk, sk и ϕi.

Давайте посмотрим, как выглядит наш ELBO

Для каждого термина в ELBO мы могли бы вывести замкнутую форму.

Срок 1

Поскольку мы предполагаем,

So,

Срок 2

Срок 3

Потому что

So,

Срок 4

Срок 5

Вышеупомянутое вычисление для ELBO показывает, что он управляем, и его можно использовать для отслеживания обновлений параметров, отслеживая, увеличивается ли оно.

Теперь мы используем уравнение 3 для получения функции обновления параметров.

Для q (c)

Используя совместное распределение из графической модели,

So,

Для q (μ)

а также,

So,

Потому что

So,

Также,

Затем у нас есть все функции обновления для всех приблизительных параметров.

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