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
2
Probabilitati
Probabiltate neconditionata (apriori) P(A|B)
Probabilitate conditionata (aposteriori) -
P(A|B)
Masura probabilitatii producerii unui
eveniment A este o functie P:S R care
satisface axiomele:
0 s P(A) s 1
P(S) = 1 ( sau P(adev) = 1 si P(fals) = 0)
P(A v B) = P(A) + P(B) - P(A . B)


3
A si B mutual exclusive P(A v B) = P(A) + P(B)
P(e
1
v e
2
v e
3
v e
n
) = P(e
1
) + P(e
2
) + P(e
3
) +
+ P(e
n
)

e(a) multimea de evenimente atomice in care
apare a, mutual exclusive si exhaustive

P(a) = E P(e
i
)
e
i
ee(a)

4
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)
5
Inferente din DP
Distributie de probabilitate P(Carie, Dur_d)
dur_d ~dur_d
carie 0.04 0.06
~carie 0.01 0.89

P(carie v 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
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

o = 1/ P(dur_d)
o - Constanta de normalizare
7
dur_d ~dur_d
evid ~evid evid ~evid
carie 0.108 0.012 0.072 0.008
~carie 0.016 0.064 0.144 0.576
Inferente din DP
P(Carie | dur_d) = o P(Carie, dur_d) =
o [P(Carie, dur_d, evid) + P(Carie, dur_d, ~evid)] =
o [ <0.108, 0.016> + <0.012, 0.064>] = o <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) = o P(X,e) = o
z
P(X,e,y)

8
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) = o P(X|Y) P(Y)

9
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(h
i
|d) = o P(d|h
i
) P(h
i
) (1)
Predictia asupra unei ipoteze necunoscute X
P(X|d) =
i
P(X|h
i
) P(h
i
|d) (2)
Elemente cheie: ipotezele apriori P(h
i
) si probabilitatea unei
probe pentru fiecare ipoteza P(d|h
i
)
P(d|h
i
) =
j
P(d
j
|h
i
) (3)
Presupunem probabilitatea apriori pentru
h1 h2 h3 h4 h5
0.1 0.2 0.4 0.2 0.1


11
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(lamaie) = 0.1*0 + 0.2*0.25 + 0.4*0.5 + 0.2*0.75+ 0.1*1 = 0.5
o = 1/0.5 = 2
P(h1|lamaie) = o P(lamaie|h1)P(h1) = 2*0.1*0 = 0
P(h2|lamaie) = o P(lamaie|h2)P(h2) = 2 * (0.25*0.2) = 0.1
P(h3|lamaie) = o P(lamaie|h3)P(h3) = 2 * (0.5*0.4) = 0.4
P(h4|lamaie) = o P(lamaie|h4)P(h4) = 2 * (0.75*0.2) = 0.3
P(h5|lamaie) = o P(lamaie|h5)P(h5) = 2 * (1*0.1) = 0.2
12
P(hi|d) = o P(d|hi) P(hi)
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(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
o = 1/0.325 = 3.0769
P(h1|lamaie,lamaie) = o P(lamaie,lamaie|h1)P(h1) = 3* 0.1*0*0 =0
P(h2|lamaie,lamaie) = o P(lamaie,lamaie|h2)P(h2) = 3 * (0.25*.25*0.2) =
0.0375
P(h3|lamaie,lamaie) = o P(lamaie,lamaie|h3)P(h3) = 3 * (0.5*0.5*0.4) = 0.3
P(h4|lamaie,lamaie) = o P(lamaie,lamaie|h4)P(h4) = 3 * (0.75*0.75*0.2) =
0.3375
P(h5|lamaie,lamaie) = o P(lamaie,lamaie|h5)P(h5) = 3 * (1*1*0.1) = 0.3
13
P(hi|d) = o P(d|hi) P(hi)
P(d|hi) = j P(dj|hi)
14
P(h
i
|d
1
,,d
10
) din ecuatia (1)
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(d
2
=lamaie|d
1
)=P(d
2
|h1)*P(h1|d
1
) + P(d
2
|h2)*P(h2|d
1
) + P(d
2
|h3)*P(h3|d
1
)
+ P(d
2
|h4)*P(h4|d
1
) + P(d
2
|h5)*P(h5|d
1
) =
= 0*+0.25*0.1+.5*0.4+0.75*0.3+1*0.2 = 0.65

15
P(X|d) =
i
P(X|h
i
) P(h
i
|d)
Predictie Bayesiana
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|h
MAP
)
In exemplu h
MAP
=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(d
j
|h

) =
c
* (1- )
l
Ipoteza cu predictie maxima este data de valoarea care
maximizeaza aceasta expresie
L=log(P(d|h

))=
j=1,N
log(P(d
j
|h

)) = c log * l log(1- )

Derivam in functie de
dL/d = c/ l/(1- ) =0
= c/(c+l) = c/N


17
18
Aroma - F
Aroma - F
Ambalaj - W
P(F=cirese)

P(F=cirese)

F P(W=rosu|F)
cirese
1
lamaie
2
RB
19
Cutremur
Alarma
TelMihai TelDana
Hot
P(H)
0.001
P(C)
0.002
H C P(A)
T T 0.95
T F 0.94
F T 0.29
F F 0.001
A P(M)
T 0.9
F 0.05
A P(D)
T 0.7
F 0.01
H C P(A | H, C)
T F
T T 0.95 0.05
T F 0.94 0.06
F T 0.29 0.71
F F 0.001 0.999
Tabela de probabilitati
conditionate
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(X
1
=x
1
. X
n
=x
n
) = P(x
1
,, x
n
) =
H
i=1,n
P(x
i
| parinti(x
i
))
unde parinti(xi) reprezinat valorile specifice ale
variabilelor Parinti(Xi)
20
Inferente probabilistice
21
Cutremur
Alarma
TelMihai TelDana
Hot
P(H)
0.001
P(C)
0.002
H C P(A)
T T 0.95
T F 0.94
F T 0.29
F F 0.001
A P(M)
T 0.9
F 0.05
A P(D)
T 0.7
F 0.01
P(M . D . A .~H .~C ) =
P(M|A)* P(D|A)*P(A|~H .~C )*P(~H) .P(~C)=
0.9 * 0.7 * 0.001 * 0.999 * 0.998 = 0.00062
Invatarea in retele Bayesiene
P(F=cirese,W=verde|h
, 1, 2
)=
P(F=cirese|h
, 1, 2
) P(W=verde|F=cirese, h
, 1, 2
) = (1- )

P(d|h
, 1, 2
) =
c
* (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