Байесовская сеть

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Байесовская сеть (или байесова сеть, байесовская сеть доверия, англ. Bayesian network, belief network) — графическая вероятностная модель, представляющая собой множество переменных и их вероятностных зависимостей. Например, байесовская сеть может быть использована для вычисления вероятности того, чем болен пациент по наличию или отсутствию ряда симптомов, основываясь на данных о зависимости между симптомами и болезнями. Математический аппарат байесовых сетей создан американским ученым Джудой Перлом, лауреатом Премии Тьюринга (2011).

Формально, байесовская сеть — это направленный ациклический граф, каждой вершине которого соответствует случайная переменная, а дуги графа кодируют отношения условной независимости между этими переменными. Вершины могут представлять переменные любых типов, быть взвешенными параметрами, скрытыми переменными или гипотезами. Существуют эффективные методы, которые используются для вычислений и обучения байесовских сетей. Если переменные байесовской сети являются дискретными случайными величинами, то такая сеть называется дискретной байесовской сетью. Байесовские сети, которые моделируют последовательности переменных, называют динамическими байесовскими сетями. Байесовские сети, в которых могут присутствовать как дискретные переменные, так и непрерывные, называются гибридными байесовскими сетями. Байесовская сеть, в которой дуги помимо отношений условной независимости кодируют также отношения причинности, называют причинно-следственными байесовыми сетями (англ. causal bayesian networks)[1]).

Определения и принципы работы[править | править вики-текст]

Если дуга выходит из вершины A в вершину B, то A называют родителем B, а B называют потомком A. Если из вершины A существует ориентированный путь в другую вершину B, то B называется потомком A, а A называется предком B. Множество вершин-родителей вершины Vi обозначим как parents(Vi) = PAi.

Направленный ациклический граф G называется байесовской сетью для вероятностного распределения P(v), заданного над множеством случайных переменных V, если каждой вершине графа поставлена в соответствие случайная переменная из V, а дуги в графе удовлетворяют условию (марковское условие[1]): любая переменная Vi из V должна быть условно независима от всех вершин, не являющихся ее потомками, если заданы (получили означивание, обусловлены) все ее прямые родители PAi в графе G, то есть

ViV справедливо: P(vipai,s) = P(vipai),

где vi — значение Vi; S — множество всех вершин, не являющихся потомками Vi; s — конфигурация S; pai — конфигурация PAi.

Тогда полное совместное распределение значений в вершинах можно удобно записать в виде декомпозиции (произведения) локальных распределений:

\mathrm P(V_1, \ldots, V_n) = \prod_{i=1}^n \mathrm P(V_i \mid \operatorname{parents}(V_i)).\,

Если у вершины Vi нет предков, то её локальное распределение вероятностей называют безусловным, иначе условным. Если вершина - случайная переменная получила означивание (например, в результате наблюдения), то такое означивание называют свидетельством (англ. evidence). Если значение переменной было установлено извне (а не наблюдалось), то такое означивание называется вмешательством (англ. action) или интервенцией (англ. intervention)[1].

Условная независимость в байесовской сети представлена графическим свойством d-разделённости.

d-разделённость[править | править вики-текст]

Путь p\, называют d-разделённым (англ. d-separated), или блокированным (англ. blocked) множеством вершин Z\, тогда и только тогда, когда

  1. p\, содержит цепь i\,m\,j\, или разветвление i\,m\,j\, такие, что m\, принадлежит Z\,, или
  2. p\, содержит инвертированное разветвление (коллайдер) i\,m\,j\,, такое, что m\, не принадлежит Z\, и у вершины m\, нет потомков, которые принадлежат Z\,.

Пусть X, Y, Z\, — непересекающиеся подмножества вершин в ацикличном ориентированном графе G\,. Говорят, что множество вершин Z\, d-разделяет X\, и Y\, тогда и только тогда, когда Z\, блокирует все пути из любой вершины, принадлежащей X\, в любую вершину, принадлежащую Y\,, и обозначают (<X \perp\!\!\!\perp Y|Z>)_G\,. Под путём понимается последовательность следующих друг за другом рёбер (любого направления) в графе.[1].

Теорема о d-разделённости[править | править вики-текст]

Для любых трех непересекающихся подмножеств вершин (X, Y, Z)\, в ацикличном ориентированном графе G\, и для всех вероятностных распределений P\, справедливо:

  1. если (<X \perp\!\!\!\perp Y|Z>)_G\,, то (<X \perp\!\!\!\perp Y|Z>)_P\,, если G\, и P\, марковски совместимы, и
  2. если отношение условной независимости (<X \perp\!\!\!\perp Y|Z>)_P\, выполняется для всех вероятностных распределений, Марковски-совместимых с G\,, то из этого следует (<X \perp\!\!\!\perp Y|Z>)_G\,.

Другими словами, если вершины d-разделены, то они условно независимы; и если вершины условно-независимы во всех вероятностных распределениях, совместимых с графом G, то они d-разделены.[1]

((<X \perp\!\!\!\perp Y|Z>)_P\, означает, что множества переменных X\, и Y\, условно-независимы при заданном множестве Z\,.)

Свидетельства[править | править вики-текст]

Свидетельства — утверждения вида «событие в узле x произошло». Например: «компьютер не загружается».

Вероятностные запросы[править | править вики-текст]

Байесовская сеть позволяет получить ответы на следующие типы вероятностных запросов[2]:

  • нахождение вероятности свидетельства,
  • определение априорных маргинальных вероятностей,
  • определение апостериорных маргинальных вероятностей, включая:
прогнозирование, или прямой вывод, — определение вероятности события при наблюдаемых причинах,
диагностирование, или обратный вывод (абдукция), — определение вероятности причины при наблюдаемых следствиях,
межпричинный (смешанный) вывод (англ. intercausal inference) или трансдукция, — определение вероятности одной из причин наступившего события при условии наступления одной или нескольких других причин этого события.
  • вычисление наиболее вероятного объяснения наблюдаемого события (англ. most probable explanation, MPE),
  • вычисление апостериорного максимума (англ. maximum a-posteriori, MAP).

Пример[править | править вики-текст]

Простая Байесовская сеть.

Предположим, что может быть две причины, по которым трава может стать мокрой (GRASS WET): сработала дождевальная установка, либо прошел дождь. Также предположим, что дождь влияет на работу дождевальной машины (во время дождя установка не включается). Тогда ситуация может быть смоделирована проиллюстрированной Байесовской сетью. Все три переменные могут принимать два возможных значения: T (правда — true) и F (ложь — false).

Совместная вероятность функции:

\mathrm P(G,S,R)=\mathrm P(G|S,R)\mathrm P(S|R)\mathrm P(R)

где имена трех переменных означают G = Трава мокрая (Grass wet), S = Дождевальная установка (Sprinkler), и R = Дождь (Rain).

Модель может ответить на такие вопросы как «Какова вероятность того, что прошел дождь, если трава мокрая?» используя формулу условной вероятности и суммируя переменные:


\mathrm P(\mathit{R}=T \mid \mathit{G}=T) 
=\frac{\mathrm P(\mathit{G}=T,\mathit{R}=T)}{\mathrm P(\mathit{G}=T)} 
=\frac{\sum_{\mathit{S} \in \{T, F\}}\mathrm P(\mathit{G}=T,\mathit{S},\mathit{R}=T)}{\sum_{\mathit{S}, \mathit{R} \in \{T, F\}} \mathrm P(\mathit{G}=T,\mathit{S},\mathit{R})}
 = \frac{(0.99 \times 0.01 \times 0.2 = 0.00198_{TTT}) + (0.8 \times 0.99 \times 0.2 = 0.1584_{TFT})}{0.00198_{TTT} + 0.288_{TTF} + 0.1584_{TFT} + 0_{TFF}} \approx 35.77 %.

Вероятностный вывод[править | править вики-текст]

В силу того, что байесовская сеть — это полная модель для переменных и их отношений, она может быть использована для того, чтобы давать ответы на вероятностные вопросы. Например, сеть можно использовать, чтобы получить новое знание о состоянии подмножества переменных, наблюдая за другими переменными (переменные-свидетельства). Это процесс вычисления апостериорного распределения переменных по переменным-свидетельствам называют вероятностным выводом. Это следствие дает нам универсальную оценку для приложений, где нужно выбрать значения подмножества переменных, которое минимизирует функцию потерь, например, вероятность ошибочного решения. Байесовская сеть может также считаться механизмом для автоматического построения расширения теоремы Байеса для более сложных задач.

Для проведения вероятностного вывода в байесовских сетях используются следующие алгоритмы[1][3]:

  • Точные:
  • вывод методом грубой силы путём маргинализации полного совместного распределения;
  • алгоритмы устранения переменных и символьные вычисления,
  • кластеризация,
  • алгоритмы пропагации (передача) сообщений между узлами сети,
  • алгоритмы формирования выборок с исключением,
  • метод оценки выборок с учетом правдоподобия,
  • алгоритм МСМС (англ. Markov chain Monte Carlo) и др.

Приложения[править | править вики-текст]

Байесовские сети используются для моделирования в биоинформатике (генетические сети, структура белков), медицине, классификации документов, обработке изображений, обработке данных, машинном обучении и системах поддержки принятия решений.

Дополнительная информация[править | править вики-текст]

Бесплатные и свободные программные продукты[править | править вики-текст]

Коммерческие программные продукты[править | править вики-текст]

Примечания[править | править вики-текст]

  1. 1 2 3 4 5 6 Judea Pearl. Causality: Models, Reasoning, and Inference. — 2-nd Edition. — Cambridge University Press, 2009. — 464 p. — ISBN 9780521895606.
  2. Adnan Darwiche. Modeling and Reasoning with Bayesian Networks. — Cambridge University Press, 2009. — 526 p. — ISBN 978-0521884389.
  3. Стюарт Рассел, Питер Норвиг. Искусственный интеллект: современный подход (AIMA): [пер. с англ.]. — 2-е изд. — М.: Вильямс, 2005. — 1424 p.

Ссылки[править | править вики-текст]