Algorytmy stochastyczne, wykład 08 Sieci bayesowskie
Jarosław Piersa
Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika
2014-04-10
Przypomnienie z prawdopodobieństwa Sieci bayesowskie
Prawdopodobieństwo Prawdopodobieństwo warunkowe Zmienne losowe
Prawdopodobieństwo
(Dla przestrzeni skończonej!)
Prawdopodobieństwem zajścia zdarzenia A jest P(A) := liczba zdarzeń spełniających A
liczba wszystkich zdarzeń .
Prawdopodobieństwo
(W ogólnym przypadku)
Prawdopodobieństwem zajścia zdarzenia ze zbioru A jest P(A) := miara zbioru A
miara całej przestrzeni = µ(A) µ(Ω).
Przypomnienie z prawdopodobieństwa Sieci bayesowskie
Prawdopodobieństwo Prawdopodobieństwo warunkowe Zmienne losowe
Prawdopodobieństwo spełnia
Jeżeli P(A), P(B) — prawdopodobieństwa, to P(∅) = 0 ≤ P(A) ≤ 1 = P(Ω)
P(A) + P(B ) ≥ P(A ∪ B )
P(A ∪ B ) = P(A) + P(B ) − P(A ∩ B )
jeżeli A i B są rozłączne, to P(A ∪ B) = P(A) + P(B) P(A ∪ B ) ≥ P(A) ≥ P(A ∩ B )
Prawdopodobieństwo warunkowe
Jeżeli P(A), P(B) — prawdopodobieństwa i P > 0, to prawdopodobieństwo warunkowe A pod warunkiem B
P(A|B ) := P(A ∩ B ) P(B )
intuicyjnie: „Już wiemy, że zaszło B. Jakie są szanse, że zajdzie [jeszcze] A?”
Przypomnienie z prawdopodobieństwa Sieci bayesowskie
Prawdopodobieństwo Prawdopodobieństwo warunkowe Zmienne losowe
Prawdopodobieństwo warunkowe
Przykład
Rzucamy kostką sześcienną A = wypadła liczba parzysta B = wypadła liczba mniejsza niż 3
P(A|B ) := P(A ∩ B )
P(B ) = P(Parzysta ∩ mniejsza niż 3) P(mniejsza niż3) Zatem
P(A|B ) := 1/6 2/6 = 1
2
Prawdopodobieństwo warunkowe
Przykład
A = wypadła liczba parzysta B = wypadła liczba mniejsza niż 3 P-o B pod warunkiem A:
P(B |A) := P(B ∩ A)
P(A) = P(Parzysta ∩ mniejsza niż3) P(parzysta)
i mamy
P(B |A) := 1/6 3/6 = 1
3
Przypomnienie z prawdopodobieństwa Sieci bayesowskie
Prawdopodobieństwo Prawdopodobieństwo warunkowe Zmienne losowe
Prawdopodobieństwo warunkowe
Nie musi być prawdą (i zwykle nie jest!), że P(A|B ) = P(B |A)
Warunkowanie po wielu zdarzeniach
Warunkowanie po wielu zdarzeniach:
P(A|B , C ) = P(A ∩ B ∩ C ) P(B ∩ C )
Przypomnienie z prawdopodobieństwa Sieci bayesowskie
Prawdopodobieństwo Prawdopodobieństwo warunkowe Zmienne losowe
Niezależność
Dwa zdarzenia A i B są niezależne jeżeli P(A ∩ B ) = P(A) · P(B )
równoważna definicja
P(A|B ) = P(A) lub P(B |A) = P(B )
Intuicyjnie: wiedza o tym czy zaszło [lub nie] B nic nam nie mówi o zajściu A
Wzór Bayesa
Dla zdarzeń A i B P(A), P(B ) > 0 zachodzi
P(A|B ) = P(B |A)P(A) P(B )
Przypomnienie z prawdopodobieństwa Sieci bayesowskie
Prawdopodobieństwo Prawdopodobieństwo warunkowe Zmienne losowe
Zmienne losowe
(wersja na egzamin) Zmienna losowa X jest to funkcja mierzalna z B(R) → [0, 1]
(intuicyjnie) jakie jest prawdopodobieństwo, że zmienna przyjmuje ustaloną wartość np. X = 8?
(rozszerzona wersja) jakie jest prawdopodobieństwo, że zmienna przyjmuje wartość z danego zbioru np. X = 8 lub X = 11 (tzn.
X ∈ {8, 11})?
(znacznie mniej intuicyjnie) a co jeżeli liczb w zbiorze będzie nieprzeliczalnie wiele?
Zmienne losowe
Jeżeli nie będzie zaznaczone inaczej, to do końca wykładu zakładamy, że zmienna losowa przyjmuje skończenie wiele wartości!
Zdarzenie „zmienna losowa X przyjmuje wartość 1” oznaczamy X = 1
Prawdopodobieństwo zdarzenia, że „zmienna losowa X przyjmuje wartość x1” oznaczamy
P(X = x1)
Przypomnienie z prawdopodobieństwa Sieci bayesowskie
Prawdopodobieństwo Prawdopodobieństwo warunkowe Zmienne losowe
Zmienne losowe
Jeżeli zmienna losowa X przyjmuje k różnych wartości, to P(X = x1) + P(X = x2) + · · · + P(X = xk) = 1
Reguła łańcucha
Jeżeli zmienna losowa X przyjmuje k różnych wartości
to k
X
i =1
P(Y |Z , X = xi) · P(X = xi|Z ) = P(Y |Z )
Przypomnienie z prawdopodobieństwa Sieci bayesowskie
Prosty przykład
Wnioskowanie w sieci bayesowskiej
Przykład sieci bayesowskiej
Tabela Pogoda pogoda P
słońce .45 deszcz .55
Pogoda słońce,deszcz
Spóźnienie nie,15 min,tak
Przykład sieci bayesowskiej
Tabela Spóźnienie
Pogoda P(S = n) P(S = 15m) P(t)
Pog= sł .8 0.1 0.1
Pog= des .3 0.4 0.3
Pogoda słońce,deszcz
Spóźnienie nie,15 min,tak
Przypomnienie z prawdopodobieństwa Sieci bayesowskie
Prosty przykład
Wnioskowanie w sieci bayesowskiej
Przykład
Jakie jest prawdopodobieństwo, że się spóźnię do 15 minut?
Do przeliczenia na tablicy!
z reguły łańcucha
P(Sp = 10m) =
2
X
i =1
P(S = 10|P = pi) · P(P = pi) po podstawieniu
= P(S = 10|P = sl) · P(P = sl) + P(S = 10|P = de) · P(P = de) i liczbowo
0.1 · 0.45 + 0.4 · .55 = .045 + .22 = 0.265 prawdopodobieństwo brzegowe
Przypomnienie z prawdopodobieństwa Sieci bayesowskie
Prosty przykład
Wnioskowanie w sieci bayesowskiej
Przykład
Jakie jest prawdopodobieństwo, że się spóźnię do 15 minut?
Do przeliczenia na tablicy!
z reguły łańcucha
P(Sp = 10m) =
2
X
i =1
P(S = 10|P = pi) · P(P = pi)
= P(S = 10|P = sl) · P(P = sl) + P(S = 10|P = de) · P(P = de) i liczbowo
0.1 · 0.45 + 0.4 · .55 = .045 + .22 = 0.265 prawdopodobieństwo brzegowe
Przypomnienie z prawdopodobieństwa Sieci bayesowskie
Prosty przykład
Wnioskowanie w sieci bayesowskiej
Przykład
Jakie jest prawdopodobieństwo, że się spóźnię do 15 minut?
Do przeliczenia na tablicy!
z reguły łańcucha
P(Sp = 10m) =
2
X
i =1
P(S = 10|P = pi) · P(P = pi) po podstawieniu
= P(S = 10|P = sl) · P(P = sl) + P(S = 10|P = de) · P(P = de)
i liczbowo
0.1 · 0.45 + 0.4 · .55 = .045 + .22 = 0.265 prawdopodobieństwo brzegowe
Przykład
Jakie jest prawdopodobieństwo, że się spóźnię do 15 minut?
Do przeliczenia na tablicy!
z reguły łańcucha
P(Sp = 10m) =
2
X
i =1
P(S = 10|P = pi) · P(P = pi) po podstawieniu
= P(S = 10|P = sl) · P(P = sl) + P(S = 10|P = de) · P(P = de) i liczbowo
0.1 · 0.45 + 0.4 · .55 = .045 + .22 = 0.265
Przypomnienie z prawdopodobieństwa Sieci bayesowskie
Prosty przykład
Wnioskowanie w sieci bayesowskiej
Przykład
Jakie jest prawdopodobieństwo, że się nie spóźnię jeżeli wiadomo, że jest deszczowo?
wnioskowanie predyktywne P(Sp = nie|Pog = deszcz ) =??
(w tym wypadku) odczytujemy bezpośrednio z tabeli ogólnie jest trudniej
Przypomnienie z prawdopodobieństwa Sieci bayesowskie
Prosty przykład
Wnioskowanie w sieci bayesowskiej
Przykład
Jakie jest prawdopodobieństwo, że dziś pada, jeżeli wiadomo, że się spóźniłem?
wnioskowanie diagnostyczne P(Pog = deszcz |Sp = tak ) =??
P(Pog = deszcz |Sp = tak ) = P(Sp = tak |Pog = de) · P(Pog = de) P(Sp = tak )
Przypomnienie z prawdopodobieństwa Sieci bayesowskie
Prosty przykład
Wnioskowanie w sieci bayesowskiej
Przykład
Jakie jest prawdopodobieństwo, że dziś pada, jeżeli wiadomo, że się spóźniłem?
wnioskowanie diagnostyczne P(Pog = deszcz |Sp = tak ) =??
ze wzoru Bayesa
P(Pog = deszcz |Sp = tak ) = P(Sp = tak |Pog = de) · P(Pog = de) P(Sp = tak )
Przypomnienie z prawdopodobieństwa Sieci bayesowskie
Prosty przykład
Wnioskowanie w sieci bayesowskiej
Przykład
wzór
P(P = de|Sp = t) = P(Sp = t|P = de) · P(P = de) P(Sp = t)
P(Sp = t|P = de) = 0.3 — z tabeli dla Spóźnienia P(P = de) = 0.55 — z tabeli dla Pogody
P(Sp = t) = ... — trzeba policzyć (patrz 2 slajdy wstecz)
P(Sp = t) = .3 · .55 + .1 · .45 = 0.21
Przypomnienie z prawdopodobieństwa Sieci bayesowskie
Prosty przykład
Wnioskowanie w sieci bayesowskiej
Przykład
wzór
P(P = de|Sp = t) = P(Sp = t|P = de) · P(P = de) P(Sp = t)
P(Sp = t|P = de) = 0.3 — z tabeli dla Spóźnienia P(P = de) = 0.55 — z tabeli dla Pogody
P(Sp = t) = ... — trzeba policzyć (patrz 2 slajdy wstecz)
P(Sp = t) = P(S = t|P = d )P(P = d )+P(S = t|P = s)P(P = s) P(Sp = t) = .3 · .55 + .1 · .45 = 0.21
Przykład
Wracamy do wzorku:
P(P = de|Sp = t) = P(Sp = t|P = de) · P(P = de) P(Sp = t)
podstawiamy
P(P = de|Sp = t) = .3 · .55
.21 ' 0.79
Przypomnienie z prawdopodobieństwa Sieci bayesowskie
Prosty przykład
Wnioskowanie w sieci bayesowskiej
Sieć bayesowska
siecią bayesowską jest graf skierowany i acykliczny w wierzchołkach znajdują się zmienne losowe
krawędzie oznaczają bezpośrednią zależność rozkładu zmiennych od rodziców
Sieć bayesowska
siecią bayesowską jest wygodna do modelowania zależności przyczynowo-skutkowych
każda bezpośrednia zależność (krawędź) jest opisywalna w
„ języku ludzkim”
Przypomnienie z prawdopodobieństwa Sieci bayesowskie
Prosty przykład
Wnioskowanie w sieci bayesowskiej
Wnioskowanie
wnioskowanie — obliczenie prawdopodobieństwa (warunkowego) dla pewnych interesujących nas węzłów
Wnioskowanie
Wnioskowanie apriori — bez żadnej dodatkowej wiedzy wnioskowanie aposteriori — posiadamy wiedzę (evidence), że zaszło pewne zdarzenie
np X = x2 i Z = z5
jak się zmienia prawdopodobieństwo zajścia pozostałych węzłów np
P(Y = y1|X = x2, Z = z2) =??
Przypomnienie z prawdopodobieństwa Sieci bayesowskie
Prosty przykład
Wnioskowanie w sieci bayesowskiej
Wnioskowanie
Wnioskowanie w przód
P(X |Y = y1), jeżeli X jest potomkiem Y predykcja zachowania
Wnioskowanie
Wnioskowanie w tył
P(X |Y = y1), jeżeli X jest przodkiem Y diagnostyka
Przypomnienie z prawdopodobieństwa Sieci bayesowskie
Prosty przykład
Wnioskowanie w sieci bayesowskiej
Wnioskowanie
Wnioskowanie w mieszane P(X |Y = y1),
np. jeżeli X nie są połączone skierowaną ścieżką Y
np. jeżeli wiedza jest zarówno jednocześnie w potomkach i przodkach X
Przykład 2
Tabela Stan
Stan P
ok .65
problem hardware .10 problem software .25
ok,hw,swStan
Wiatrak
nie,tak Grafika
nie,tak
Przypomnienie z prawdopodobieństwa Sieci bayesowskie
Prosty przykład
Wnioskowanie w sieci bayesowskiej
Przykład 2
Tabela Wiatrak
Stan W = t W = n
ok .9 .1
pr. hw .5 .5
pr. sw .7 .3
ok,hw,swStan
Wiatrak
nie,tak Grafika
nie,tak
Przykład 2
Tabela Grafika
Stan G = t G = n
ok 1 0
pr. hw .2 .8
pr. sw .4 .6
ok,hw,swStan
Wiatrak
nie,tak Grafika
nie,tak
Przypomnienie z prawdopodobieństwa Sieci bayesowskie
Prosty przykład
Wnioskowanie w sieci bayesowskiej
Wnioskowanie
P(G = t|S = hw ) = 0.2 — bezpośredni z tabeli
Stan
Wiatrak Grafika
Wnioskowanie
P(S = hw |G = n) =?? — z Tw. Bayesa
Stan
Wiatrak Grafika
Przypomnienie z prawdopodobieństwa Sieci bayesowskie
Prosty przykład
Wnioskowanie w sieci bayesowskiej
do policzenia
P(S = hw |G = n) =??
z Tw. Bayesa
P(G = n|S = h)P(S = h)/P(G = n) z wzoru na prawd. całkowite
P(G = n|S = h)P(S = h)
3
P
i =1
P(G = n|S = si)P(S = si)
Wnioskowanie
P(W = t|G = n) =??
Stan
Wiatrak Grafika
Przypomnienie z prawdopodobieństwa Sieci bayesowskie
Prosty przykład
Wnioskowanie w sieci bayesowskiej
do policzenia
P(W = t|G = n) =??
bezpośrednio nie da rady
reguła łańcucha: dodajmy sumowanie po drugim trzecim węźle:
P() = P(W = t|G = n, S = ok ) P(S = ok |G = n) +P(W = t|G = n, S = hw ) P(S = hw |G = n) +P(W = t|G = n, S = sw ) P(S = sw |G = n)
do policzenia
P(W = t|G = n) =??
zauważmy, że:
P(W = t|G = n, S = ok ) = P(W = t|S = ok ) jeżeli znamy Stan maszyny, to informacje o grafice już nie są nam potrzebne
zatem upraszczamy do
P(W = t|S = ok ) P(S = ok |G = n) +P(W = t|S = hw ) P(S = hw |G = n) +P(W = t|S = sw ) P(S = sw |G = n)
(1)
Przypomnienie z prawdopodobieństwa Sieci bayesowskie
Prosty przykład
Wnioskowanie w sieci bayesowskiej
do policzenia
P(W = t|G = n) =??
P(W = t|S = ok ) — z tabeli P(S = ok |G = n) — jak wcześniej
Przykład 3
V-struktura Tabela
Pożar P tak .05
nie .95
Alarm tak,nie Pożar
nie,tak TIR
nie,tak
Przypomnienie z prawdopodobieństwa Sieci bayesowskie
Prosty przykład
Wnioskowanie w sieci bayesowskiej
Przykład 3
V-struktura Tabela
TIR Pożar A = Tak A = Nie
t t 1 0
t n 1 0
n t .3 .7
n n .01 .99 Alarm
tak,nie Pożar
nie,tak TIR
nie,tak