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