Probabilistisch redeneren. Redeneren met onzekerheid II. Inferentie: propagatie van aanwijzingen

Maat: px
Weergave met pagina beginnen:

Download "Probabilistisch redeneren. Redeneren met onzekerheid II. Inferentie: propagatie van aanwijzingen"

Transcriptie

1 Redeneren met onzeerheid II Onderwerpen: Redeneren met Bayesiaanse netweren Terug naar onzeerheid geassocieerd met regels: Wat zijn nu de echte veronderstellingen? Wat zijn de beperingen? Relatie met moderne Bayesiaanse netwertheorie Integratie van netwermodellen en logica (Marov logica) Probabilistisch redeneren Wij zijn geïnteresseerd in conditionele ansverdelingen: P (X i E) = P E (X i ) voor (mogelij lege) aanwijzingen (evidence) E Voorbeelden P (GRIEP = ja TEMP < 37.5) P (GRIEP = ja SPIERPIJN = ja, TEMP < 37.5) Meestal (marginale) ansverdelingen van enelvoudige variabelen. p.1/28. p.2/28 Inferentie: propagatie van aanwijzingen Probabilistisch redeneren Niets beend: SPIERPIJN GRIEP KOORTS <=37.5 >37.5 KEELONTSTEKING Temperatuur > 37.5 graden Celcius: SPIERPIJN GRIEP KOORTS <=37.5 >37.5 KEELONTSTEKING TEMP TEMP Samengestelde ansverdeling P (V ): marginalisatie: P (W ) = V \W P (V ) = P (X 1, X 2,..., X n ) P (V ) = V \W X V P (X π(x)) conditionele ansen en de regel van Bayes: P (Y, Z X) = Vele efficiënte algoritmen bestaan P (X Y, Z)P (Y, Z) P (X). p.3/28. p.4/28

2 Naïef probabilistisch redeneren Judea Pearl s algorithme X 1 X 3 X 4 X 2 Pr(x 4 x 3 ) = 0.4 Pr(x 4 x 3 ) = 0.1 Pr(x 3 x 1, x 2 ) = 0.3 Pr(x 3 x 1, x 2 ) = 0.5 Pr(x 3 x 1, x 2 ) = 0.7 Pr(x 3 x 1, x 2 ) = 0.9 Pr(x 1 ) = 0.6 Pr(x 2 ) = 0.2 G 1 V 1 π(v 1 ) V 3 π(v 2 ) λ(v 1 ) π(v0 ) V λ(v 2 ) 0 π(v 0 ) λ(v 0 ) λ(v 0 ) G 3 V 2 G 2 V 4 G 4 P E (x 2 ) = P (x 2 x 4 ) = = P (x4 x2)p (x2) P (x 4) (regel van Bayes) X 3 P (x 4 X 3 ) X 1 P (X 3 X 1, x 2 )P (X 1 )P (x 2 ) X 3 P (x 4 X 3 ) X 1,X 2 P (X 3 X 1, X 2 )P (X 1 )P (X 2 ) 0.14 Object-georiënteerd: nopen zijn objecten die locale informatie bevatten en locale bereeningen uitvoeren Updating via message passing: pijlen zijn communicatieanalen. p.5/28. p.6/28 Terug naar regels Kies een geschite theorie Vind een invulling voor de combinatiefuncties f and, f or, f prop, f co Implementeer de combinatiefuncties als onderdeel van een inference engine Voorbeelden: Certainty-factor model (Mycin) Subjectieve Bayesiaanse methode (Prospector) Ishizua s regelgebaseerde vereenvoudiging van Dempster-Shafer theorie Certainty factor model Ontwield door E.H. Shortliffe en B.G. Buchanan voor regelgebaseerde ennissystemen met top-down inferentie Model oorspronelij gedefinieerd in termen van ansreening Toegepast in MYCIN, en in gemodificeerde vorm in EMYCIN Certainty-factors (CF s, zeerheidsfactoren): subjectieve schattingen van onzeerheid CF-model biedt invulling van combinatiefuncties: f and, f or, f prop, f co. p.7/28. p.8/28

3 Uitgangspunten begrip certainty-factor Shortliffe & Buchanan: als expert P (h e) = x schat, met H hypothese en E aanwijzingen, wordt de consequentie P ( h e) = 1 x vaa niet aanvaard Conclusie: laat expert zowel het vertrouwen (belief) als het wantrouwen (disbelief) in een bepaalde hypothese H gegeven bepaalde aanwijzingen E schatten: measure of belief (maat van vertrouwen): MB(H, E) measure of disbelief (maat van wantrouwen): MD(H, E) Verlaring (J. Pearl): de expert bedoelt eigenlij P (h e) t.o.v. P (h) (P ( h e) t.o.v. P ( h)): als P (h e) > P (h), toegenomen vertrouwen Combinatiefuncties f prop : if e then h CF(h,e) fi CF(e, ) CF(h, e) e h CF(h, ) = CF(h, e) max{0, CF(e, )} f and (of f or ): if e 1 and e 2 then h CF(h,e) fi CF(e 1, ) CF(e 2, ) e 1 e 2 CF(e 1 and e 2, ) = min{cf(e 1, ), CF(e 2, )} CF(e 1 or e 2, ) = max{cf(e 1, ), CF(e 2, )}. p.9/28. p.10/28 Combinatiefuncties f co : if e 1 then h CF(h,e1) fi en if e 2 then h CF(h,e2) fi 1 2 CF(h, 1 ) CF(h, 2 ) x + y(1 x) als x, y > 0 CF(h, 1 co e x+y 2) = 1 min{ x, y } als 1 < xy 0 x + y(1 + x) als x, y < 0 met CF(h, 1 ) = x en CF(h, e 2 ) = y h Voorbeeld R = {R 1 : if flu then fever CF(fever,flu)=0.8 fi, R 2 : if common-cold then fever CF(fever,common-cold)=0.3 fi} Feiten: CF(flu, ) = 0.6 en CF(common-cold, ) = 1 Voor regel R 1 : CF(fever, 1) = CF(fever, flu) max{0, CF(flu, )} = = 0.48 voor regel R 2 wordt CF(fever, 2 ) = 0.3 verregen Gebrui van f co : CF(fever, 1 co e 2) = CF(fever, 1) + CF(fever, 2)(1 CF(fever, 1)) = (1 0.48) = p.11/28. p.12/28

4 Afbeelding naar Bayesian networs? Vind een probabilistische invulling voor: f prop (propagatie): CF(e, ) CF(h, e) e h f and (of f or ) (samenstellen): CF(e 1, ) f co (co-concluderen): e 1 CF(e 2, ) e CF(h, 1 ) h CF(h, 2 ) f prop (propagatie): Propagatie CF(e, ) CF(h, e) e h CF(h, ) = CF(h, e) max{0, CF(e, )} corresponderend Bayesian networ (met P ( ) extra): E P (E E ) P (H E) E H P (h ) = P (h e)p (e ) + P (h e)p ( e ) P (h e) = 0 (veronderstelling van CF-model) NB: P (h ) = P (h e, )P (e ) + P (h e, )P ( e ) f co (co-concluderen): Co-concluderen 1 2 CF(h, 1 ) CF(h, 2 ) idee: zie dit als onzeere deterministische interactie causal independence model E 1 E 2 I 1 I 2 h H functie f. p.13/28 Causal Independence C 1 C 2... C n conditionele onafhanelijheid I 1 I 2... I n f E interactiefunctie P (e C 1,..., C n ) = n P (e I 1,..., I n ) P (I C ) I 1,...,I n =1 n = P (I C ) f(i 1,...,I n)=e =1 Boolse functies: P (E I 1,..., I n ) {0, 1} met f(i 1,..., I n ) = 1 als P (e I 1,..., I n ) = 1. p.14/28. p.15/28. p.16/28

5 Voorbeeld: noisy OR Noisy OR en f co C 1 C 2 I 1 I 2 OR E Interacties tussen oorzaen : logische OR Beteenis: aanwezigheid van één oorzaa C i zal al effect e (d.i. E = true) teweeg brengen P (e C 1, C 2 ) = P (e I 1, I 2 ) P (I C ) I 1 I 2=e =1,2 = P (i 1 C 1 )P (i 2 C 2 ) + P ( i 1 C 1 )P (i 2 C 2 ) +P (i 1 C 1 )P ( i 2 C 2 ) f co : CF(h, 1 co e ) = CF(h, 1) + CF(h, 2)(1 CF(h, 1)) voor CF(h, 1 ) [0, 1] en CF(h, e 2 ) [0, 1] Causal independence met logische OR (noisy OR): P (e C 1, C 2 ) = P (e I 1, I 2 ) P (I C ) I 1 I 2=e =1,2 = P (i 1 C 1 )P (i 2 C 2 ) + P ( i 1 C 1 )P (i 2 C 2 ) +P (i 1 C 1 )P ( i 2 C 2 ) = P (i 1 C 1 ) + P (i 2 C 2 )(1 P (i 1 C 1 )). p.17/28. p.18/28 Voorbeeld Resultaat De gevolgen van flu en common cold op fever worden gemodelleerd via variabelen I 1 and I 2 : P (i 1 flu) = 0.8, en P (i 2 common-cold) = 0.3 Verder P (i w) = 0, = 1, 2, als w { flu, common-cold} Bayesian networ: FLU FALSE TRUE I 1 FALSE TRUE COMMON-COLD FALSE TRUE I 2 FALSE TRUE Interactie tussen FLU and COMMON-COLD als noisy-or: { 0 als I 1 = false en I 2 = false P (fever I 1, I 2 ) = 1 anders FEVER FALSE TRUE Fragment CF model: CF(fever, 1 co e 2) = CF(fever, 1) + CF(fever, 2)(1 CF(fever, 1)) = (1 0.48) = p.19/28. p.20/28

6 Logica en grafische modellen Structuur van ansverdelingen P weergegeven m.b.v. ongerichte grafen: X 1 X 4 X 7 X 3 X 2 X 5 X 6 Samen met P (V ) = P (X 1, X 2, X 3, X 4, X 5, X 6, X 7 ): Marov-netwer Marginalisatie (voorbeeld): P ( x 2 ) = P (X 1, x 2, X 3, X 4, X 5, X 6, X 7 ) X 1,X 3,X 4,X 5,X 6,X 7 Decompositie Kansverdeling van een Marov-netwer: P (V ) = 1 φ (X Z {} ) = 1 Z exp w f (V ) met X {} V, w R een gewicht en feature f (V ) {0, 1} De functies φ heten potentialen Als een Marov-netwer chordaal is (zie Principles of Intelligent Systems) dan geldt: φ (X {} ) = P (R S ) met R heet de residual and S is de separator, d.w.z. φ is een conditionele ans (en Z = 1). p.21/28. p.22/28 Marov logic networ (MLN) Een Marov logic net (MLN) is een verzameling paren: L = {(F, w ) = 1,..., n} met F een formule in eerste-orde logica en w R Voorbeeld (roen veroorzaat aner; als de ene vriend root, root oo de andere): met S: Smoing C: Cancer F : Friends 0.8 x(s(x) C(x)) 0.3 x y(f (x, y) (S(x) S(y))). p.23/28 Semantie van MLN C = {c 1,..., c n } is een verzameling constanten, dan: corresponderende Marov networ M L,C : M L,C bevat een noop met corresponderende binaire variabele voor el ground atom in B L (Herbandbasis) de waarde van de variabele is 1 als het ground atom waar is; anders 0 M L,C bevat een volledige graaf met feature f voor ele instantiatie van formule F Voor de ansverdeling geldt: P (V ) = 1 Z exp w n (V ) = 1 φ (X Z {} ) n(v ) met n (V ) het aantal instantiaties van F o.b.v. V. p.24/28

7 Voorbeeld Formule F w x(s(x) C(x)) met S smoing en C en cancer gewicht w Constanten C = {a, b} (interpretaties van x) Enele gecombineerde interpretaties van F (werelden): {S(a), C(a), S(b), C(b)} 2 modellen {S(a), C(a), S(b), C(b)} 0 modellen {S(a), C(a), S(b), C(b)} 1 model. P (S(a), C(a), S(b), C(b)) = 1 Z ew2 2 modellen Marov-netwer: S(a) C(a) S(b) C(b) Alchemy systeem Input: C = {A,B} Friends(C,C) Smoing(C) Cancer(C) 0.8 Smoing(x) => Cancer(x) 0.3 Friends(x,y) => (Smoing(x) <=> Smoing(y)) Output: Friends(A,A) Friends(A,B) Friends(B,A) Friends(B,B) Cancer(A) Cancer(B) p.25/28. p.26/28 Alchemy systeem Initializing MC-SAT with MaxWalsat on hard clauses... Running MC-SAT sampling... Sample (per pred) 100, time elapsed = 0 secs, num. clauses = 6 Done burning. 100 samples. Sample (per pred) 100, time elapsed = 0.01 secs, num. clauses = 6 Sample (per pred) 200, time elapsed = 0.01 secs, num. clauses = 6 Sample (per pred) 300, time elapsed = 0.01 secs, num. clauses = 6 Sample (per pred) 400, time elapsed = 0.02 secs, num. clauses = 6 Sample (per pred) 500, time elapsed = 0.02 secs, num. clauses = 6 Sample (per pred) 600, time elapsed = 0.02 secs, num. clauses = 6 Sample (per pred) 700, time elapsed = 0.03 secs, num. clauses = 6 Sample (per pred) 800, time elapsed = 0.03 secs, num. clauses = 6 Sample (per pred) 900, time elapsed = 0.03 secs, num. clauses = 6 Sample (per pred) 1000, time elapsed = 0.04 secs, num. clauses = 6 Done MC-SAT sampling samples. Exacte bereening Input: C = {A,B} Friends(C,C) Smoing(C) Cancer(C) 0.8 Smoing(x) => Cancer(x) 0.3 Friends(x,y) => (Smoing(x) <=> Smoing(y)) P (Cancer(A)) P (C(A)): P (C(A)) = P (S(A), C(A)) + P ( S(A), C(A)) Z = exp 0.8, want {S(A), C(A)} inconsistent P (C(A)) = 2 Z exp(0.8 1) P (Friends(A, A)) = 2 Z 1 exp(0.3 1), met Z = 4 exp(0.3 1), want 4 A, A modellen P (Friends(A, A)) = 0.5. p.27/28. p.28/28