Байесовские сети

Материал из Викиконспекты
Перейти к: навигация, поиск
Определение:
Байесовская сеть (англ. Bayesian network) — это направленный ациклический граф [math]G\ = \lt V, E\gt [/math], в котором каждой вершине [math]v \in V[/math] поставлена в соответствие случайная переменная [math]X_v[/math] и каждое ребро [math](u, v) \in E[/math] представляет прямую зависимость [math]X_v[/math] от [math]X_u[/math]. Пусть [math]parents(v) = {u\ |\ (u,\ v)\ \in\ E}[/math], тогда в Байесовской сети каждой вершине [math]v\ \in\ V[/math] графа должно быть сопоставлено распределение условных вероятностей от вершин из [math]parents(v)[/math].


Цепное правило для Байесовских сетей: [math]\mathrm P(X_1, \ldots, X_n) = \prod_{i=1}^n \mathrm P(X_i \mid \operatorname{parents}(X_i)).[/math] Цепное правило позволяет разложить (факторизовать) совместное распределение в произведение условных распределений.

Пример

Bayesian Student Network.png

Оценка студента (Grade) зависит от его интеллекта (Intelligence) и сложности курса (Difficulty). Студент просит у преподавателя рекомендательное письмо (Letter), предположим, что преподаватель может написать плохое или хорошее письмо в зависимости от оценки студента. Также студент сдаёт экзамен для поступления в колледж (SAT), результаты экзамена не зависят от письма преподавателя, оценки за его курс и сложности курса. Представление этой модели в Байесовской сети представлено на рисунке ниже.

С помощью цепного правила рассчитаем вероятность того, что умный студент получает B по лёгкому курсу, высокий балл по SAT и плохое рекомендательное письмо: [math] P(i1, d0, g2, s1, l0) = P(i1)P(d0)P(g2 | i1, d0)P(s1 | i1)P(l0 | g2) = 0.3*0.6*0.08*0.8*0.4 = 0.004608. [/math]

Байесовская сеть представляет законное распределение:

  • Вероятность исхода в Байесовской сети неотрицательна, так как вычисляется как произведение условных вероятностей событий, которые неотрицательны.
  • Сумма вероятностей исходов в Байесовской сети равна единице:

[math] \sum\limits_{D,I,G,S,L} P(D,I,G,S,L) = \sum\limits_{D,I,G,S,L} P(D)P(I)P(G|I,D)P(S|I)P(L|G) = \sum\limits_{D,I,G,S} P(D)P(I)P(G|I,D)P(S|I) \sum\limits_{L} P(L|G) = \sum\limits_{D,I,G,S} P(D)P(I)P(G|I,D)P(S|I) = [/math]

[math] \sum\limits_{D,I,G} P(D)P(I)P(G|I,D) \sum\limits_{S} P(S|I) = \sum\limits_{D,I,G} P(D)P(I)P(G|I,D) = \ldots [/math]

Виды вероятностного вывода (англ. Reasoning Patterns)

Прямой вывод, или прогнозирование (англ. Causal Reasoning)

Прямой вывод — определение вероятности события при наблюдаемых причинах.

Пример: вероятность получения хорошего рекомендательного письма, если известно, что студент обладает низким интеллектом, [math]P(l1 | i0) \approx 0.39[/math], если известно, что курс был лёгким, вероятность повысится, [math]P(l1 | i0, d0) \approx 0.51 [/math].

Обратный вывод, или диагностирование (англ. Evidential Reasoning)

Обратный вывод — определение вероятности причины при наблюдаемых следствиях.

Пример: вероятность того, что курс сложный, если студент получил оценку С, [math]P(d1 | g3) \approx 0.63[/math], вероятность того, что студент умный, если он получил оценку С, [math] P(i1 | g3) \approx 0.08 [/math].

Межпричинный (смешанный) вывод (англ. Intercausal Reasoning)

Межпричинный вывод — определение вероятности одной из причин наступившего события при условии наступления одной или нескольких других причин этого события.

Рассмотрим вероятность из прошлого примера, [math] P(i1 | g3) \approx 0.08 [/math], вероятность того, что студент умный, слегка увеличивается, если также известно, что курс сложный, [math] P(i1 | g3, d1) \approx 0.11 [/math], сложность курса (D) и интеллект студента (I) не связаны ребром, рассмотрим, как получается, что они влияют друг на друга, на более простом примере.

Предположим, у пациента температура, это сильно повышает вероятность как простуды, так и отравления, хотя они не влияют друг на друга, но если станет известно, что пациент отравился, вероятность простуды сильно уменьшится, симптом уже объяснён одной из возможных причин, и вторая становится менее вероятной. Таким образом, если общее следствие получает означивание, причины становятся зависимыми. По-английски этот феномен называется «explaining away».

Пропагация вывода (англ. Flow of Probabilistic Influence)

Обобщим наблюдения из прошлой секции.

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

X влияет на У, когда свидетельство X может изменить распределение вероятностей Y.

Рассмотрим случаи, когда X влияет на У при имеющихся свидетельствах Z:

  • Если вершины связаны непосредственно (X -> Y или X <- Y), X всегда влияет на Y.
  • X -> W -> Y, X <- W <- Y, X <- W -> Y — X влияет на Y, если W не принадлежит Z.
  • X -> W <- Y (V-образная структура) — X влияет на Y, если W или кто-либо из потомков W принадлежит Z, и, соответственно, X не влияет на Y, если W или хотя бы кто-либо из потомков W не принадлежит Z.


Определение:
Активные пути (англ. Active Trails) — путь [math] X_1 — \ldots — X_k [/math] активен при свидетельствах Z, если:
  • для каждой V-образной структуры X_i-1 -> X_i <- X_i+1 X_i или один из его потомков принадлежит Z;
  • все остальные X_i (которые не образуют V-образную структуру) не принадлежат Z.


Источники информации

  • Andrew D. Gordon, Thomas A. Henzinger, Aditya V. Nori, and Sriram K. Rajamani. 2014. Probabilistic programming. In Proceedings of the on Future of Software Engineering (FOSE 2014). ACM, New York, NY, USA, 167-181. DOI=10.1145/2593882.2593900 doi.acm.org/10.1145/2593882.2593900