Sunteți pe pagina 1din 22

SPTR

Universitatea Politehnica din Bucuresti 2007-2008

Adina Magda Florea


http://turing.cs.pub.ro/sptr_08 si curs.cs.pub.ro

Curs 10
Retele bayesiene Predictie bayesiana Invatare bayesiana

Probabilitati
Probabiltate neconditionata (apriori) P(A|B) Probabilitate conditionata (aposteriori) P(A|B) Masura probabilitatii producerii unui eveniment A este o functie P:S p R care satisface axiomele: 0 e P(A) e 1 P(S) = 1 ( sau P(adev) = 1 si P(fals) = 0) P(A B) = P(A) + P(B) - P(A B)

A si B mutual exclusive P(A B) = P(A) + P(B) P(e1 e2 e3 en) = P(e1) + P(e2) + P(e3) + + P(en) e(a) multimea de evenimente atomice in care apare a, mutual exclusive si exhaustive P(a) = 7
eie(a)

P(ei)

Regula produsului
Probabilitatea conditionata de producere a evenimentului A in conditiile producerii evenimentului B P(A|B) = P(A B) / P(B) P(A B) = P(A|B) * P(B)

Inferente din DP
Distributie de probabilitate dur_d bdur_d carie 0.04 0.06 bcarie 0.01 0.89

P(Carie, Dur_d)

P(carie dur_d) = 0.04 + 0.01 + 0.06 = 0.11 P(carie) = 0.04 + 0.06 = 0.1 Se poate generaliza pt orice set de variabile Y si Z: P(Y) = z P(Y,z) O distributie peste Y se poate obtine prin insumarea peste toate celelalte variabilele dintr-o DP ce contine Y
6

Inferente din DP
dur_d evid carie ~carie 0.108 0.016 ~evid 0.012 0.064 ~dur_d evid 0.072 0.144 ~evid 0.008 0.576

Distributie de probabilitate

P(Carie, Dur_d, Evid)

P(carie | dur_d) = P(carie dur_d) / P(dur_d) P(~carie | dur_d) = P(~carie dur_d) / P(dur_d) P(dur_d) = 0.108 + 0.012 + 0.016+0.064 E = 1/ P(dur_d) E - Constanta de normalizare
7

Inferente din DP
P(Carie | dur_d) = E P(Carie, dur_d) = E [P(Carie, dur_d, evid) + P(Carie, dur_d, ~evid)] = E [ <0.108, 0.016> + <0.012, 0.064>] = E <0.12, 0.8> = <0.6, 0.4> De aici rezulta procedura de inferenta X variabila de interogare E variabilele observate (probe) si e valorile observate Y variabilele neobservate P(X|e) = E P(X,e) = E z P(X,e,y)

Regula lui Bayes


P(a^b) = P(a|b) P(b) P(a^b) = P(b|a)P(a) P(b|a) = P(a|b) P(b) / P(a)

Generalizare P(Y|X) = P(X|Y) P(Y) / P(X) cu normalizare P(Y|X) = E P(X|Y) P(Y)

Invatare Bayesiana
date probe, ipoteze Dropsuri h1: 100% cirese h2: 75% cirese 25% lamaie h3: 50% cirese 50% lamaie h4: 25% cirese 75% lamaie h5: 100% lamaie H tip de punga cu valori h1 .. h5 Se culeg probe (variabile aleatoare): d1, d2, cu valori posibile cirese sau lamaie Scop: prezice tipul de aroma a urmatorului drops Invatarea Bayesiana calculeaza probabilitatea fiecarei ipoteze pe baza datelor culese si afce predictii pe aceasta baza. Predictia se face pe baza tuturor ipotezelor, nu numai pe baza celei mai bune ipoteze

10

Invatare Bayesiana
Fie D datele cu valoarea observata d Probabilitatea fiecarei ipoteze, pe baza regulii lui Bayes, este: P(hi|d) = E P(d|hi) P(hi) P(X|d) = P(X|hi) P(hi|d) (1) (2) Predictia asupra unei ipoteze necunoscute X
i

Elemente cheie: ipotezele apriori P(hi) si probabilitatea unei probe pentru fiecare ipoteza P(d|hi) P(d|hi) =
h1 h2 h3 h4 h5 0.1 0.2 0.4 0.2 0.1
11

P(dj|hi)

(3)

Presupunem probabilitatea apriori pentru

h1 h2 h3 h4 h5 0.1 0.2 0.4 0.2 0.1


h1: 100% cirese h2: 75% cirese 25% lamaie h3: 50% cirese 50% lamaie h4: 25% cirese 75% lamaie h5: 100% lamaie P(hi|d) = E P(d|hi) P(hi)

P(lamaie) = 0.1*0 + 0.2*0.25 + 0.4*0.5 + 0.2*0.75+ 0.1*1 = 0.5 E = 1/0.5 = 2 P(h1|lamaie) = E P(lamaie|h1)P(h1) = 2*0.1*0 = 0 P(h2|lamaie) = E P(lamaie|h2)P(h2) = 2 * (0.25*0.2) = 0.1 P(h3|lamaie) = E P(lamaie|h3)P(h3) = 2 * (0.5*0.4) = 0.4 P(h4|lamaie) = E P(lamaie|h4)P(h4) = 2 * (0.75*0.2) = 0.3 P(h5|lamaie) = E P(lamaie|h5)P(h5) = 2 * (1*0.1) = 0.2

12

h1 h2 h3 h4 h5 0.1 0.2 0.4 0.2 0.1


h1: 100% cirese h2: 75% cirese 25% lamaie h3: 50% cirese 50% lamaie h4: 25% cirese 75% lamaie h5: 100% lamaie P(hi|d) = E P(d|hi) P(hi) P(d|hi) = j P(dj|hi)

P(lamaie,lamaie) = 0.1*0 + 0.2*0.25*0.25 + 0.4*0.5*0.5 + 0.2*0.75*0.75+ 0.1*1*1 = 0.325 E = 1/0.325 = 3.0769 P(h1|lamaie,lamaie) = E P(lamaie,lamaie|h1)P(h1) = 3* 0.1*0*0 =0 P(h2|lamaie,lamaie) = E P(lamaie,lamaie|h2)P(h2) = 3 * (0.25*.25*0.2) = 0.0375 P(h3|lamaie,lamaie) = E P(lamaie,lamaie|h3)P(h3) = 3 * (0.5*0.5*0.4) = 0.3 P(h4|lamaie,lamaie) = E P(lamaie,lamaie|h4)P(h4) = 3 * (0.75*0.75*0.2) = 0.3375 P(h5|lamaie,lamaie) = E P(lamaie,lamaie|h5)P(h5) = 3 * (1*1*0.1) = 0.3
13

P(hi|d1,,d10) din ecuatia (1)

14

h1 h2 h3 h4 h5 0.1 0.2 0.4 0.2 0.1 h1: 100% cirese h2: 75% cirese h3: 50% cirese h4: 25% cirese h5: 100% lamaie 25% lamaie 50% lamaie 75% lamaie

P(X|d) =

P(X|hi) P(hi|d)

P(d2=lamaie|d1)=P(d2|h1)*P(h1|d1) + P(d2|h2)*P(h2|d1) + P(d2|h3)*P(h3|d1) + P(d2|h4)*P(h4|d1) + P(d2|h5)*P(h5|d1) = = 0*+0.25*0.1+.5*0.4+0.75*0.3+1*0.2 = 0.65


Predictie Bayesiana

15

Observatii
Ipoteza adevarata va domina in final predictia Predictia Bayesiana este optimala: fiind dat setul de ipoteze, orice alta predictie va fi corecta mai putin frecvent Probleme daca spatiul ipotezelor este mare Aproximare Se fac predictii pe baza ipotezei celei mai probabile MAP Learning maximum aposteriori P(X|d)=~P(X|hMAP) In exemplu hMAP=h5 dupa 3 probe deci 1.0 Pe masura ce se culeg mai mlte date MAP si Bayes se apropie
16

Invatarea in retele Bayesiene


Dropsuri de cirese si lamaie o punga Continuu de ipoteze parametrul care se invata Modelam cu o RB P(F=cirese) ---- F aroma (var aleatoare) N dropsuri, c cirese si l=N-c lamaie P(d|h )= j=1,N P(dj|h ) = c * (1- )l Ipoteza cu predictie maxima este data de valoarea maximizeaza aceasta expresie L=log(P(d|h ))= j=1,N log(P(dj|h )) = c log * l log(1- ) Derivam in functie de

care

dL/d = c/ l/(1- ) =0
= c/(c+l) = c/N

17

P(F=cirese) P(F=cirese) Aroma - F Aroma - F F P(W=rosu|F) cirese 1 lamaie 2 Ambalaj - W

18

RB
P(H) 0.001 H T T F F A P(M) T 0.9 F 0.05 C T F T F

Hot
P(A) 0.95 0.94 0.29 0.001

Cutremur

P(C) 0.002

Alarma

TelMihai

TelDana

A P(D) T 0.7 F 0.01

H C Tabela de probabilitati conditionate T T F F T F T F

P(A | H, C) T F 0.95 0.05 0.94 0.06 0.29 0.71 0.001 0.999


19

Semantica RB
A) Reprezentare a distributiei de probabilitate B) Specificare a independentei conditionale constructia retelei A) Fiecare valoare din distributia de probabilitate poate fi calculata ca: P(X1=x1 Xn=xn) = P(x1,, xn) = 4i=1,n P(xi | parinti(xi)) unde parinti(xi) reprezinat valorile specifice ale variabilelor Parinti(Xi)
20

Inferente probabilistice
P(H) 0.001 H T T F F A P(M) T 0.9 F 0.05 C T F T F

Hot
P(A) 0.95 0.94 0.29 0.001

Cutremur

P(C) 0.002

Alarma

TelMihai

TelDana

A P(D) T 0.7 F 0.01

P(M D A bH bC ) = P(M|A)* P(D|A)*P(A|bH bC )*P(bH) P(bC)= 0.9 * 0.7 * 0.001 * 0.999 * 0.998 = 0.00062
21

Invatarea in retele Bayesiene


P(F=cirese,W=verde|h , 1, 2)= P(F=cirese|h , 1, 2) P(W=verde|F=cirese, h P(d|h
, 1, 2) , 1, 2)

(1- )

* (1- )l *

rc

* (1- )gc *

rl

* (1- )gl

L = [c log + l log (1- )]+ [rc log 1 + gc log(1- 1) + [rl log 2 + gl log(1- 2)]
dL/d = c/ l/(1- ) = 0 dL/d 1 = rc/ 1 gc/(1- 1) = 0 dL/d 2 rl/ 2 gl/(1- 2) = 0 = c/(c+l) 1=rc/(rc+gc)

2 = rl/(rl+gl)
22

S-ar putea să vă placă și