ai 17 bayesove mreze

37
Bayesove mreže Zagreb, 19. prosinca 2008. Marin Prcela

Upload: maslinovik5003

Post on 22-Oct-2015

16 views

Category:

Documents


2 download

DESCRIPTION

dqds

TRANSCRIPT

Page 1: AI 17 Bayesove Mreze

Bayesove mreže

Zagreb, 19. prosinca 2008.

Marin Prcela

Page 2: AI 17 Bayesove Mreze

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)

Page 3: AI 17 Bayesove Mreze

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?

Page 4: AI 17 Bayesove Mreze

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

Page 5: AI 17 Bayesove Mreze

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)

>>

Page 6: AI 17 Bayesove Mreze

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

Page 7: AI 17 Bayesove Mreze

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

Page 8: AI 17 Bayesove Mreze

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

Page 9: AI 17 Bayesove Mreze

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!

Page 10: AI 17 Bayesove Mreze

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)

Page 11: AI 17 Bayesove Mreze

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?

Page 12: AI 17 Bayesove Mreze

Struktura

� struktura mreže pokazuje veze meñu varijablama

Page 13: AI 17 Bayesove Mreze

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

Page 14: AI 17 Bayesove Mreze

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

Page 15: AI 17 Bayesove Mreze

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

Page 16: AI 17 Bayesove Mreze

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)

Page 17: AI 17 Bayesove Mreze

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)

Page 18: AI 17 Bayesove Mreze

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

Page 19: AI 17 Bayesove Mreze

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

Page 20: AI 17 Bayesove Mreze

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

Page 21: AI 17 Bayesove Mreze

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

Page 22: AI 17 Bayesove Mreze

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?

Page 23: AI 17 Bayesove Mreze

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

Page 24: AI 17 Bayesove Mreze

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!!!

Page 25: AI 17 Bayesove Mreze

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.

Page 26: AI 17 Bayesove Mreze

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

Page 27: AI 17 Bayesove Mreze

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

Page 28: AI 17 Bayesove Mreze

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

Page 29: AI 17 Bayesove Mreze

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

Page 30: AI 17 Bayesove Mreze

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

Page 31: AI 17 Bayesove Mreze

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

Page 32: AI 17 Bayesove Mreze

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!

Page 33: AI 17 Bayesove Mreze

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

Page 34: AI 17 Bayesove Mreze

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

Page 35: AI 17 Bayesove Mreze

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

Page 36: AI 17 Bayesove Mreze

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

Page 37: AI 17 Bayesove Mreze

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