Upload
nedzad-junuzovic
View
22
Download
2
Embed Size (px)
DESCRIPTION
Bayesove Mreze
Citation preview
Bayesove mreže
Zagreb, 19. prosinca 2008.
Marin Prcela
Literatura
� U prezentaciji korišteni primjeri iz:� Stuart Russel, Peter Norvig: Artificial Intelligence - a modern appoach (knjiga)
� Eugen Charniak: Bayesian Networks without tears, AI magazine (dostupan sahttp://www.zemris.fer.hr/predmeti/krep/Charni91.pdf)
� Scott Davies, Andrew Moore: Bayesian Networks and Inference (slajdovi s predavanja, http://www.cs.cmu.edu/~awm/tutorials)
� Richard E. Neapolitan: Learning Bayesian Networks (knjiga)
Nepouzdano znanje
� inteligentni agenti redovito nemaju potpunu slikuo svijetu
� potreba za korištenjem vjerojatnosti� racionalne odluke:
� temeljene na relativnoj važnosti ciljeva i vjerojatnosti po kojima ti ciljevi mogu biti ostvareni
� primjer: � veza izmeñu zubobolje i karijesa - logička ili vjerojatnosna?
A priori vjerojatnost
� vjerojatnost dogañaja u slučaju nedostatka bilo koje druge informacije
P(Cavity=true) = 0.1 ili P(cavity) = 0.1
� gdje je cavity boolean varijabla� za diskretne varijable možemo pisati:
P(Weather=sunny) = 0.7P(Weather=rain) = 0.2P(Weather=cloudy) = 0.08P(Weather=snow) = 0.02
� ili vektor:P(Weather) = <0.7, 0.2, 0.08, 0.02>
� ovo nazivamo distribucija vjerojatnosti
Uvjetna vjerojatnost
� vjerojatnost da je nešto istina uz poznate dodatne informacije o svijetu
� npr. siguran sam da me boli zub - koja je vjerojatnost karijesa
A BA
BP(A) = 0.1P(B) = 0.4
P(A⋀B) = 0.05
P(B|A) = P(A⋀B) / P(A)
P(A|B) = P(A⋀B) / P(B)
>>
Združena vjerojatnost
� kombinacija dva ili više dogañaja� za prikaz svih mogućih ishoda koristimo združenu distribuciju vjerojatnosti
� primjeri� P(Weather, Cavity) - tablica 4x2� P(Toothache, Cavity, Catch) - tablica 2x2x2
0.5760.1440.0640.016¬cavity
0.0080.0720.0120.108cavity
¬catchcatch¬catchcatch
¬toothachetoothache
Združena vjerojatnost
� iz tablice združene distribucije vjerojatnosti možemo jednostavno izračunati� vjerojatnost za bilo koju kombinaciju dogaña� uvjetne vjerojatnosti za bilo koju kombinaciju dogañaja
P(cavity) = 0.108 + 0.012 + 0.072 + 0.008 = 0.2
P(cavity ∨ toothache) = 0.108 + 0.012 + 0.072 + 0.008 + 0.016 + 0.064 = 0.28
P(cavity|toothache) = P(cavity ⋀ toothache) / P(toothache) = (0.108 + 0.012) / (0.108 + 0.012 + 0.016 + 0.064) = 0.6
Združena vjerojatnost
� u tablici združene distribucije vjerojatnosti nije jasno prikazano što je uzrok a što posljedica veze meñu varijablama
� problem je veličina tablice: za iole veći problem preteško je definirati toliki broj združenih vjerojatnosti
� moguće je vrijednosti automatski "naučiti" iz skupa podataka, ali� spremište nepotrebno preveliko� a postoji i bolji način...
Bayesov teorem
� primjerdoktor zna da meningitis prouzrokuje ukočen vrat u 50% slučajeva. takoñer, doktor zna i neke a priori vjerojatnosti: pojavljivanje meningitisa a priori je jedan slučaj u 50,000, a ukočenog vrata jedan slučaj u 20 ljudi. kada se pojavi pacijent sa ukočenim vratom vjerojatnost meningitisa u tog pacijenta jest...
P(vrat|meningitis) = 0.5P(meningitis) = 1/50000P(vrat) = 1/20
P(B|A) = P(A⋀B) / P(A)P(A|B) = P(A⋀B) / P(B)
slijedi... )(
)()|()|(
AP
BPBAPABP =
P(meningitis|vrat) = 0.0002
... iako meningitis izaziva ukočen vrat u velikom broju slučajeva, ukočen vrat ne znači meningitis!
Bayesova mreža
Bayesova mreža je� usmjereni aciklički graf (DAG)� čvorovi su varijable u problemu
� diskretne varijable
� usjmereni bridovi pokazuju povezanost varijabli� jedan brid pokazuje relaciju otac->dijete� koje vjerojatnosti su važne za računanje neke druge
� svaki čvor ima združenu distribuciju vjerojatnosti� P(xi|roditelji(xi))� prikazuje utjecaj roditelja na dijete
� dvije ključne komponente znanja:� struktura (graf)� vrijednosti (brojke u tablicama u čvorovima)
Primjer
� dolazim kući i želim znati ima li koga doma prije nego primim bravu
� svjetlo na trijemu� žena ga često upali kad ode negdje� žena ga često upali kada očekuje goste
� imamo psa� kad nema nikog doma vodimo ga iza kuće� vodimo ga iza kuće i kad ima problema sa probavom� ako je iza kuće mogao bih ga čuti kako laje, ali to se lako zamijeni sa lavežom drugih pasa
� kako modelirati zavisnost ovih varijabli, kako napraviti apstrakciju problema?
Struktura
� struktura mreže pokazuje veze meñu varijablama
Zaključivanje iz strukture
� što mogu zaključiti� predvidjeti što će se dogotiti (ako moji odu od kuće)� pogoditi razloge promatranih dogañaja (ako je svjetlo upaljeno a pas je pušten tada su moji vjerojatno vani)
� zaključci nisu apsolutni� moji mogu otići i bez da upale svjetlo� vjerojatnosti!
� što ako razlozi upućuju na različite zaključke� čujem psa a svjetlo je ugašeno� treba vidjeti koji razlozi imaju veću težinu
� sve kombinacije vjerojatnosti nisu uvijek dostupne
Bayesova mreža
P(fo) = 0.15 P(bp) = 0.01
P(lo|fo) = 0.6P(lo|¬fo) = 0.05
P(do|fo bp) = 0.99P(do|fo ¬bp) = 0.90P(do|¬fo bp) = 0.97P(do|¬fo ¬bp) = 0.3
P(hb|do) = 0.7P(hb|¬do) = 0.01
Bayesova mreža
� za upotpunjenje Bayesove mreže strukturi je potrebno dodati:� a priori vjerojatnosti za čvorove bez roditelja (roots)� uvjetne vjerojatnosti za sve čvorove s roditeljima za sve moguće kombinacije ishoda njihovih roditelja
� to smo ispunili definiravši ukupno 10 vrijednosti� za prikazati isto to pomoću združene distribucije vjerojatnosti (za n varijabli) potrebno bi bilo definirati 2n-1 vrijednosti (=31)
� za veće mreže ušteda je drastična� to je posljedica ugrañene pretpostavke nezavisnosti kod Bayesove mreže
Ključno
� iz postavljenih vjerojatnosti mogu se izračunati a priori vjerojatnosti za sve varijable� npr. a priori vjerojatnost da je pas pušten
� postavljanjem dokaza na mrežu mogu zaključiti kako to utječe na očekivanja ostalih varijabli� npr. kada vidim da je upaljeno svjetlo koja je vjerojatnost da je obitelj vani
� kada čujem da pas laje koja je vjerojatnost da je obitelj vani
� kada vidim svjetlo i čujem psa koja je vjerojatnost da je pas vani
� kada vidim upaljeno svjetlo koja je vjerojatnost da će pas zalajati (ima li ovo smisla u realnom svijetu)
Zaključivanje
� problemi zaključivanja:� odreñivanje meñuzavisnosti čvorova � računanje a priori vjerojatnosti� propagacija dokaza unaprijed kroz mrežu (u smjeru strelica)
� propagacija dokaza unazad kroz mrežu (obrnuto od smjera strelica)
� "skretanje" - kombinirano� propagacija sa višestrukim putevima kroz mrežu (složeno)
� višestruki putevi � moguće je da pas laje ovisno o upaljenom svjetlu (direktna veza izmeñu ova dva čvora)
SLIJEDI
Računanje a priori vjerojatnosti
X
W
Z
Y
P(x1) = .4
P(y1|x1) = .9P(y1|x2) = .8
P(z1|y1) = .7P(z1|y2) = .4
P(w1|z1) = .5P(w1|z2) = .6
P(y1) = P(y1|x1)P(x1) + P(y1|x2)P(x2)= 0.9*0.4 + 0.8*0.6= 0.84
P(z1)= P(z1|y1)P(y1) + P(z1|y2)P(y2)= 0.7*0.84 + 0.4*0.16= 0.652
P(w1)= P(w1|z1)P(z1) + P(w1|z2)P(z2)= 0.5*0.652 + 0.6*0.348= 0.5348
P(y1) = .84P(y2) = .16
P(z1) = .652P(z2) = .348
P(w1) = .5348P(w2) = .4652
P(x1) = .4P(x2) = .6
ZADANO
sve kombinacije roditelja
Propagacija unaprijed
� poznato je (postoje dokazi) da je X = x1� očekivanja svih ostalih varijabli se mijenjaju
� a priori vjerojatnoti se više ne očekuju jer postoje dokazi!� koja su nova očekivanja?
P(y1|x1) = 0.9
P(z1|x1) = P(z1|y1)P(y1|x1) + P(z1|y2)P(y2|x1)= 0.7*0.9 + 0.4*0.1 = 0.67
P(w1|x1)= P(w1|z1)P(z1|x1) + P(w1|z2)P(z2|x1)= 0.5*0.67 + 0.6*0.33= 0.533
X
W
Z
Y
evidence of x1
P(y1|x1) = .9P(y2|x1) = .1
P(z1|x1) = .67P(z2|x1) = .33
P(w1|x1) = .533P(w2|x1) = .467
Propagacija unatrag� poznato je da je W = w1� prvo računamo očekivanja za čvor Z
� zatim za čvor Y
� meñutim, nedostaje nam i vrijednost P(w1|y1), ali jemožemo izračunati
� pa slijedi da je
6096.05348.0
652.0*5.0
)1(
)1()1|1()1|1( ===
wP
zPzwPwzP
)1(
)1()1|1()1|1(
wP
yPywPwyP =
53.0
3.0*6.07.0*5.0
)1|2()2|1()1|1()1|1(
)1|1(
=
+=
+= yzPzwPyzPzwP
ywP
832.05348.0
84.0*53.0)1|1( ==wyP
Propagacija unatrag
� za vježbu: izračunati P(x1|w1)� hint: da se ovo izračuna potrebno je prethodno izračunati
vrijednosti za P(w1|y2), P(w1|x1)
X
W
Z
YP(y1|w1) = .832P(y2|w1) = .168
P(z1|w1) = .6096P(z2|w1) = .3904
evidence of w1
P(x1|w1) = .399P(x2|w1) = .601
Skretanje
� kako se dokaz o upaljenom svjetlu reflektira naočekivanje psećeg laveža?� propagacijom unatrag se računa očekivanje da je obitelj vani
� propagacijom unaprijed očekivanje da je pas vani� propagacijom unaprijed očekivanje laveža
...a što je sa višestrukim dokazima?
Višestruki putevi
� postoje dva puta koja vode od light-on do hear-bark� smjer strelica je nevažan
� problem nastaje čim graf nije stablo
� algorimi za izračun kad su prisutni višestruki putevi� složeni za naše potrebe� e.g. pearl's message passing algorithm, clustering, relevance
based, etc.� moguće izračunati uzorkovanjem
Zavisnosti meñu čvorovima
� ako je zadana Bayesova mreža, kako odrediti koji su čvorovi meñusobno zavisni� tj. iako se dokazima promjeni vjerojatnost na nekim čvorovima, postoje čvorovi u mreži na koje to neće uopće utjecati
� PrimjerX
Z
Y
- X i Z su meñusobno zavisni- meñutim: ako je poznat Y, tada su X i Z nezavisni
Pišemo: I<X,Y,Z>
- svi roditelji od Z su poznati a X mu nije meñu sljedbenicima!
Zavisnost meñu čvorovima ovisi o poznatim dokazima u mreži!!!
Još o zavisnostima
X Z
YI<X,Y,Z> ?DA! Svi roditelji od Z su poznati a X mu nije meñu sljedbenicima.
U V
Z
X
I<X,U,Z> ?NE! X je meñu sljedbenicima od Z
I<X,{U,V},Z> ?DA! Svi roditelji od X su poznati a Z munije meñu sljedbenicima.
Intuicija: Kada su svi putevi izmeñu čvorova "presječeni" oni su nezavisni.
Zavisnost: složeni slučajUživam na godišnjem odmoru.Provalnik i potres mogu uzrokovatipaljenje alarma. Alarm će probuditi nekoga od susjeda koji će me zbog toga nazvati.
Zemlju nije briga da li je provalnik u mom stanu.
Vrijedi: I<Provalnik, {}, Potres>
Dok sam na godišnjem susjed me nazove i veli da mi doma zvoni alarm.-> rastu vjerojatnosti i za provalnika i za potres!
Nešto kasnije na vijestima čujem da je izbio manji potres. -> znači, možda ipak nije bio provalnik!
Ne vrijedi: I<Provalnik, {Telefon}, Potres>
Provalnik Potres
Alarm
Telefon
d-separacija
� relativno jednostavan način otkrivanja blokiranja puta izmeñu dva čvora
� put je blokiran kada:I) Na putu postoji čvor V
- za kojeg postoje dokazi- čiji su lukovi okrenuti jedan drugom "repovima"
II) Na putu postoji čvor V- za kojeg postoje dokazi- čiji su lukovi okrenuti "glava" prema "repu"
V
V
d-separation
III) Na putu postoji čvor V- za kojeg NE postoje dokazi- niti za bilo kojeg njegovog sljedbenika- a čiji su lukovi okrenuti jedan drugome "glavama"
� d-separation je izračunljiv u linearnom vremenu pomoću algoritma sličnog pretraživanju u dubinu
� prije računanja vjerojatnosti u čvorovima pokreće se algoritam koji će reći ima li kakvih izmjena u svakom pojedinom čvoru
V
Još par opaski...
� problem: � za opis mreže još uvijek je potrebno definirati relativno velik broj
vrijednosti� kada čvorovi imaju po više roditelja pogotovo
� primjer:� kod dijagnostičkih problema u medicini vrlo se često dogaña da razne
bolesti uzrokuju iste simptome, npr. povišene temperatura, kašalj
� rješenje:� uvoñenje novog oblika definicije zavisnosti
� noisy-OR� noisy-AND
� smanjuje se broj traženih vrijednosti
� postoje algoritmi za� učenje strukture mreže iz skupa podataka� učenje vrijednosti uvjetnih vjerojatnosti iz skupa podataka
Uzorkovanje
� Na temelju zadane Bayesove mreže moguće je generirati umjetan skup podataka:� Koji će slijediti zavisnosti zadane u mreži� Proizvoljne veličine� Koji zatim može poslužiti za računanje očekivanja u mreži
� Primjer rezultata uzorkovanja
nedaneda
...
dadadane
danenene
TelefonAlarmPotresProvalnik
Uzorkovanje unaprijed
� Forward sampling (Henrion 1988)� Poslagati čvorove u niz kako se pojavljuju u mreži� Niti jedno dijete ne smije se pojaviti prije svog roditelja
� Postupak kada nema postavljenih dokaza� Ulaz: Bayesova mreža sa N čvorova X = {X1, X2, …, XN}� Jedan uzorak se generira tako da se svaki element Xigenerira na temelju već generiranih vrijednost njegovih roditelja u mreži
� Xi = uzorkovano na temelju p(Xi|roditelji(Xi))
Primjer uzorkovanja unaprijed
� Kako generirati jedan uzorak na temelju mreže (slide 14)?� Poslagati čvorove po topologiji:
� X = {fo, bp, lo, do, hb}
� Tim redosljedom stvarati uzorak:� P(fo) = 0.15 -> slučajnim odabirom dobije se “da”� P(bp) = 0,01 -> slučajno odabran “ne”� P(lo|fo) = 0.6 -> slučajno odabran “da”� P(do|fo,¬bp) = 0.9 -> slučajno odabran “da”� P(hb|do) = 0.7 -> slučajno odabran “ne”
� Dobiveni uzorak� X = {da, ne, da, da, ne}
� Ponavljanjem ove procedure generira se skup uzoraka!
Uzorkovanje uz prisustvo dokaza
� Kada je slučajno odabrana vrijendost drugačija od postavljenog dokaza odbaciti uzorak i pokušati ponovno graditi uzorak od početka!
� Primjetiti:� Nije dovoljno postaviti u uzorak vrijednost dokaza jer se tada čvorovi bez postavljenih dokaza ne generiraju u ovisnosti o dokazima
� Problem: na ovaj način se eliminira velik broj uzoraka pa je algoritam spor
Maximum likelihood sampling
� U čvorovima koji imaju dokaz se umjesto slučajnog odabira direktno postavi vrijednost dokaza� ali se dobiveni uzorak uzima s odreñenom težinom� težina ovisi o vjerojatnosti odabira vrijendosti koja je identična
postavljenom dokazu� težine se množe kada je dokaza više� Pri korištenju uzoraka težine se moraju uzeti u obzir
� Ostale metode: � Gibbs sampling� Importance sampling� Sequential Monte Carlo � ...
Utility
� donošenje racionalnih odluka zasnovanih na poznatim vjerojatnostima
� novac - mjera s kojom se može kvantitativno ocijeniti vrijednost mnogih stvari� jenostavan za usporedbu pri donošenju odluka� možemo pretpostaviti da agent preferira da ima više novca
� što je realna pretpostavka
� takoñer, pretpostavimo da linearno s količinom novca raste količina zadovoljstva
� što i nije uvijek realna pretpostavka� Grayson, 1960: vrijednost novca raste logaritamski!
... To judge what one must do to obtain a good or avoid an evil, it is necessary to consider not only the good and the evil in itself, but also the probability that it happens or does not happen; and to view geometrically the proportion that all these things have together.
Arnauld, 1662
Utility
� ponašanje ljudi (psihologija)� risk-averse - idu na sigurno� risk-seeking - kad su već u dugovima riskiraju bez većih poteškoća
� osiguravateljske kuće - radije plaćam malo osiguranje nego da riskiram puni iznos u slučaju požara u kući
� nekonsistentnost sa utility funkcijom
koja je bolja oklada?A: 80% šanse za dobitak $4000B: 100% šanse za dobitak $3000
koja je bolja oklada?A: 20% šanse za dobitak $4000B: 25% šanse za dobitak $3000
Ljudi obično biraju B
Ljudi obično biraju A
Zaključak
� Bayesova mreža je dobra jer...� Je odlična za modeliranje vjerojatnosti� Primjenjiva u stvarnim aplikacijama� Postoje gotove implementacije
� Poteškoće su...� I dalje je potrebno definirati veliku količinu brojki
� Što predstavlja velik problem ekspertima� Ako se uči iz podataka model nije toliko pouzdan
� Na auditornim vježbama� Zadaci� Alat za Bayesove mreže: Genie + Smile