Neurčitost: Bayesovské sítě

Click here to load reader

  • date post

    14-Jan-2022
  • Category

    Documents

  • view

    0
  • download

    0

Embed Size (px)

Transcript of Neurčitost: Bayesovské sítě

1 Opakování: pravdpodobnost
2 Bayesovská sí
3 Sémantika sít
4 Konstrukce sít
Zdroj: Roman Barták, pednáška pednáška Umlá inteligence II, Matematicko-fyzikální fakulta, Karlova univerzita v Praze, 2015. http: // kti. ms. mff. cuni. cz/ ~bartak/ ui2
Pro modelování neuritosti pouijeme teorii pravdpodobnosti (podobn jako ve fyzice i ekonomii), ale bylo tomu tak vdy?
První expertní systémy (kolem roku 1970) pouívali ist logický pístup bez práce s neuritostí, co se ukázalo nepraktické
Další generace expertních systému zkusila pravdpodobnostní techniky, ale ty mly problém se škálovatelností (efektivní odvozování na Bayesovských sítích ješt nebylo známé)
Proto byly zkoušeny alternativní pístupy (1975-1988) pro modelování neuritosti, ignorance a vágnosti
pravidlov orientované systémy, Dempster-Shaferova teorie, fuzzy logika
Hana Rudová, IV126, FI MU: Neuritost: Bayesovské sít 2 29. íjna 2021
Opakování: Podmínná pravdpodobnost
P(x |y) = P(x ∧ y)/P(y)
Píklad: Jaká je pravdpodobnost, e na dvou kostkách hodíme pár, pokud víme, e na kostce 1 padla 5?
P(dvojice|Hod1 = 5) = 1/36 1/6 = 1/6
Podmínnou pravdpodobnost asto zapisujeme v podob souinového pravidla:
P(x ∧ y) = P(x |y)× P(y) P(X ,Y ) = P(X |Y )× P(Y )
P znamená, e výsledek je vektor ísel P(X |Y ) dává hodnoty P(X = xi |Y = yj) pro kadý moný pár i , j P(x , y) odpovídá P(X = x ∧ Y = y) P(X ,Y ) oznauje pravdpodobnosti pro všechny kombinace hodnot X ,Y
(Úplná) nezávislost: náhodné promnné jsou na sob nezávislé
P(X |Y ) = P(X ) nebo P(Y |X ) = P(Y ) nebo P(X ,Y ) = P(X )P(Y )
Hana Rudová, IV126, FI MU: Neuritost: Bayesovské sít 3 29. íjna 2021
Opakování: Úplná sdruená distribuce (joint probability distribution), marginalizace
Pravdpodobnosti elementárních jev meme popsat tabulkou, tzv. úplnou sdruenou distribucí P(Toothache,Cavity ,Catch)
toothache ¬toothache catch ¬catch catch ¬catch
cavity 0.108 0.012 0.072 0.008 ¬cavity 0.016 0.064 0.144 0.576
Chceme-li znát pravdpodobnost njakého tvrzení, seteme pravdpodobnosti všech „svt”, kde tvrzení platí (marginalizace)
P(Y) = ∑ z∈Z
P(Y, z)
pozn. Y znaí mnoinu promnných vs. Y znaí jednu promnnou p. P(tootchache = true) = 0.108+ 0.012+ 0.016+ 0.064 = 0.2
Hana Rudová, IV126, FI MU: Neuritost: Bayesovské sít 4 29. íjna 2021
Opakování: Diagnostická vs. kauzální vazba
Odhalení zdroj dle symptom, tj. diagnostická vazba P(nemoc|symptomy), tj. P(pricina|nasledek)
Z analýzy pedchozích nemocí, spíš však máme k dispozici pravdpodobnost nemoci P(nemoc) pravdpodobnost symptomu P(symptom) kauzální vztah nemocí a symptomu P(symptomy |nemoc), tj. P(nasledek |pricina)
Jak vyuít tyto znalosti ke zjištní P(nemoc|symptomy)?
Hana Rudová, IV126, FI MU: Neuritost: Bayesovské sít 5 29. íjna 2021
Opakování: Bayesova vta
Víme, e platí
Meme odvodit Bayesovu vtu v obecné podob:
P(Y |X ) = P(X |Y )P(Y )
P(X ) = αP(X |Y )P(Y )
α je normalizaní konstanta, zajišující, e poloky v P(Y |X ) jsou sumarizovány na 1
p. α 0.2, 0.3 = 0.4, 0.6 1/P(X ) vlastn doasn zanedbáme podobn u podmínné pravdpodobnosti
P(Y |X ) = P(Y ,X )
P(X ) = αP(Y ,X )
Hana Rudová, IV126, FI MU: Neuritost: Bayesovské sít 6 29. íjna 2021
Obsah pednášky
Sémantika sít vztah k úpln sdruené distribuci
Konstrukce sít Odvozování v Bayesovských sítích
exaktní metody enumerace, eliminace promnných
aproximaní metody vzorkovací techniky (sampling techniques)
Hana Rudová, IV126, FI MU: Neuritost: Bayesovské sít 7 29. íjna 2021
Bayesovská sí (BS)
Zachycuje závislosti mezi náhodnými promnnými Orientovaný acyklický graf (DAG)
uzel odpovídá náhodné promnné pedchdci uzlu v grafu se nazývají rodie kadý uzel má piazenu tabulku podmínné pravdpodobnostní distribuce P(X |Parents(X ))
Jiné názvy belief network, probabilistic network, causal network (speciální pípad BS), knowledge map
Hana Rudová, IV126, FI MU: Neuritost: Bayesovské sít 8 29. íjna 2021
Bayesovská sí: modelová situace
Máme v dom zabudovaný alarm, který se spustí pi vloupání ale nkdy také pi zemtesení
Sousedi Mary a John slíbili, e vdy, kdy alarm uslyší, tak nám zavolají
John volá skoro vdy, kdy slyší alarm, ale nkdy si ho splete s telefonním zvonním Mary poslouchá hlasitou hudbu a nkdy alarm peslechne
Zajímá nás pravdpodobnost vloupání, pokud John i Mary volají
Další pedpoklady sousedi pímo nevidí vloupání ani necítí zemtesení sousedi se nedomlouvají (volají nezávisle na sob)
Hana Rudová, IV126, FI MU: Neuritost: Bayesovské sít 9 29. íjna 2021
Bayesovská sí: píklad
Pravdpodobnostní tabulky reprezentují vztah podmínné pravdpodobnosti
staí reprezentovat hodnoty true
Hana Rudová, IV126, FI MU: Neuritost: Bayesovské sít 10 29. íjna 2021
Sémantika sít Bayesovská sí kompaktním zpsobem reprezentuje úplnou sdruenou distribuci (popisuje pravdpodobnost všech elementárních jev)
P(x1, . . . , xn) = ∏ i
P(xi |parents(Xi ))
p. P(j ,m, a,¬b,¬e) = P(j |a)P(m|a)P(a|¬b ∧ ¬e)P(¬b)P(¬e) = 0.90× 0.70× 0.001× 0.999× 0.998 = 0.000628
Zptn lze ukázat, e tabulky P(X |Parents(X )) jsou podmínné pravdpodobnosti podle výše uvedené sdruené distribuce Protoe úplnou sdruenou distribuci lze pouít pro odpov na libovolnou otázku v dané domén, lze stejnou dopov získat z Bayesovské sít (marginalizací)
Hana Rudová, IV126, FI MU: Neuritost: Bayesovské sít 11 29. íjna 2021
Konstrukce sít
Jak konstruovat Baysovské sít? Rozepíšeme P(x1, . . . , xn) pomocí tzv. etzcového pravidla
n = 4 : P(X4,X3,X2,X1) = P(X4|X3,X2,X1)P(X3|X2,X1)P(X2|X1)P(X1)
P(x1, . . . , xn) = ∏ i
P(Xn,Xn−1, . . . ,X1) = P(Xn|Xn−1, . . . ,X1) ∗ P(Xn−1, . . . ,X1)
a tedy:
P(Xn−1,Xn−2, . . . ,X1) = P(Xn−1|Xn−2, . . . ,X1) ∗ P(Xn−2, . . . ,X1)
a po dosazení: P(Xn,Xn−1, . . . ,X1) = P(Xn|Xn−1, . . . ,X1) ∗ P(Xn−1|Xn−2, . . . ,X1) ∗ · · · ∗ P(X1)
Hana Rudová, IV126, FI MU: Neuritost: Bayesovské sít 12 29. íjna 2021
Konstrukce sít
Jak konstruovat Baysovské sít? Rozepíšeme P(x1, . . . , xn) pomocí tzv. etzcového pravidla
n = 4 : P(X4,X3,X2,X1) = P(X4|X3,X2,X1)P(X3|X2,X1)P(X2|X1)P(X1)
P(x1, . . . , xn) = ∏ i
P(Xi |Xi−1, . . .X1) = P(Xi |Parents(Xi ))
za pedpokladu Parents(Xi ) ⊆ {Xi−1, . . . ,X1}, co platí, pokud je oíslování uzl konzistentní s uspoádáním uzl v síti
p. P(X4|X3,X2,X1) = P(X4|X3,X2) pokud X4 nezávisí na X1 tj. Bayesovská sí je korektní, pokud je kadý uzel nezávislý na ostatních pedchdcích v uspoádání
Tj. sdruená distribuce
P(x1, . . . , xn) = ∏ i
P(xi |parents(Xi ))
odpovídá pidání P(Xi |Parents(Xi )) pro kadý uzel sít Xi . Hana Rudová, IV126, FI MU: Neuritost: Bayesovské sít 13 29. íjna 2021
Konstrukce sít: algoritmus
Uzly: rozhodnte, jaké náhodné promnné jsou poteba a uspoádejte je funguje libovolné uspoádání, ale pro rzná uspoádání dostaneme rzn kompaktní sít doporuené uspoádání je takové, kdy píiny pedcházejí efekty
Hrany: bereme promnné Xi v daném poadí od 1 do n v mnoin {X1, . . . ,Xi−1} vybereme nejmenší mnoinu rodi Xi tak, e platí P(Xi |Parents(Xi )) = P(Xi |Xi−1, . . .X1)
intuitivn: rodii Xi jsou pouze ty uzly, které pímo ovlivují Xi M ovlivnno B a E ale nepímo, tj. víme, e P(M|J,A,E ,B) = P(M|A)
z rodi vedeme hranu do Xi
vypoteme podmínné pravdpodobnostní tabulky P(Xi |Parents(Xi ))
Vlastnosti sí je z principu konstrukce acyklická sí neobsahuje redundantní informaci a tudí je vdy konzistentní (spluje axiomy pravdpodobnosti)
Hana Rudová, IV126, FI MU: Neuritost: Bayesovské sít 14 29. íjna 2021
Konstrukce sít: poznámky
Bayesovská sí me být mnohem kompaktnjší ne úplná sdruená distribuce, pokud je sí ídká (je lokáln strukturovaná)
náhodná promnná asto závisí jen na omezeném potu jiných promnných nech je takových promnných k a celkem máme n promnných, pak potebujeme prostor
n.2k pro Bayesovskou sí 2n pro uplnou sdruenou distribuci
meme ignorovat „slabé vazby”, ím budeme mít menší pesnost reprezentace, ale reprezentace bude kompaknjší
p. nebudeme brát v úvahu, zda Mary nebo John volají kvli zemtesení
samozejm kompaktnost sít hodn závisí na vhodném uspoádání promnných
Hana Rudová, IV126, FI MU: Neuritost: Bayesovské sít 15 29. íjna 2021
Konstrukce sít: píklad
Nech jsme zvolili poadí MarryCalls, JohnCalls, Alarm, Burglary, Earthquake
MarryCalls nemá rodie pokud volá Marry, je zejm aktivní alarm, co ovlivuje Johnovo zavolání Alarm asi zní, pokud volá Marry nebo John pokud známe stav Alarmu, tak vloupání nezávisí na tom, zda volá Marry nebo John
P(Burglary |Alarm, JohnCalls, MarryCalls) = P(Burglary |Alarm)
Alarm je svým zpsobem detektor zemtesení, ale pokud došlo k vloupání, tak pravdpodobn nebylo zemtesení
Hana Rudová, IV126, FI MU: Neuritost: Bayesovské sít 16 29. íjna 2021
Konstrukce sít: uspoádání promnných
Máme sice jen dv hrany navíc oproti pvodnímu návrhu, ale problém je vyplnní tabulek podmínných závislostí
stejný problém jako u kauzální vs. diagnostické vazby diagnostickou vazbu P(pricina|nasledek) asto neznáme je lepší dret se kauzální vazby (píina ped následkem) P(nasledek |pricina)
dává menší sít a je snaší vyplnit tabulky podmínných závislostí
Pi „špatném” uspoádání promnných nemusíme nic uspoit vzhledem k úplné sdruené distribuci
MarryCalls, JohnCalls, Eartquake, Burglary, Alarm
Hana Rudová, IV126, FI MU: Neuritost: Bayesovské sít 17 29. íjna 2021
Odvozování v Bayesovských sítí pomocí enumerace
Pipomeme, k emu mají Bayesovské sít slouit: zjistit pravdpodobnostní distribuce náhodných promnných X v dotazu za pedpokladu znalosti hodnot e promnných z pozorování (ostatní promnné jsou skryté).
P(X |e) = αP(X , e) = α ∑ y
P(X , e, y)
Hodnotu P(X , e, y) zjistíme z Bayesovské sít P(x1, . . . , xn) =
∏ i P(xi |parents(Xi ))
Meme ješt vhodn pesunout nkteré leny P(xi |parents(Xi )) ped souty
viz píklad na další stran
Hana Rudová, IV126, FI MU: Neuritost: Bayesovské sít 18 29. íjna 2021
Odvozování enumerací: píklad
Nech máme dotaz, zda došlo k vloupání, pokud Marry i John volají P(b|j ,m) = α
∑ e ∑
∑ e P(e)
Earthquake a Alarm jsou skryté promnné Strukturu výpotu meme zachytit stromovou strukturou
je to hodn podobné ešení CSP a SAT
Všimnme si, e nkteré ásti výpotu se opakují!
Evaluace se provádí shora dol násobením hodnot po kadé cest a seítáním hodnot v „+” uzlech
Hana Rudová, IV126, FI MU: Neuritost: Bayesovské sít 19 29. íjna 2021
Odvozování enumerací: algoritmus
function enumerace(X , e, bs) returns distribuci pro X (X : náhodná promnná e: hodnoty promnných z pozorování pro E bs: BS s promnnými {X} ∪ E ∪ Y, kde Y jsou skryté promnné)
Q(X ) = distribuce pro X , iniciáln prázdná; forall hodnoty xi promnné X do
Q(xi ) = enumerace-hodnot(bs.VARS , exi ), kde exi je e rozšíeno o X = xi ; return normalizace(Q(X ))
function enumerace-hodnot(vars, e) returns reálné íslo if vars = ∅ then return 1.0; Y = first(vars); if Y má hodnotu y v e then return P(y |parents(Y )) × enumerace-hodnot(rest(vars), e) else return
∑ y P(y |parents(Y )) × enumerace-hodnot(rest(vars), ey )
kde ey je e rozšíeno o Y = y ;
Hana Rudová, IV126, FI MU: Neuritost: Bayesovské sít 20 29. íjna 2021
Eliminace promnných
Enumeraní metoda zbyten opakuje nkteré výpoty
Staí si výsledek zapamatovat a následn pouít fi spoítáme jednou a uschováme pro budoucí pouití
dynamické programování
∑ e f2(E )
Vyhodnocení provedeme zprava doleva (viz píklad dále) násobení initel je násobení po prvcích (ne násobení matic) vysítáním initel eliminujeme píslušnou promnnou na závr provedeme normalizaci
tj. bottom-up pístup pro pedchozí graf u odvozování enumerací
Hana Rudová, IV126, FI MU: Neuritost: Bayesovské sít 21 29. íjna 2021
Eliminace promnných: operace s tabulkami
Máme-li dv tabulky, potom jejich souin je tabulka nad sjednocením promnných z obou tabulek
f(A1, . . . ,Aj ,B1, . . . ,Bk ,C1, . . . ,Cl ) = f1(A1, . . . ,Aj ,B1, . . . ,Bk)× f2(B1, . . . ,Bk ,C1, . . . ,Cl )
Pi vysítání dojde k eliminaci promnné f(B,C ) =
∑ a f3(A,B,C ) = f3(a,B,C ) + f3(¬a,B,C )[
0.06 0.24 0.42 0.28
[ 0.24 0.96 0.48 0.32
] Hana Rudová, IV126, FI MU: Neuritost: Bayesovské sít 22 29. íjna 2021
Cviení: eliminace promnných
Máme: P(B|j ,m) = α f1(B)×
∑ e
f2(E )× ∑
a
f3(A,B,E )× f4(A)× f5(A)
Odvodíme (eliminujeme A): f6(B,E ) = (f3(a,B,E )× f4(a)× f5(a)) + (f3(¬a,B,E )× f4(¬a)× f5(¬a))
Tedy: P(B|j ,m) = α f1(B)×
∑ e
Tedy: P(B|j ,m) = α f1(B)× f7(B)
Zkuste: P(B|j ,m) = α f1(B)× ∑
a f4(A)× f5(A)× ∑
e f2(E )× f3(A,B,E )
Hana Rudová, IV126, FI MU: Neuritost: Bayesovské sít 23 29. íjna 2021
Eliminace promnných: algoritmus
function eliminace(X , e, bs) returns distribuci pro X (X : náhodná promnná e: hodnoty promnných z pozorování pro E bs: BS s úplnou sdruenou distribucí P(X1, . . . ,Xn))
tabulky = []; forall var ∈ order(bs.VARS) do
tabulky = [vytvo-tabulku(var , e)|tabulky ]; if var je skrytá promnná then tabulky = marginalizace(var , tabulky);
return normalizace(souin-po-prvcích(tabulky))
Algoritmus funguje pro libovolné uspoádání promnných (order) Sloitost je dána velikostí nejvtšího initele (tabulky) v prbhu výpotu Vhodné je proto pro eliminaci vybrat promnnou, její eliminací vznikne nejmenší tabulka
Hana Rudová, IV126, FI MU: Neuritost: Bayesovské sít 24 29. íjna 2021
Sloitost problému
Eliminace promnných urychluje odvozování, ale jak moc? Pokud je Bayesovská sí poly-strom (mezi kadými dvma vrcholy vede maximáln jedna neorientovaná cesta), potom je asová a prostorová sloitost odvozování lineární vzhledem k velikosti sít (tj. velikosti tabulek) Pro více-propojené sít je to horší
3SAT lze redukovat na odvození v Bayesovské síti, take odvození je NP-tké
odvozování v Bayesovské síti je ekvivalentní zjištní potu ešení SAT-formule, je tedy striktn tší ne NP-úplné problémy
Hana Rudová, IV126, FI MU: Neuritost: Bayesovské sít 25 29. íjna 2021
Vzorkovací metody
Exaktní odvozování je výpoetn nároné, meme ale pouít aproximaní techniky zaloené na metod Monte Carlo
Monte Carlo algoritmy slouí pro odhad hodnot, které je tké spoítat exaktn
vygeneruje se mnoství vzork vzorek = ohodnocení náhodných promnných
hledaná hodnota se zjistí statisticky více vzork = vtší pesnost
Pro Bayesovské sít ukáeme pístupy píme vzorkování vzorkování se zamítáním vzorkování s váením vrohodností
Další zajímavé metody (viz Russel & Norvig) vzorkování s Markovovskými etzci
Pokraování píšt
Hana Rudová, IV126, FI MU: Neuritost: Bayesovské sít 26 29. íjna 2021
Neurcitost: Bayesovské síte