Katedra
Podstaw
Konstrukcji
Maszyn
Wydział
Mechaniczny
Technologiczny
Metody Sztucznej
Politechnika
Inteligencji
Śląska
Kierunek studiów AiR, semestr 4
Prowadzący przedmiot
dr inż. Krzysztof Ciupke
Rok akademicki 2010/11
Instrukcja do ćwiczeń laboratoryjnych
Temat
Sieci przekonań
Opracował:
dr inż. M. Bednarski, dr inż. P. Chrzanowski
ul. Konarskiego 18a
44-100 Gliwice
tel. 32 237 1467
fax. 32 237 1360
http://www.kpkm.polsl.pl
Gliwice 2011-05-02 - 1/12 -
1. Cel ćwiczenia
Celem ćwiczenia jest zapoznanie się z zagadnieniami modelowania z zastosowaniem sieci bay-
esowskich i nabycie praktycznych umiejętności definiowania i stosowania tych sieci. W ramach
ćwiczeń stosowane będzie środowisko R oraz pakiet gRain[5].
2. Wprowadzenie
2.1. Sieć bayesowska
Sieć bayesowska to acykliczny (nie zawierający cykli) graf skierowany w którym węzły reprezen-
tują zmienne (np. temperaturę jakiegoś zródła, stan pacjenta, cechę obiektu itp.), a skierowane
gałęzie informacyjną lub przyczynową zależność pomiędzy tymi zmiennymi. Zależność ta jest
określona przez warunkowe prawdopodobieństwo, które jest przypisane do każdego połączenia
pomiędzy węzłami w sieci. Zmienne reprezentowane przez węzły przyjmują wartości dyskretne
(np.:Mały, Średni, Wysoki). Rysunek 1 przedstawia przykładową sieć bayesowską. Opisuje ona
zależności pomiędzy wystąpieniem zachmurzenia i zraszaniem trawy, pomiędzy wystąpieniem
zachmurzenia a wystąpieniem deszczu i pomiędzy zraszaniem trawy i wystąpieniem deszczu
a mokrą trawą. Obok każdego węzła przedstawiono tablicę prawdopodobieństw warunkowych
np. prawdopodobieństwo tego, że Trawa jest mokra (D = T AK) pod warunkiem, że Działał
zraszacz (B = T AK) oraz że Padał deszcz (C = NIE) jest równe 0, 9 (drugi wiersz).
Rys. 1: Przykładowa sieć bayesowska, zmodyfikowany przykład pokazany w [4]
Gliwice 2011-05-02 - 2/12 -
2.2. Konstruowanie sieci bayesowskiej
Aby wnioskować na podstawie danych należy najpierw zbudować sieć bayesowską.
Generalnie utworzenie takiej sieci wymaga pomocy eksperta z dziedziny, której dotyczy
tworzony model, w celu określenia właściwych zależności pomiędzy węzłami oraz prawdopodo-
bieństw warunkowych. W tym celu możliwe jest również zastosowanie technik uczenia. Więk-
szość oprogramowania komputerowego dotyczącego budowania sieci bayesowskich pozwala na
podstawie danych trenujących wyznaczyć odpowiednie parametry sieci (warunkowe rozkłady
prawdopodobieństwa). Istnieją również bardziej złożone programy komputerowe pozwalające
wyznaczyć związki przyczynowe pomiędzy zmiennymi (strukturę sieci).
Dla zagadnień prostych, konstruowanie sieci bayesowskiej składa się z następujących kro-
ków:
" zdefiniowanie zmiennych (węzłów sieci),
" zdefiniowanie połączeń pomiędzy zmiennymi,
" określenie prawdopodobieństw warunkowych i a priori 1,
" wprowadzenie do sieci danych,
" uaktualnienie sieci,
" wyznaczenie prawdopodobieństw a posteriori 2.
2.3. Przykład wnioskowania za pomocą sieci
Sieć przedstawioną na rysunku1 będziemy rozpatrywać dla trzech sytuacji :
1. nie wiemy nic tzn. nie wiemy czy wystąpiło zachmurzenie, czy padał deszcz, czy działał
zraszacz i czy trawa jest mokra,
2. wiemy, że trawa jest mokra,
3. wiemy, że występuje zachmurzenie oraz trawa jest mokra.
Rysunki 2,3,4 przedstawiają odpowiednio rozkłady prawdopodobieństw (określone w procen-
tach) w każdym węzle.
Z porównania rysunku 3 i 2 wynika, że wiadomość o tym iż trawa jest mokra pozwala
zwiększyć nasze przekonanie o tym, że padał deszcz (z 50% do 70%) oraz o tym, że działał
zraszacz (z 30% do 43%).
Z porównania rysunków 4 i 3 wynika, że dodatkowa wiadomość o tym iż występuje za-
chmurzenie pozwala zwiększyć przekonanie, że padał deszcz (z 70% do 97,6%) oraz znacznie
zmniejszyć przekonanie o tym, że działał zraszacz (z 42% do 13%). Gdybyśmy ponadto w
kolejnym kroku stwierdzili, że zraszacz nie działa to nasze przekonanie o tym, że padał deszcz
wzrasta do 100%.
1
a priori - (z łaciny - z założenia) - niezależne od doświadczenia, zdobyte na podstawie rozumowania,
intuicję itp.
2
a posteriori (z łaciny - z następstwa) - uzyskane na podstawie doświadczenia
Gliwice 2011-05-02 - 3/12 -
Rys. 2: Rozkłady prawdopodobieństwa dla sytuacji 1 ( nie wiemy nic ).
Rys. 3: Rozkłady prawdopodobieństwa dla sytuacji 2 ( wiemy, że trawa jest mokra ).
Rys. 4: Rozkłady prawdopodobieństwa dla sytuacji 3 ( wiemy, że występuje zachmurzenie i
trawa jest mokra ).
Gliwice 2011-05-02 - 4/12 -
2.4. Twierdzenie Bayesa
Prawdopodobieństwa warunkowe służą do wyrażania zależności między zdarzeniami. Prawdo-
podobieństwo zajścia zdarzenia A wtedy gdy zaszło zdarzenie B, definiuje się dla dowolnych
zdarzeń A, B ą" Ł (gdzie Ł - zbiór zdarzeń elementarnych), przy założeniu, że P (B) > 0,
jako prawdopodobieństwo warunkowe
P (A, B)
P (A|B) = (1)
P (B)
gdzie P (A, B) oznacza prawdopodobieństwo łącznego zajścia zdarzeń A i B.
Z prawdopodobieństwem warunkowym wiąże się wzór Bayesa:
P (B|A) P (A)
P (A|B) = (2)
P (B)
2.4.1. Obliczanie prawdopodobieństw a posteriori
W sieci bayesowskiej węzły reprezentują zmienne i przyjmują wartości dyskretne - stany. Dla
zmiennej A, której wartości dyskretne (stany) przyjmują wartości a1, . . . , an, rozkład prawdo-
podobieństwa wartości dyskretnych stanów jest oznaczany jako P (A):
n
P (A) = (x1, . . . , xn) xi 0 xi = 1, (3)
i=1
gdzie: xi jest prawdopodobieństwem tego, że A przyjmuje wartość ai i jest oznaczane
P (A = ai).
Dla zmiennej B przyjmującej wartości b1, . . . , am, P (A|B) jest n m tablicą zawierającą
prawdopodobieństwa warunkowe P (ai|bj)
Aączne prawdopodobieństwo P (A, B) jest również tablicą nm wymiarową i zawiera prawdo-
podobieństwa każdej konfiguracji (ai, bj). W celu wyznaczenia łącznego prawdopodobieństwa
należy skorzystać ze wzoru (na podstawie wzoru 1):
P (ai, bj) = P (bi|aj) P (aj) (4)
Ogólna postać wzoru:
P (A, B) = P (B|A) P (A) (5)
Na podstawie łącznego prawdopodobieństwa P (A, B) można wyznaczyć prawdopodobień-
stwo P (B) wg wzoru 6. Zabieg ten nazywany jest marginalizacją zmiennej A.
n
P (bj) = P (ai, bj) (6)
i=1
Ogólna postać wzoru:
P (B) = P (A, B) (7)
A
Gliwice 2011-05-02 - 5/12 -
Przykład 1:
Obliczyć prawdopodobieństwo P (B) dla przypadku przedstawionego na rys.5 [?].
Rys. 5: Przykład 1
Rozwiązanie: Najpierw należy policzyć łączne prawdopodobieństwo P (A, B) wg wzoru 5
(Tabela 1), a następnie dokonać marginalizacji zmiennej A wg wzoru 7 (Tabela 2).
Tab. 1: Prawdopodobieństwo łączne P (A, B)
b1 b2 b3
a1 0, 2 0, 4 = 0, 08 0, 3 0, 4 = 0, 12 0, 5 0, 4 = 0, 2
a2 0, 6 0, 6 = 0, 36 0, 25 0, 6 = 0, 15 0, 15 0, 6 = 0, 09
Tab. 2: Prawdopodobieństwo P (B)
b1 b2 b3
a1 0, 08 0, 12 0, 2
a2 0, 36 0, 15 0, 09
P (B) 0, 08 + 0, 36 = 0, 44 0, 12 + 0, 15 = 0, 27 0, 2 + 0, 09 = 0, 29
Gliwice 2011-05-02 - 6/12 -
Przykład 2: Obliczyć prawdopodobieństwo P (W ) i P (H) dla przypadku przedstawionego na
rys. 6 oraz P (H) dla przypadku, w którym węzeł W jest ustalony (rys. 7) [?].
Rys. 6: Przykład 2a
Rys. 7: Przykład 2b
Gliwice 2011-05-02 - 7/12 -
Rozwiązanie (przykład 2a): Aby obliczyć prawdopodobieństwo P (W ) i P (H) należy naj-
pierw obliczyć łączne prawdopodobieństw P (W, I) (tabela 3) i P (H, I) (tabela 4), a następnie
dokonać marginalizacji zmiennej I (tabele 5 i 6).
Tab. 3: Prawdopodobieństwo łączne P (W, I)
W=y W=n
I=t 0, 8 0, 7 = 0, 56 0, 7 0, 2 = 0, 14
I=n 0, 1 0, 3 = 0, 03 0, 9 0, 3 = 0, 27
Tab. 4: Prawdopodobieństwo łączne P (H, I)
H=y H=n
I=t 0, 8 0, 7 = 0, 56 0, 7 0, 2 = 0, 14
I=n 0, 1 0, 3 = 0, 03 0, 9 0, 3 = 0, 27
Tab. 5: Prawdopodobieństwo P (W )
W = y W = n
I = t 0, 56 0, 14
I = n 0, 03 0, 27
P (W ) 0, 59 0, 41
Tab. 6: Prawdopodobieństwo P (H)
W = y W = n
I = t 0, 56 0, 14
I = n 0, 03 0, 27
P (W ) 0, 56 + 0, 03 = 0, 59 0, 14 + 0, 27 = 0, 41
Gliwice 2011-05-02 - 8/12 -
Rozwiązanie (przykład 2b): Aby obliczyć prawdopodobieństwo P (H) należy najpierw ob-
liczyć łączne prawdopodobieństw P (H, I) wg wzoru 8, a następnie dokonać marginalizacji
zmiennej I. Aby obliczyć prawdopodobieństwo łączne P (H, I) (tabela 8) należy najpierw wy-
znaczyć prawdopodobieństwo warunkowe P (I|W = y) (tabela 7) wykorzystując twierdzenie
Bayesa (wzór 9).
P (H, I) = P (H|I) P (I|W = y) (8)
P (W = y|I) P (I)
P (I|W = y) = (9)
P (W = y)
Tab. 7: Prawdopodobieństwo P (I|W = y)
W = y
0,80,7
I = t = 0, 95
0,59
0,10,3
I = n = 0, 05
0,59
Tab. 8: Prawdopodobieństwo P (H, I) i P (H)
H = y H = n
I = t 0, 8 0, 95 = 0, 76 0, 2 0, 95 = 0, 19
I = n 0, 1 0, 05 = 0, 005 0, 9 0, 05 = 0, 045
P (H) 0, 76 + 0, 005 = 0, 765 0, 19 + 0, 045 = 0, 235
3. Przykład w środowisku R
W środowisku R budowa sieci i wnioskowanie z zastosowaniem sieci Bayesa jest możliwe po-
przez stosowanie dodatkowej biblioteki o nazwie gRain[5]. Przykład kodu języka R dla sieci
przedstawionej na rysunku 8:
library("gRain")
yn <- c("tak","nie")
# definicja struktury sieci wraz z tablicami prawdopodobieństw warunkowych
a <- cptable(~A, values=c(10,90),levels=yn)
b.a <- cptable(~B+A, values=c(20,80,30,70),levels=yn)
c.a <- cptable(~C+A, values=c(50,50,60,40),levels=yn)
#kompilacja tablic prawdopodobieństw
Gliwice 2011-05-02 - 9/12 -
x <- compileCPT(list(a,b.a,c.a))
# definiowanie sieci
pn <- grain(x)
#kompilacja sieci
com <- compile(pn)
comProp <- propagate(com)
siec <- querygrain(comProp)
# ustalenie stanu węzła C na wartość tak
C_yes <- setFinding(comProp, c("C"), c("tak"))
#wyliczenie prawdopodobieństw dla pozostałych wezłów
siec_C_yes <- querygrain(C_yes)
#wyswietlenie obliczonych prawdopodobienstw
siec_C_yes
Rys. 8: Sieć bayesowska do zadania 2
Gliwice 2011-05-02 - 10/12 -
W środowisku R uzyskano następujący wynik:
$A
A
tak nie
0.08474576 0.91525424
$B
B
tak nie
0.2915254 0.7084746
4. Zadania do samodzielnego rozwiązania
Zadanie 1: Opracować kod w środowisku R z użyciem pakietu gRain reprezentujący sieć
przedstawioną na rysunku 2.
Rys. 9: Rozkłady prawdopodobieństwa dla sytuacji 1 ( nie wiemy nic ).
Następnie należy:
1. Zmienić wartość węzła Występuje zachmurzenie na TAK. Zaobserwować zmiany obli-
czonych prawdopodobieństw.
2. Ustalić wartość węzła Trawa jest mokra na NIE i zaobserwować zmiany wartości praw-
dopodobieństw.
3. Ustalić wartość węzła Występuje zachmurzenie na Unknow, węzła Trawa jest mokra na
TAK i zaobserwować zmiany wartości prawdopodobieństw, zbadać warunkową niezależ-
ność węzłów Działał zraszacz i Padał deszcz.
4. Dla ustalonych wartości węzła Trawa jest mokra (TAK lub NIE) zmieniać wartości węzła
Padał deszcz i obserwować zmiany prawdopodobieństw, zbadać warunkową niezależność
węzłów Działał zraszacz i Padał deszcz.
Gliwice 2011-05-02 - 11/12 -
Zadanie 2: Dla zagadnienia podanego przez prowadzącego należy:
1. opracować i przedstawić na kartce strukturę sieci,
2. w kodzie R z użyciem pakietu gRain zdefiniować strukturę sieci oraz tablice prawdopo-
dobieństw warunkowych,
3. przeprowadzić testowanie sieci przedstawiając uzyskane wyniki,
4. sporządzić wnioski.
Literatura
[1] Pearl J. and Russel S.: Bayesian networks. Report (R-277), November 2000, in Handbook
of Brain Theory and Neural Networks, M.Arbib, ed,MITPress, Cambridge, pp. 157 160.
[2] Finn V. Jensen: Bayesian Networks and Decision Graphs. Springer-Verlag, 2001.
[3] Murphy K.P: A Brief Introduction to Graphical Models and Bayesian Networks, 1998.
http://http.cs.ubc..ca/~murphyk/Bayes/bnintro.html
[4] Russell S., Norvig P.: Artificial Intelligence: A Modern Approach. 3-edition. Prentice Hall,
Englewood Cliffs, NI, 2009.
[5] Hojsgaard S.: A one minute introduction to the gRain package, http://cran.
r-project.org/web/packages/gRain/vignettes/gRain-intro.pdf
Gliwice 2011-05-02 - 12/12 -
Wyszukiwarka
Podobne podstrony:
lab3 Sieci przekonanSieci komputerowe wyklady dr FurtakOgolne zasady proj sieci wod kansieciSieci elektroenergetzcynepunkty sieci po tyczMxSieci telekomunikacyjne Łączność bezprzewodowamonter sieci i urzadzen telekomunikacyjnychr5[02] z2 01 nZWYCIĘSTWO W SIECI4 Sieci komputerowe 04 11 05 2013 [tryb zgodności]05 KARTY SIECIOWE SPRZĘTOWE SERCE SIECI LANwięcej podobnych podstron