Bayes-Netze (2)

Werbung
Bayes-Netze (2)
Lehrstuhl für Künstliche Intelligenz
Institut für Informatik
Friedrich-Alexander-Universität Erlangen-Nürnberg
(Lehrstuhl KI)
Bayes-Netze (2)
1 / 23
Gliederung
1
Zusammenhang zwischen Graphenstruktur und
Wahrscheinlichkeitsverteilung
2
Lösungsverfahren für B AYES-Netze
3
Lernverfahren für B AYES-Netze
(Lehrstuhl KI)
Bayes-Netze (2)
2 / 23
Konstruktion von Graphen für Kausalzusammenhänge
Beispiel: Ist das Fussballfeld rutschig?
I
I
I
I
I
Je nach Jahreszeit (Frühling, Sommer, Herbst, Winter) regnet es
(ja, nein).
Je nach Jahreszeit muss man mit dem Sprenger den Rasen
bewässern ja, nein).
Wird der Rasen bewässert, ist er nass (ja, nein).
Regnet es, ist der Rasen nass.
Ist er Rasen nass, ist das Fussballfeld rutschig (ja, nein).
Abhängigkeitsgraph
A
giessen
B
nass
(Lehrstuhl KI)
Jahreszeit
C
D
Bayes-Netze (2)
Regen
E
rutschig
3 / 23
Formale Formulierung von Kausalzusammenhängen
Die Suche nach Gründen für nassen Rasen liefert (ohne
zusätzliches Wissen) keine eindeutige Information (vgl. Schließen
per Abduktion).
Repräsentiert man jeden Einflussfaktor als Zufallsvariable, lässt
sich eine gemeinsame Verteilung
P (A, B, C, D, E)
finden.
Aus dieser Verteilung lässt sich eine Wahrscheinlichkeit dafür
ableiten, mit der nasser Rassen von den anderen Einflussfaktoren
abhängt:
P (A, B, C, D, E) = P (D|A, B, C, E) · P (A, B, C, E)
Diese Aussage folgt aus dem Multiplikationssatz für bedingte
Wahrscheinlichkeiten.
(Lehrstuhl KI)
Bayes-Netze (2)
4 / 23
Formale Formulierung von Kausalzusammenhängen
In unserem Beispiel gibt es 4 · 2 · 2 · 2 · 2 = 64 mögliche Ergebnisse
für das Zufallsexperiment zu P (A, B, C, D, E).
Bei mehr Variablen und größeren Wertemengen pro Variable ist
es praktisch unmöglich, die Verteilung zu konstruieren.
Aus dem im Graphen festgehaltenen Domänenwissen lassen sich
Unabhängigkeitsannahmen folgern!
Zunächst haben wir:
P (A, B, C, D, E) = P (D|A, B, C, E) · P (A, B, C, E)
= P (D|A, B, C, E) · P (E|A, B, C) · P (A, B, C)
= P (D|A, B, C, E) · P (E|A, B, C) · P (C|A, B) ·
= P (A, B)
= P (D|A, B, C, E) · P (E|A, B, C) · P (C|A, B) ·
P (B|A) · P (A)
(Lehrstuhl KI)
Bayes-Netze (2)
5 / 23
Formale Formulierung von Kausalzusammenhängen
Keine Regel belegt einen Einfluss von B auf C. Also:
P (C|A, B) ≡ P (C|A).
Es gibt auch keine Kante im Graphen zwischen B und C.
Für die gemeinsame Verteilung gilt dann:
P (A, B, C, D, E) = P (D|A, B, C, E) · P (A, B, C, E)
= P (D|A, B, C, E) · P (E|A, B, C) · P (C|A) ·
P (B|A) · P (A)
Es gibt also einen Zusammenhang zwischen Pfaden und der
Unabhängigkeit von Variablen.
Markow-Kompatibilität einer Verteilung
Wenn eine Wahrscheinlichkeitsverteilung P sich so faktorisieren lässt,
wie es die Struktur eines Abhängigkeitsgraphen G vorgibt, ist P zu G
Markow-kompatibel.
(Lehrstuhl KI)
Bayes-Netze (2)
6 / 23
Kausalzusammenhänge mit Zusatzwissen (bei
beobachteten Ereignissen)
Sei ausschließlich die ‘Jahreszeit’ bekannt, wie stehen ‘Regen’
und ‘giessen’ zueinander? →Unabhängig!
(B ⊥ C|A)
Die Jahreszeit blockiert also jede Argumentationskette von Regen
zu Giessen, sie separiert die beiden Faktoren.
Sei hingegen der Wert von ‘nass’ bekannt, sind ‘Regen’ und
‘giessen’ noch unabhängig? Nein, da das Auftreten von ‘nass’
Rückschlüsse über ‘Regen’ und ‘giessen’ zulässt.
Intuitiv: Sind die Werte der Vorgänger einer Variable bekannt, so
ist diese unabhängig von allen anderen Variablen im Netz, außer
von ihren Nachfolgern.
(Lehrstuhl KI)
Bayes-Netze (2)
7 / 23
d-Separation (1)
Wie kann man einem B AYES-Netz ansehen, welche modellierten
Zufallsvariablen voneinander (un)abhängig sind?
d-Separation eines Pfades über mehrere Kanten
Ein Pfad p ist d-separiert von einer Knoten-Menge Z genau
dann, wenn
1
p einen Teilpfad i → m → j oder eine Gabelung
i ← m → j enthält, wobei m ∈ Z, oder
2
p einen Treffpunkt i → m ← j enthält, wobei m 6∈ Z und
auch für alle Nachfolger n von m gilt: n 6∈ Z.
(Lehrstuhl KI)
Bayes-Netze (2)
8 / 23
d-Separation (2)
X1
X3
X2
X4
X5
(Lehrstuhl KI)
X1 d-separiert X2 und X3 : Für
X2 ← X1 → X3 gilt Fall 1,für
X2 → X4 ← X3 Fall 2. für Bedeutung:
Wenn man den Wert von X1 kennt, sind
X2 und X3 voneinander unabhängig.
X4 d-separiert X3 und X5 . Bedeutung:
Wenn man weiß, daß es das Gras naß
ist, ist es auch rutschig, unabhängig
davon, ob es gerade regnet.
{X1 , X5 } d-separiert nicht X2 und X3 :
X5 ist Nachfolger des Treffpunkts X4 .
Bedeutung: Je nach Wert von X5 ändern
sich P (X2 ) und P (X3 ).
Bayes-Netze (2)
9 / 23
Bedingte Unabhängigkeit d-separierter Variablen
Man kann zeigen:
Sind die Knoten-Mengen X und Y durch die Knoten-Menge
Z d-separiert, dann ist X unabhängig von Y unter der
Bedingung Z.
Im Beispiel:
P (X2 ∧ X3 |X1 ) = P (X2 |X1 ) · P (X3 |X1 )
Weiteres Beispiel:
X4 ist unabhängig von X1 , weil beide Variablen sowohl von X2 als
auch von X3 d-separiert werden.
(Lehrstuhl KI)
Bayes-Netze (2)
10 / 23
Elementares Lösungsverfahren
P (A) =
A
a1 a2
0.8 0.2


b1
b2
0.95 0.05 
0.8
0.2
, P (B|A) =  a1
a2
gemeinsame Verteilung von A und B:

P (A ∧ B) = P (A) · P (B|A) =  a1
a2
B
b1
0.76
0.16

b2
0.04 
0.04
Verteilung für B:
P (B) =
a2
X
P (A = a ∧ B)
=
a=a1
a2
X
a=a1
=
(Lehrstuhl KI)
Bayes-Netze (2)

 a1
a2
b1
0.76
0.16

b2
0.04 
0.04
b1
b2
0.92 0.08
11 / 23
Propagation von Werten entlang von Kanten
P (A|B = b)
A
=
=
B
B=b
P (A ∧ B = b)
P (B = b)
1
· P (B = b|A) · P (A)
P (B = b)
Damit läßt sich für jeden Wert a, den A annehmen kann, die
a posteriori-Wahrscheinlichkeit P (A = a|B = b) berechnen.
Die Faktoren ergeben sich, indem Information gegen die
Pfeilrichtung gesammelt wird:
1
Normalisierungsfaktor
P (b = b)
P (B = b|A) Kantenübergang
P (A)
a priori-Wahrscheinlichkeit
(Lehrstuhl KI)
Bayes-Netze (2)
12 / 23
Transport von Werten über Knoten
P (A|C = c)
A
X P (A ∧ B = b ∧ C = c)
P (C = c)
B=b
1 X
=
P (A)P (b|A)P (c|A ∧ b)
P (c)
B=b
1 X
=
P (c|b)P (b|A)P (A)
P (c)
=
B=b
B
In der Summierung steckt eine Rekursion:
1
2
C
C=c
Berechne alle Wahrscheinlichkeiten P (C = C|B = b)
Berechne alle Wahrscheinlichkeiten für die
Vorgängerkante P (B = b|A)
Es wird über B = b summiert, um alle Möglichkeiten für
P (A|C = c) zu erfassen.
(Lehrstuhl KI)
Bayes-Netze (2)
13 / 23
Information aus zwei Richtungen
P (B|A = a ∧ C = c)
=
=
A
A=a
=
P (A = a ∧ B ∧ C = C)
P (A = a ∧ C = c)
P (c ∧ B ∧ a)P (B ∧ a)
P (a)P (c)
1
· P r(c|B) · P (B|a)
P (c)
Die Propagation von Werten findet:
B
1
2
C
C=c
gegen die Kantenrichtung: P (C = c|B) und
in die Kantenrichtung: P (B|A = a) statt.
Dank der B AYES-Regel kann die Information lokal berechnet
werden:
P (B|A = a) =
(Lehrstuhl KI)
Bayes-Netze (2)
P (B)
P (A = a|B)
P (A = a)
14 / 23
Einfach verbundene Netze (1)
einfach verbunden: höchstens ein Pfad zwischen zwei beliebigen
Knoten
P (X|
^
X
1
α
(u1 , ..., un )
Yj = yj
X
Y
(u1 , ..., un )
Yj = yj
=
i
Y
j
P (ui |ai )P (X|
i
j
^
ui ) ·
i
l
Bayes-Netze (2)
i
Yj
^
V
V
V
V
P ( i ai i ui ∧ X j yj j bj )
V
V
V
V
P ( i ai i ui j yj j bj ) =: α
P (ai )
Ui
^
=
Y
(Lehrstuhl KI)
^
bj )
i
ai
P (yl |X)
Y
P (bl |yl )
l
15 / 23
Einfach verbundene Netze (2)
Also:
P (X|
^
ai
^
i
1Y
P (ai )
α i
X
Ui
i
P (X|
^
j
ui )
Y
i
(u1 ,...,un )
X
^
Yj
^
bj )
=
j
P (ui |ai ) ·
i
Y
P (yj |X)P (bj |yj )
(y1 ,...,ym ) j
Propagation von X nach Yk :
P (Yk |
^
ai
^
i
1Y
P (ai )
α i
X
(u1 ,...,un )
P (X|
Ui ∧ X ∧ bk )
=
i
^
ui )
i
X
Y
P (ui |ai ) ·
i
P (yk |X)P (bk |yk )
yk
(Lehrstuhl KI)
Bayes-Netze (2)
16 / 23
Einfach verbundene Netze (3)
Propagation von X nach Uk :
P (Uk |
^
i6=k
1 XY
P (ai )
α
i
X=x
X
^
ai
Ui ∧ X
j
i6=k
P (x|
^
ui )
i
(u1 , ..., un )
k auslassen
X
^
Y
Y
Yj
^
bj )
=
j
P (ui |ai ) ·
i
P (yj |x)P (bj |yj )
(y1 ,...,ym ) j
Der Wert enthält
die a posteriori-Wahrscheinlichkeiten der Kinder von X und
die a-posteriori-Wahrscheinlichkeiten aller Vorgänger von X außer Uk
(Lehrstuhl KI)
Bayes-Netze (2)
17 / 23
Zusammenfassung
Die Propagation von Werten in einem B AYES-Netz erfolgt in drei
Schritten:
1
Aktualisierung in Knoten X: Berechne die Wahrscheinlichkeit
P (X|...)
2
Propagation gegen die Pfeilrichtung an alle Vorgängerknoten
3
Propagation in die Pfeilrichtung an alle Nachfolgerknoten
Sonderfälle:
1
X hat keine Vorgänger: benutze als Vorgängerwahrscheinlichkeit
den a-priori-Wert P (X).
2
X hat keine Nachfolger: benutze als Nachfolgerwahrscheinlichkeit
den konstanten Wert 1.
(Lehrstuhl KI)
Bayes-Netze (2)
18 / 23
Andere Lösungsverfahren
Das Rechnen in B AYES-Netzen ist sehr aufwändig, da die Tabellen für
die bedingten Wahrscheinlichkeiten exponentiell mit den Variablen
wachsen.
Es gibt aberApproximationsmethoden:
Clustering
Manche Knoten werden nach geeigneten Kriterien zu
Megaknoten zusammengefaßt. Danach wird gerechnet wie in
einem einfach verknüpften Netz.
Stochastische Simulation
Es wird zufällig eine große Zahl von Instantiierungen der
Zufallsvariablen im Netz erzeugt, die mit der
Wahrscheinlichkeitsverteilung des Netzes konsistent sind. Damit
wird die gesuchte Lösung approximiert.
(Lehrstuhl KI)
Bayes-Netze (2)
19 / 23
Überblick
B AYES-Netze stellen zwei Herausforderungen an die Modellierung:
Welche Struktur hat ein Netz?
Welche Werte haben die bedingten Verteilungen?
Topologie und Wahrscheinlichkeitsverteilungen können aus
Beispieldaten bestimmt werden. Dementsprechend gibt es vier Typen
von Lernproblemen:
Struktur
bekannt
bekannt
unbekannt
unbekannt
(Lehrstuhl KI)
Beispiele für
alle Parameter
einige Parameter
alle Parameter
einige Parameter
Bayes-Netze (2)
20 / 23
Lernen der Struktur
Zielsetzung: Lernen eines gerichteten, azyklischen Graphen G,
der die gegebene Stichprobe D am besten erklärt, d.h. maximiere:
P (G|D) =
P (D|G)P (G)
P (D)
Der Suchraum ist also die Menge aller gerichten, azyklischen
Graphen mit N Knoten (bei N Variablen in D). Dieses Problem ist
N P -hart.
Drei Ansätze: top-down, bottom-up und middle-out
Wie vermeidet man, alle denkbaren Strukturen vergleichen zu
müssen? Z.B. Monte-Carlo-Simuation.
Alternative: Anwendung des expection maximization-Algorithmus:
berechne Erwartungswerte für bedingte Wahrscheinlichkeiten.
(Lehrstuhl KI)
Bayes-Netze (2)
21 / 23
Lernen von Wahrscheinlichkeiten (1)
Die Topologie ist gegeben, es müssen aber die bedingten
Wahrscheinlichkeiten gelernt werden.
Falls Daten für alle bedingten Wahrscheinlichkeiten bekannt sind,
schätze
V
^
N (X = x| i Yi = yi,k )
V
P (X = x| Yi = yi,k ) ≈
N ( i Yi = yi,k )
i
durch Auszählen. Der Nenner berechnet sich dabei als:
^
X
^
N ( Yi = yi,k ) =
N (X = x Yi = yi,k )
i
X=x
i
Man braucht also viele Datensätze der V
Form:
X Y1
... Yn
N ( i Yi = yi,k )
x y1,1 ... yn,1 45
(Lehrstuhl KI)
Bayes-Netze (2)
22 / 23
Lernen von Wahrscheinlichkeiten (2)
Falls nicht für alle Variablen Werte in den Daten vorliegen, findet
die Schätzung über Erwartungswerte statt:
V
^
E(N (X = x| i Yi = yi,k ))
V
P (X = x| Yi = yi,k ) ≈
E(N ( i Yi = yi,k ))
i
Dabei ist für die Stichprobe D:
E(N (x)) = E(
X
(x = k))
k∈D
Im Iterationsschritt werden die Parameter anhand der
berechneten Schätzung maximiert, dann wird wieder neu
geschätzt usw., bis ein Abbruchkriterium erfüllt ist.
(Lehrstuhl KI)
Bayes-Netze (2)
23 / 23
Herunterladen