Вариативная передача сообщений - Variational message passing
Вариативная передача сообщений (ВМП) является приблизительный вывод техника для непрерывных или дискретных значений Байесовские сети, с сопряженно-экспоненциальный родители, разработанные Джоном Винном. ВМП был разработан как средство обобщения приблизительного вариационные методы используются такие методы, как Скрытое размещение Дирихле и работает, обновляя приблизительное распределение на каждом узле через сообщения в узле Марковское одеяло.
Нижняя граница вероятности
Учитывая некоторый набор скрытых переменных и наблюдаемые переменные , цель приближенного вывода состоит в том, чтобы оценить снизу вероятность того, что графическая модель находится в конфигурации . По некоторому распределению вероятностей (будет определено позже),
- .
Итак, если мы определим нашу нижнюю границу как
- ,
тогда вероятность равна просто этой границе плюс относительная энтропия между и . Поскольку относительная энтропия неотрицательна, функция определенное выше, действительно является нижней границей логарифмической вероятности нашего наблюдения . Распространение будет иметь более простой характер, чем у потому что маргинализация трудноразрешим для всех, кроме самого простого графические модели. В частности, VMP использует факторизованное распределение :
куда является непересекающейся частью графической модели.
Определение правила обновления
Оценка правдоподобия должна быть как можно большей; потому что это нижняя граница, приближается улучшает приближение логарифмического правдоподобия. Подставив факторизованную версию , , параметризованные по скрытым узлам как указано выше, это просто отрицательный относительная энтропия между и плюс другие термины, не зависящие от если определяется как
- ,
куда это ожидание по всем дистрибутивам Кроме . Таким образом, если положить быть , граница максимально.
Сообщения в вариативной передаче сообщений
Родители отправляют своих детей в ожидании своих достаточная статистика пока дети присылают родителям свои естественный параметр, который также требует отправки сообщений от родителей узла.
Отношение к экспоненциальным семьям
Поскольку все узлы в VMP происходят из экспоненциальные семейства и все родители узлов сопрягать своим дочерним узлам, ожидание достаточная статистика можно вычислить из коэффициент нормализации.
Алгоритм VMP
Алгоритм начинается с вычисления ожидаемого значения достаточной статистики для этого вектора. Затем, пока вероятность не приблизится к стабильному значению (обычно это достигается путем установки небольшого порогового значения и запуска алгоритма до тех пор, пока оно не увеличится на меньшее, чем это пороговое значение), выполните следующие действия на каждом узле:
- Получать все сообщения от родителей
- Получать все сообщения от детей (для этого может потребоваться, чтобы дети получали сообщения от со-родителей)
- Вычислить ожидаемое значение узлов достаточной статистики
Ограничения
Поскольку каждый дочерний элемент должен быть сопряжен со своим родителем, это ограничивает типы распределений, которые могут использоваться в модели. Например, родители Гауссово распределение должен быть Гауссово распределение (соответствует Иметь в виду ) и гамма-распределение (соответствует точности или на единицу больше в более общих параметризациях). Дискретные переменные могут иметь Дирихле родители и Пуассон и экспоненциальный узлы должны иметь гамма родители. Однако, если данные могут быть смоделированы таким образом, VMP предлагает обобщенную структуру для обеспечения вывода.
Рекомендации
- Winn, J.M .; Бишоп, К. (2005). «Передача вариативного сообщения» (PDF). Журнал исследований в области машинного обучения. 6: 661–694.
- Бил, М.Дж. (2003). Вариационные алгоритмы приближенного байесовского вывода (PDF) (Кандидат наук). Отделение вычислительной неврологии Гэтсби, Университетский колледж Лондона. Архивировано из оригинал (PDF) на 2005-04-28. Получено 2007-02-15.
внешняя ссылка
- Infer.NET: структура вывода, которая включает реализацию VMP с примерами.
- ямочка: система вывода с открытым исходным кодом, поддерживающая VMP.
- An более старая реализация VMP с примерами использования.