• Nie Znaleziono Wyników

Algorytmy stochastyczne Wykład 08, Sieci bayesowskie

N/A
N/A
Protected

Academic year: 2021

Share "Algorytmy stochastyczne Wykład 08, Sieci bayesowskie"

Copied!
8
0
0

Pełen tekst

(1)

Algorytmy stochastyczne Wykład 08, Sieci bayesowskie

Jarosław Piersa 2014-03-13

1 Powtórzenie z prawdopodobieństwa

Można pominąć przy czytaniu i wracać dopiero, gdy jakieś pojęcia w części właściwej notatek będą niejasne.

1.1 Prawdopodobieństwo

Dla przestrzeni skończonej!

• Prawdopodobieństwem zajścia zdarzenia A jest

P(A) :=

liczba zdarzeń spełniających A liczba wszystkich zdarzeń . W ogólnym przypadku

• Prawdopodobieństwem zajścia zdarzenia ze zbioru A jest

P(A) := miara zbioru A

miara całej przestrzeni = µ(A) µ(Ω). 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?”

Przykład 1

• 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.

(2)

Przykład 2

• Rzucamy kostką sześcienną:

• 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,

• Nie musi być prawdą (i zwykle nie jest!), że P(A|B) = P(B|A)!

Prawdopodobieństwo warunkowe po wielu zdarzeniach

• prawdopodobieństwo A pod warunkiem B i C

P(A|B, C) = P(A ∩ B ∩ C) P(B ∩ C) Niezależność zdarzeń

• Dwa zdarzenia A i B są niezależne jeżeli

P(A ∩ B) = P(A) · P(B),

• równoważne definicje:

P(A|B) = P(A) P(B|A) = P(B)

• zadanie: dlaczego definicje są równoważne?

• 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)

1.2 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?

• (mniej intuicyjnie) jakie jest prawdopodobieństwo, że zmienna przyjmuje jedną z wartości 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?

• Zdarzenie „zmienna losowa X przyjmuje wartość 1” oznaczamy X = 1

• Prawdopodobieństwo zdarzenia, że „zmienna losowa X przyjmuje wartość x1” oznaczamy P(X = x1)

(3)

• Jeżeli zmienna losowa X przyjmuje k różnych wartości (skończenie wiele), to P(X = x1) + P(X = x2) + · · · + P(X = xk) = 1.

• Podobna własność zachodzi jeżeli wartości jest przeliczalnie wiele,

UWAGA! Jeżeli nie będzie zaznaczone inaczej, to do końca wykładu zakładamy, że zmienna losowa przyjmuje skończenie wiele wartości.

Reguła łańcucha

• Jeżeli zmienna losowa X przyjmuje k różnych wartości, to

k

X

i=1

P(Y |X = xi, Z) · P(X = xi|Z) = P(Y |Z)

Rozkład zmiennej losowej

• w wypadku zmiennej losowej ciągłej — funkcja gęstości,

• dla zmiennych skończonych wystarczy tabela: wartość — prawdopodobieństwo wartości.

P(X = xi|Y = yj) = P(X = xi), dla każdych xi yj.

Niezależność zmiennych losowych X i Y

• Dwie zmienne losowe X i Y są niezależne jeżeli dla i = 1..k i dla j = 1..l każda para zdarzeń (X = xi) i (Y = yl) jest niezależna,

• tzn spełniają

Warunkowa niezależność zmiennych losowych X i Y pod warunkiem zdarzenia C

• Dwie zmienne losowe X i Y są niezależne pod warunkiem C jeżeli dla i = 1..k i dla j = 1..l zdarzenia (X = xi|C) i (Y = yl|C) są niezależne

• tzn spełniają:

P(X = xi|Y = yj, C) = P(X = xi|C), dla każdych xi yj.

(Skrót myślowy) Warunkowa niezależność zmiennych losowych X i Y pod warunkiem zmiennej losowej Z

• Dwie zmienne losowe X i Y są niezależne pod warunkiem C jeżeli dla i = 1..m i dla j = 1..n, k = 1..o zdarzenia (X = xi|Z = zk) i (Y = yl|Z = zk) są niezależne

• tzn spełniają:

P(X = xi|Y = yj, Z = zk) = P(X = xi|Z = zk), dla każdych xi yj, zk.

2 Sieci bayesowskie

2.1 Przykład 1

Pogoda słońce,deszcz

Spóźnienie nie,15 min,tak

Tabele prawdopodobieństw warunkowych (TPW, CPT = Conditiona Probability Tables)

(4)

• Pogoda

Pogoda Pog =słońce Pog = deszcz

.45 .55

• Spóźnienie

warunek P(Sp = nie) P(Sp = 15m) P(Sp = tak)

Pogoda = słońce .8 0.1 0.1

Pogoda = deszcz .3 0.4 0.3

2.1.1 Wnioskowanie

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)

• prawdopodobieństwo brzegowe (apriori):

= 0.1 · 0.45 + 0.4 · .55 = .045 + .22 = 0.265 Jakie jest prawdopodobieństwo, że się nie spóźnię jeżeli wiadomo, że jest deszczowo?

• wnioskowanie predyktywne

• P(Sp = nie|P og = deszcz) =??

• w tym wypadku odczytujemy bezpośrednio z tabeli

• ogólnie jest trudniej

Jakie jest prawdopodobieństwo, że dziś pada, jeżeli wiadomo, że się spóźniłem?

• wnioskowanie diagnostyczne

• P(P og = deszcz|Sp = tak) =??

• ze wzoru Bayesa:

P(P og = deszcz|Sp = tak) = P(Sp = tak|P og = de) · P(P og = de) P(Sp = tak)

• P(Sp = tak|P og = de) = 0.3 — z tabeli dla Spóźnienia

• P(P og = de) = 0.55 — z tabeli dla Pogody

• P(Sp = tak) = ... — trzeba policzyć (patrz 2 slajdy wstecz)

P(Sp = t) = P(Sp = tak|P og = de)P(P og = de) + P(Sp = tak|P og = sl)P(P og = sl)

• Zatem:

P(Sp = t) = .3 · .55 + .1 · .45 = 0.21

• 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

(5)

2.2 Definicja

Siecią bayesowską

• 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

• 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”

Konstrukcja:

• węzeł bez rodziców jest „praprzyczyną” — ma tabele bez warunków

• węzły z rodzicami mają tabele prawdopodobieństw warunkowych

• dla każdej [możliwej] konfiguracji stanów rodziców, węzeł musi mieć określony wiersz w tabeli prawdopodobieństw

• węzeł bez potomków jest liściem (nie ma innych na które miałby wpływ)

• sieć nie zawiera cykli skierowanych (directed acyclic graph — DAG)

• sieć może zawierać różne ścieżki między tą samą parą węzłów, ale nie tworzą one skierowanego cyklu (po zapomnieniu orientacji wygląda jak cykl)

Wnioskowanie:

• sieć powinna obliczyć prawdopodobieństwa wybranych (wszystkich) węzłów

• prawdopodobieństwa bez warunków są to prawdopodobieństwa brzegowe (apriori)

• do sieci możemy wprowadzić wiedzę (evidence) E

• zaobserwowaliśmy wartości na pewnych (nie wszystkich!) węzłach w sieci

• przy tej wiedzy zmienia się prawdopodobieństwo pozostałych P(X|E) =??

• Proces obliczania tych prawdopodobieństw nazywamy wnioskowaniem (inference, reasoning, updateing)

• Algorytmy wnioskowania: dokładne, przybliżone

• wnioskowanie w ogólnych sieciach bayesowskich jest problemem NP-Trudnym (już nie NP-zupełnym)

• w ogólnych sieciach bayesowskich można wygenerować wykładniczą złożoność pamięciową!

Pakiety do sieci bayesowskich

• Tetrad IV / V (GNU GPL, Java): 2014-03 http://www.phil.cmu.edu/projects/tetrad/

• SMILE (C++/Java) i GeNIe (freeware, własnościowy, Windows): 2013-11 http://genie.sis.pitt.edu/

• OpenBUGS (GNU GPL, Windows, Linux, wersja tekstowa): 2013-03 http://www.openbugs.net

• BUGS (= Bayesian inference Using Gibbs Sampler) (freeware, Windows, UNIX, wersja okienkowa tylko na Windows):

porzucony w 2008

http://www.mrc-bsu.cam.ac.uk/software/bugs/

• Netica (copyrighted, komercyjny, darmowa wersja z ograniczeniami, Windows): 2014?

https://norsys.com/netica.html

• Hugin Expert (copyrighted, komercyjny): 2014?

http://www.hugin.com

(6)

3 Wnioskowanie dokładne w prostych sieciach

3.1 Łańcuch

Uaktualnić!

3.2 Daszek (wspólna przyczyna)

Stan ok,hw,sw

Wiatrak nie,tak

Grafika nie,tak Tablice prawdopodobieństw warunkowych

• Stan komputera

Stan ok problem hardware’owy problem software’owy

− .65 .10 .25

• Wiatrak

Stan W = tak W = nie dziala

ok .9 .1

pr. hw .5 .5

pr. sw .8 .2

• Grafika

Stan G = tak G = nie działa

ok 1 0

pr. hw .2 .8

pr. sw .4 .6

Wnioskowania

• P(S = ok) — z tabeli

• P(G = tak), P(W = tak) — z prawdopodobieństwa całkowitego

• P(G = tak|S = tak) — bezpośrednio z tabeli

• P(S = hw|G = n) =?? — ze wzoru Bayesa – wz. Bayesa

P(S = hw|G = n) = P(G = n|S = h)P(S = h) P(G = n)

– liczmy P(G = n) ze 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)

• P(W = t|G = n) =??

– bezpośrednio nie da rady

– reguła łańcucha: dodajmy sumowanie po drugim trzecim węźle:

P(W = t|G = n) = 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) – jeżeli znamy Stan maszyny, to informacje o Grafice już nie są nam potrzebne

P P P (W = t|G = n, S = ok) = P(W = t|S = ok)

(7)

– co upraszcza:

P(W = t|G = n) = 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) – teraz P(S = sw|G = n), P(S = ok|G = n) i P(S = hw|G = n) — liczone dwa punkty wyżej:

P(S = hw|G = n) = P(G = n|S = h)P(S = h)

3

P

i=1

P(G = n|S = si)P(S = si)

P(S = sw|G = n) = P(G = n|S = sw)P(S = sw)

3

P

i=1

P(G = n|S = si)P(S = si)

P(S = ok|G = n) = P(G = n|S = ok)P(S = ok)

3

P

i=1

P(G = n|S = si)P(S = si) – wracamy do wzoru

P(W = t|G = n) = P(W = t|S = ok)P(G = n|S = ok)P(S = ok)

3

P

i=1

P(G = n|S = si)P(S = si)

+P(W = t|S = hw)P(G = n|S = hw)P(S = hw)

3

P

i=1

P(G = n|S = si)P(S = si) +P(W = t|S = sw)P(G = n|S = sw)P(S = sw)

3

P

i=1P(G = n|S = si)P(S = si)

3.3 V-Struktura

Alarm tak,nie Pożar

nie,tak

TIR nie,tak

Tablice

• Pożar

Pożar nie tak

− .05 .95

• TIR

TIR nie tak

− .6 .4

• Alarm

TIR Pożar A = Tak A = Nie

t t 1 0

t n 1 0

n t .3 .7

n n .01 .99

Wnioskowania

• P(Al = t|T = t) — z tabeli

• P(Al = t|P = t) — z tabeli

(8)

• P(A = t) — ze reguły łańcucha

P(A = t) = P(A = t|P = t)P(P = t) + P(A = t|P = n)P(P = n)

= P(A = t|P = t, T = t)P(P = t)P(T = t|P = t) + P(A = t|P = t, T = n)P(P = t)P(T = n|P = t) +P(A = t|P = n, T = t)P(P = n)P(T = t|P = n) + P(A = t|P = n, T = n)P(P = n)P(T = n|P = n) Węzeł T nie zależy od P , zatem P(T = t|P = p) = P(T = t), co upraszcza

P(A = t) = P(A = t|P = t, T = t)P(P = t)P(T = t) + P(A = t|P = t, T = n)P(P = t)P(T = n) +P(A = t|P = n, T = t)P(P = n)P(T = t) + P(A = t|P = n, T = n)P(P = n)P(T = n)

• P(P = t|A = t) — z wzoru Bayesa

P(P = t|A = t) = P(A = t|P = t)P(P = t) P(A = t)

= (P(A = t|P = t, T = t)P(T = t|P = t) + P(A = t|P = t, T = n)P(T = n|P = t)) P(P = t) P(A = t)

= (P(A = t|P = t, T = t)P(T = t) + P(A = t|P = t, T = n)P(T = n)) P(P = t) P(A = t)

• P(P = t|T = t) = P(P = t) — P i T są niezależne

• P(A = t|T = t, P = t) — z tabeli

• P(P = t|A = t, T = t) — nietrywialny

P(P = t|A = t, T = t) = P(A = t, P = t, T = t) P(A = t, T = t)

= P(A = t, P = t, T = t) P(A = t, T = t)

·P(P = t, T = t) P(P = t, T = t)

= P(A = t|P = t, T = t)) · P(P = t, T = t) P(A = t, T = t)

·P(T = t) P(T = t)

= P(A = t|P = t, T = t)) · P(P = t|T = t) P(A = t|T = t)

= P(A = t|P = t, T = t)) · P(P = t) P(A = t|T = t)

Literatura

[1] R. Neapolitan, Learning bayesian networks,

[2] P. Judea, Probabilistic reasoning and intelligent systems. Networks of plausible inference, Morgan Kaufman Inc. 1998.

Cytaty

Powiązane dokumenty

Utwórz w folderze ATRYBUTY plik o nazwie URUCHAMIANIE.TXT, sprawdź jak nazywa się plik uruchamiający INTERNET EXPLORER i wpisz jego nazwę z rozszerzeniem do pliku

Utwórz w folderze ATRYBUTY plik o nazwie URUCHAMIANIE.TXT, sprawdź jak nazywa się plik uruchamiający NOTATNIK i wpisz jego nazwę z rozszerzeniem do pliku

Utwórz w folderze LOKALNE plik o nazwie URUCHAMIANIE.TXT, sprawdź jak nazywa się plik uruchamiający Eksplorator Windows i wpisz jego nazwę z rozszerzeniem do pliku

Utwórz w folderze LIKALNE plik o nazwie URUCHAMIANIE.TXT, sprawdź jak nazywa się plik uruchamiający Windows Movie Maker i wpisz jego nazwę z rozszerzeniem do pliku

• Zadania powinny być napisane tak, aby umożliwić prostą i szybką ocenę poprawności działania po efektach (ocena poprawności poprzez analizowanie wypisanych -nastu stron liczb

Neapolitan, Learning bayesian networks, Pearspon Prentice Hall, Upper Saddle River, New

Herskovits, A Bayesian Method for Induction of Probailistic Networks from Data, Machoine Learning, 9, pp. Nielsen, Bayesian Networks and Decision Graphs,

Napisz interpreter systemów Liendenmayera ze stosem wraz z