3.14. Байесовский вывод. Задача маргинализации. Общий алгоритм маргинализации на графе. Скрытые марковские модели. Байесовская сеть доверия Байесовская сеть (или Байесовская сеть доверия) — это вероятностная модель, представляющая собой множество переменных и их вероятностных зависимостей. Например, байесовская сеть может быть использована для вычисления вероятности того, чем болен пациент по наличию или отсутствию ряда симптомов, основываясь на данных о зависимости между симптомами и болезнями. Формально, байесовская сеть — это направленный ациклический граф, вершины которого представляют переменные, а ребра кодируют условные зависимости между переменными. Вершины могут представлять переменные любых типов, быть взвешенными параметрами, скрытыми переменными или гипотезами. Существуют эффективные методы, которые используются для вычислений и обучения байесовских сетей. Байесовские сети, которые моделируют последовательности переменных, называют динамическими байесовскими сетями. Байесовские сети, в которых могут присутствовать как дискретные переменные, так и непрерывные, называются гибридными байесовскими сетями. Определения и принципы работы Если ребро выходит из вершины A в вершину B, то A называют предком B, а B называют сыном A. Множество вершин-предков вершины Xi обозначим как parents(Xi). Совместное распределение значений в вершинах можно удобно расписать как результат локальных распределений в каждом узле и его предках: Если у вершины Xi нет предков, то его локальное распределение вероятностей называют безусловным, иначе условным. Если значение в узле получено в результате опыта, то вершину называют свидетелем. Семантика зависимостей Граф кодирует зависимости между переменными. Условная независимость представлена графическим свойством d-разделенности. Два узла направленного графа x и y называются d-разделенными, если для всякого пути из x в y (здесь не учитывается направление ребер) существует такой промежуточный узел z (не совпадающий ни с x, ни с y), что либо связь в пути в этом узле последовательная или расходящаяся, и узел z получил означивание, либо связь сходящаяся, и ни узел z, ни какой-либо из его потомков означивания не получил. В противном случае узлы называются d-связанными. Свидетельства — утверждения вида «событие в узле x произошло». Например: «Компьютер не загружается». Билет 3.14 Page 1 of 8 Пример Простая Байесовская сеть. Предположим, что может быть две причины, по которым трава может стать мокрой (GRASS WET): сработала дождевальная установка, либо прошел дождь. Также предположим, что дождь влияет на работу дождевальной машины (во время дождя установка не включается). Тогда ситуация может быть смоделирована проиллюстрированной Байесовской сетью. Все три переменные могут принимать два возможных значения: T (правда — true) и F (ложь — false). Совместная вероятность функции: P(G,S,R) = P(G | S,R)P(S | R)P(R) где имена трех переменных означают G = Трава мокрая (Grass wet), S = Дождевальная установка (Sprinkler), и R = Дождь (Rain). Модель может ответить на такие вопросы как «Какова вероятность того, что прошел дождь, если трава мокрая?» используя формулу условной вероятности и суммируя переменные: Вывод В силу того, что Байесовская сеть — это полная модель для переменных и их отношений, она может быть использована для того, чтобы давать ответы на вероятностные вопросы. Например, сеть можно использовать чтобы получить новое знание о состоянии подмножества переменных наблюдая за другими переменными (переменные — свидетельства). Это процесс вычисления апостериорного распределения переменных по переменным-свидетельствам называют вероятностным выводом. Это следствие дает нам универсальную оценку для приложений, где нужно выбрать значения подмножества Билет 3.14 Page 2 of 8 переменных, которое минимизирует функцию потерь, например вероятность ошибочного решения. Байесовская сеть может также считаться механизмом для автоматического построения расширения Теоремы Байеса для более сложных задач. Алгоритм sum-product Алгоритм «sum-product» — алгоритм маргинализации с помощью двунаправленной передачи сообщений на графе Постановка задачи Рассмотрим функцию: , где Чтобы получить вероятность, необходимо ее нормализовать: Нас интересуют следующие задачи: 1. Задача нормализации найти 2. Задача маргинализации найти 3. Задача нормализованной маргинализации найти Все эти задачи являются NP-трудными, так что сложность их решения в худшем случае возрастает экспоненциально. Однако некоторые частные случаи можно решить быстрее, чем и занимается данный алгоритм. Структура графа Билет 3.14 Page 3 of 8 Граф, используемый алгоритмом, состоит из вершин, соответствующих переменным, и вершин, соответствующих функциям. Функции соединены с переменными, от которых они зависят. Пример Например функции p * (X) = f1(x1)f2(x2)f3(x3)f4(x1,x2)f5(x2,x3) соответствует следующий граф: Передача сообщений В графе пересылаются сообщения двух видов: от функций к переменным и от переменных к функциям. От переменной xi к функции fj: (здесь ne(i) — множество вершин, соседних с i) От функции fj к переменной xi: При этом пустое произведение считаем равным единице. Из этих формул видно, что если у вершины всего один сосед, то ее сообщение можно вычислить не зная входящих сообщений. Алгоритм Существует два подхода, в зависимости от характера полученного графа. Подход 1 Предположим, что граф является деревом. Начиная с листьев будем постепенно обходить все вершины и вычислять сообщения (при этом применяется стандартное правило Билет 3.14 Page 4 of 8 передачи сообщений: сообщение можно передавать только если его можно полностью построить). Тогда за количество шагов, равное диаметру графа, работа алгоритма закончится. Подход 2 Если граф не является деревом, то можно начать с того, что все переменные передают сообщение 1, а потом уже его модифицируют, когда до них доходят сообщения от функций. Такой алгоритм в общем случае работает неверно и делает много лишнего, но все же полезен на практике. Вычисление маргиналов Когда рассылка сообщений закончена, маргиналы вычисляются по следующей формуле: Нормализация на лету Если нужно рассчитать только нормализованные маргиналы (настоящие вероятности), то можно на каждом шаге нормализовать сообщения от переменных к функциям: , где αij подобраны так, чтобы Математическое обоснование алгоритма С математической точки зрения алгоритм изначальное разложение перераскладывает в произведение , Билет 3.14 Page 5 of 8 где φj соответствует узлам-функциям, а ψi — узлам-переменным. Изначально, до передачи сообщений φj(Xj) = fj(Xj) и ψi(xi) = 1 Каждый раз, когда приходит сообщение пересчитываются: из функции в переменную, φ и ψ , Очевидно, что общее произведение от этого не меняется, а ψi по окончании передачи сообщений станет маргиналом p * (xi). Скрытая марковская модель Диаграмма переходов в скрытой марковской модели (пример) x — скрытые состояния y — наблюдаемые результаты a — вероятности переходов b — вероятность результата Скрытая марковская модель (смм) — статистическая модель, имитирующая работу процесса похожего на марковский процесс с неизвестными параметрами, и задачей ставится разгадывание неизвестных параметров на основе наблюдаемых. Полученные параметры могут быть использованы в дальнейшем анализе, например, для распознавания образов. СММ может быть рассмотрена как простейшая Байесовская сеть доверия. В обычной Марковской модели состояние видимо наблюдателю, поэтому вероятности переходов — единственный параметр. В скрытой марковской модели, мы можем следить лишь за переменными на которые оказывает влияние данное состояние. Каждое состояние имеет вероятностное распределение среди всех возможных выходных значений. Поэтому последовательность символов сгенерированная смм дает информацию о последовательности состояний. Билет 3.14 Page 6 of 8 Основное применение смм получили в области распознавания речи, письма, движений и биоинформатике. Архитектура скрытой марковской модели Диаграмма представленная ниже показывает общую архитектуру смм. Овалы представляют собой переменные со случайным значением. Случайная переменная x(t) представляет собой значение скрытой переменной в момент времени t. Случайная переменная y(t) это значение наблюдаемой переменной в момент времени t. Стрелки на диаграмме символизируют условные зависимости. Из диаграммы становится ясно, что значение скрытой переменной x(t) (в момент времени t) зависит только от значения скрытой переменной x(t − 1) (в момент t − 1). Это называется свойством маркова. Хотя в то же время значение наблюдаемой переменной y(t) зависит только от значения скрытой переменной x(t) (обе в момент времени t). Вероятность «полученной» последовательности Вероятность увидеть последовательность равна длины L , здесь сумма пробегает по всем возможным последовательностям скрытых узлов Метод подсчёта полным перебором значения P(Y) очень трудоёмкий для многих задач из реальной жизни, в силу того, что количество возможных последовательностей скрытых узлов очень велико. Но, есть свет в конце туннеля… Применение процедуры вперёд-назад [1] позволяет существенно увеличить скорость вычислений. Проблемы скрытых марковских моделей Существуют три основных задачи связанных с СММ: даны параметры модели и последовательность, требуется вычислить вероятность появления данной последовательности (проблема решается с помощью алгоритма вперед-назад), даны параметры модели, требуется определить наиболее подходящую последовательность скрытых узлов, наиболее точно описывающую данную модель (алгоритм Витерби помогает при решении данной проблемы), Билет 3.14 Page 7 of 8 дана выходная последовательность (или несколько), требуется «потренировать» СММ на данном выходе (в этом помогает алгоритм Баума-Уэлша). Конкретный пример Представим двух друзей, общающихся каждый вечер по телефону о том, что они сегодня делали днем. Ваш друг может делать лишь три вещи: гулять в парке, ходить за покупками или убираться в комнате. Его выбор основывается лишь на погоде, которая была в момент принятия решения. Вы ничего не знаете о погоде в том регионе где живет ваш друг, но вы можете основываясь на его решениях попытаться предугадать какая погода была. Погода представима в виде марковской цепи, она имеет два состояния: солнечно или дождливо, но вы не можете сами увидеть её, поэтому она скрыта от вас. Каждый день ваш друг принимает одно из трех возможных решений: прогулка, покупки или уборка, вы можете узнать о решении вашего друга, поэтому это наблюдаемое значение. В целом мы получаем смм. Применение СММ криптоанализ распознавание речи машинный перевод биоинформатика и множество других областей… Немного истории Во второй половине 1960-х Баум с коллегами опубликовал первые заметки о скрытых марковских моделях. И уже в середине 70-х их впервые применили при распознавании речи. С середины 1980-х СММ применяются при анализе биологических последовательностей, в частности ДНК. Билет 3.14 Page 8 of 8