Methoden der KI in der Biomedizin Bayes Netze 2 Karl D. Fritscher Exakte Inferenz in Bayesschen Netzwerken Nachteil von Enumeration-ASK: • P(j|a) P(m|A) sind nicht von E abhängig, werden aber zweimal (für e und ¬ e) berechnet! Exakte Inferenz in Bayesschen Netzwerken Steigerung der Effizienz des Algorithmus durch 1) Caching von mehrfach auftauchenden Teilergebnissen 2) Variableneliminierung: • Theorem: Jede Variable, die kein Vorfahre einer Abfragevariablen oder Evidenzvariablen ist, ist für die Abfrage irrelevant ! Beispiel: P(J | b) P b P(E) E P(a | b, E)P(J | A) A P(J | b) bleibt unverändert wenn MaryRuftAn aus dem Netwerk entfernt wird. P(M | A) M =1 Komplexität exakter Inferenz Einfach verbundene Netzwerke (=Polybäume): Es gibt höchstens einen Pfad zwischen 2 Knoten • Die Zeit und Speicherkomplexität exakter Inferenz in Polybäumen ist linear zur Größe des Netzwerks Mehrfach verbundene Netzwerke: Mehrere Pfade zwischen 2 Knoten • Im schlechtesten Falls exponentielle Zeitund Speicherkomplexität. Clustering-Algorithmen Mehrfach verbundene Netzwerke können in Polybäume übergeführt werden. • Ansatz: • Gruppen von mehrfach verbundenen Knoten werden zu Megaknoten zusammengefügt • Errechne Verteilung der Megaknoten aus Verteilung der Einzelknoten Approximative Inferenz in Bayes-Netzwerken Mit Hilfe von Algorithmen für zufällig angeordnete Stichproben (Monte-Carlo-Algorithmen) sollen (bedingte) Verteilungen durch Entnahme von Stichproben aus dem Bayes Netzwerk ermittelt werden. Bekanntestes Beispiel für die Verwendung von MC Methoden ist die Berechnung von π: Sampling Methoden zur approximativen Inferenz Einfachster Fall: Generierung von Ereignissen für Netzwerke, denen keine Evidenz zugeordnet ist. Die Idee dabei ist, jede Variable nacheinander in topologischer Reihenfolge zu sampeln. Die Wahrscheinlichkeitsverteilung aus welcher der Wert gesampelt wird, ist von den Werten abhängig, die den Elternknoten der Variable bereits zugewiesen wurden. Sampling Methoden zur approximativen Inferenz Wenn Ns(x1, … , xn) die Häufigkeit des spezifischen Ereignisses (x1, … , xn) ist gilt für N Stichproben: Sampling Methoden zur approximativen Inferenz Beispiel Rasenbewässerung Ergebnis aus Prior-Sample [true,false,true,true]. Die Wahrscheinlichkeit für dieses Ereignis beträgt 0.324. D.h. bei sehr großem N kann man erwarten, dass 32,4% aller Stichproben diesem Ergebnis entsprechen. Der Standardfehler der Schätzung ist proportional zu 1/√N. Bei N=1000 ist das 0.00316 Sampling Methoden zur approximativen Inferenz Grenzen von PRIOR-SAMPLE • Vorhandene Evidenz wird nicht verwendet: P(X) wird approximiert, aber nicht ohne Weiteres P(X|e) Lösung: Ablehnungs Sampling (Rejection Sampling) • Wird verwendet um bedingte Wahrscheinlichkeiten der Form P(X | e), zu ermitteln Algorithmus: • Erzeuge Stichproben aus der unbedingten Verteilung, die durch das Netzwerk vorgegeben ist und lehne alle Stichproben ab, die nicht mit der Evidenz übereinstimmen. Sampling Methoden zur approximativen Inferenz Ablehnungs Sampling (Rejection Sampling) Beispiel Rasenbewässerung: Abschätzung von P(Regen | Sprinkler=true). • Hypothetisches Ergebnis: Aus 100 Stichproben werden 73 zurückgewiesen (Sprinkler = false). Von den verbleibenden 27 ergeben 8 Regen=true und 19 Regen=false P(Regen | Sprinkler=true) ~ Normalize(<8;19>)= (<0,296;0.704>) (tatsächlich: <0.3;0.7>) Problem: • Der Bruchteil der Stichproben, der konsistent mit der Evidenz e ist, fällt exponentiell, mit steigender Anzahl der Evidenzvariablen. Für komplexe Netzwerke ist dieses Vorgehen daher selten sinnvoll. Sampling Methoden zur approximativen Inferenz Wahrscheinlichkeits-Gewichtung (Likelihood-Weighting) Algorithmus: 1. Lege Werte für Evidenzvariable E fest und sample nur die verbleibenden Variablen Es werden nur Samples generiert, welche mit der Evidenz e konsistent sind 2. Gewichte jedes Sample anhand der Produkte der bedingten Wahrscheinlichkeiten für jede Evidenzvariable bei bekannten Eltern. Ereignisse in denen die tatsächliche Evidenz unwahrscheinlich erscheint sollen weniger Gewicht erhalten Sampling Methoden zur approximativen Inferenz Wahrscheinlichkeits-Gewichtung (Likelihood-Weighting) Beispiel P(Regen | Sprinkler = true, NassesGras = true) 1. Setze Gewichtungsvariable w auf 1. 2. Stichprobe aus P(Wolkig)=<0.5;0.5> Ergebnis-Annahme: true 3. Sprinkler ist Evidenzvariable mit Wert true Setze w w x (Sprinkler=true | Wolkig=true) = 0.1 4. Stichprobe aus P(Regen | Wolkig=true) =<0.8;0.2> Ergebnis-Annahme: true 5. NassesGras ist Evidenzvariable mir dem Wert true w w x (NassesGras=true | Sprinkler=true, Regen = true) = 0.099 Ergebnis: [true, true, true, true] mit Gewichtung 0.099 Sampling Methoden zur approximativen Inferenz Nachteile von Likelihood-Weighting • Bei vielen Evidenzvariablen haben die meisten Samples sehr kleine Gewichtung und wenige Samples mit hoher Gewichtung dominieren. Sampling Methoden zur approximativen Inferenz Inferenz mit MCMC(Markov Chain Monte Carlo)Algorithmus Ermittle P(X|e) mittels MCMC Idee: 1. Starte mit einem zufälligen Ereignis, das die gegebene Evidenz spiegelt 2. Erzeuge neue Ereignisse durch „lokale Änderung“ in NichtEvidenz-Variablen 3. Die lokalen Änderungen entsprechen der Wahrscheinlichkeitsverteilung abhängig von den unveränderten Variablen Sampling Methoden zur approximativen Inferenz Inferenz mit MCMC(Markov Chain Monte Carlo)Algorithmus Erinnerung: (Markov-Decke =Markov-Hülle) Sampling Methoden zur approximativen Inferenz Inferenz mit MCMC(Markov Chain Monte Carlo)Algorithmus Beispiel Bewässerung, Abfrage P(Regen|Sprinkler=true, NassesGras = true): Sprinkler und NassesGras sind auf beobachtete Werte festgelegt. Verborgene Var. Regen und Wolkig sind zufällig initialisiert (Regen= true, Wolkig = false) Ausgangszustand [true, true, false, true] Führe die folgenden Schritte N mal aus: 1. Wolkig wird gesampelt, bei bekannten Werten seiner Markov-DeckenVariablen: P(Wolkig | Sprinkler=true, Regen = false) (Details zur Berechnung in Kürze). Ergebnis: Wolkig=false 2. Regen wird gesampelt, bei bekannten Werten seiner Markov-DeckenVariablen: P(Regen | Wolkig = false, Sprinkler = true, NassesGras = true) Neuer aktueller Zustand: [false,true,true,true] Sampling Methoden zur approximativen Inferenz Inferenz mit MCMC(Markov Chain Monte Carlo)Algorithmus Beispiel Bewässerung, Abfrage P(Regen|Sprinkler=true, NassesGras = true): Jeder Zustand der im Zuge des oben angeführten Algorithmus besucht wird, ist eine Stichprobe, die zur Schätzung von P(Regen|Sprinkler=true, NassesGras = true) beiträgt. Besucht der Algorithmus 20 mal Zustände in denen Regen true ist und 60 Zustände in denen Regen false ist lautet die Antwort auf die Abfrage: Normalize(<20;60>)=<0.25;0.75> Warum funktioniert MCMC?? Sampling Methoden zur approximativen Inferenz Ausblick Markov Ketten: Eine Folge diskreter ZufallsvariablenX0, X1,… heißt Markov Kette mit Zustandsraum S wenn für alle x0,…,xn aus S. Xn ist bei gegebenem Xn-1 bedingt unabhängig von allen andere Variablen davor Sampling Methoden zur approximativen Inferenz Ausblick Markov Ketten: Übergangswahrscheinlichkeiten werden in einer sog. Transitionsmatrix festgelegt Sampling Methoden zur approximativen Inferenz Ausblick Markov Ketten: Markov Kette ist ein Markov-Prozess mit diskretem Zustandsraum Markov-Prozess: • Ein Markov-Prozess ist ein stochastischer Prozess, dessen zukünftige Wahrscheinlichkeitsverteilung nur vom gegenwärtigen Zeitpunkt und vom gegenwärtigen Zustand des Prozesses abhängt und nicht davon, wie der gegenwärtige Zustand erreicht wurde. Sampling Methoden zur approximativen Inferenz Wir wollen nun Samples aus einer vorgegebenen Verteilung Pd(x) ziehen (für komplizierte Verteilungen - z. B. vorgegeben durch Bayes Netze - oft schwierig) Idee: • Wir konstruieren eine Markov-Kettte, welche für eine beliebigen Zustand X0, gegen eine stationäre Verteilung Pd(X) (=Equilibrium) konvergiert. • Anschließend werden Zustände xn, xn+1,… gemäß der Verteilung Pd gesampelt. Es ist schwierig zu beurteilen, wann das Equilibrium erreicht wurde, deshalb wird der Anfangsteil der Kette (=burn-in phase) verworfen Sampling Methoden zur approximativen Inferenz Beispiel: S={1,2} mit der Transitionsmatrix Simuliere die Kette für 1000 Schritte und notiere Ns(1)/N und Ns(2)/N für N=1,2,…..,1000 mit Initialzustand A (links) und B (rechts) Sampling Methoden zur approximativen Inferenz • Der Samplingprozess führt zu einem dynamischen Gleichgewicht, in dem der Zeitabschnitt, der in jedem Zusatand verbracht wurde, auf lange Sicht genau proportional zu seiner bedingten Wahrscheinlichkeit ist Sampling Methoden zur approximativen Inferenz Zurück zu Bayes…. • Bei gegebener Evidenz e und Nicht-Evidenzvariablen X, können wir Markov-Ketten benutzen um von der Verteilung P(X | e) zu sampeln. • Dafür erzeugen wir eine Abfolge von Zuständen x0, x1, …, und verwerfen den initialen Teil der Kette • Bei Vorliegen des Equilibriums haben die Samples xk, xk+1,… die gewünschte Verteilung P(X | e) Sampling Methoden zur approximativen Inferenz KONKRET: Beispiel Bewässerung, Abfrage P(Regen|Sprinkler=true, NassesGras = true): Sprinkler und NassesGras sind auf beobachtete Werte festgelegt. Verborgene Var. Regen und Wolkig sind zufällig initialisiert (Regen= true, Wolkig = false) Ausgangszustand [true, true, false, true] Führe die folgenden Schritte N mal aus: 1. Wolkig wird gesampelt, bei bekannten Werten seiner Markov-DeckenVariablen: P(Wolkig | Sprinkler=true, Regen = false) (Details zur Berechnung in Kürze). Ergebnis: Wolkig=false 2. Regen wird gesampelt, bei bekannten Werten seiner Markov-DeckenVariablen: P(Regen | Wolkig = false, Sprinkler = true, NassesGras = true) Neuer aktueller Zustand: [false,true,true,true] Gibbs Sampling Berechnung von P(Xi| MarkovDecke(Xi)): P(x i | MarkovDecke(X i )) P(x i | Eltern(X i )) P(y i | Eltern(Yi ) Yi Kinder ( X i ) Das in der vorigen Folie beschriebene Grundkonzept zum Sampling, welches • in wiederholender Weise eine Variable auswählt • gemäß ihrer bedingten Verteilung einen Wert in Abhängigkeit von den Werten der anderen Variablen erzeugt und • die Werte der anderen Variablen in diesem Iterationsschritt unverändert lässt wird als Gibbs-Sampling bezeichnet. Gibbs Sampling Beispiel FamilyOut, Ermittle: P (F | l, d) Starte mit beliebigen Werten für (f, b, h) 1. Sample F aus P(F|l, d, b) false 2. Sample B aus P(B| ¬ f, d) true 3. Sample H aus P(H|d) true Wiederhole die Schritte 1-3 50000 mal, behalte die letzten 10000 Zustände. Resultat mittels Gibbs Sampling P (F | l, d)~0.9016 (bei exakter Inferenz 0.90206) Vergleich der Inferenz Algorithmen • Inferenz durch Aufzählung ist in der Praxis zu rechenintensiv • Variableneliminierung entfernt alle irrelevanten Variablen • Direktes Sampling aus der Wahrscheinlichkeitsverteilung ist einfach, wenn keine Evidenz berücksichtigt werden muss • Rejection Sampling und Likelihood Weighting erhöhen die Effizienz der Berechnung und berücksichtigen Evidenzen • MCMC Methoden sind bei großen Netzwerken die effizienteste Variante, Unabhängigkeit der Stichproben geht verloren Beispiel • Aus: (1) Lauritzen und Spiegelhalter, 1988 • Expertenwissen zur Dyspnoe (Kurzatmigkeit) • Die Dyspnoe kann verschiedene Ursachen mit unterschiedlicher Häufigkeit haben. – Mögliche Ursachen • Tuberkulose, Lungenkrebs, Bronchitis – – – – Es gibt auch andere Ursachen Eine Asienreise erhöht das Risiko für die Tuberkulose Rauchen erhöht das Risiko für Lungenkrebs und Bronchitis Mit einer Röntgenuntersuchen kann typischerweise nicht zwischen Lungenkrebs und Tuberkulose unterschieden werden • Aus diesem noch schwach strukturierten Wissen müssen nun die Zufallsvariablen mit ihren möglichen Ausprägungen identifiziert werden... Zufallsvariablen Zufallsvariable Asienreise Variablensymbol Ausprägungen A wahr, falsch Ra wahr, falsch Tuberkulose T wahr, falsch Lungenkrebs L wahr, falsch Bronchitis B wahr, falsch Röntgenbefund Rö wahr, falsch Dyspnoe D wahr, falsch Raucher Netzkonstruktion • Zunächst sind die Knoten entsprechend zu sortieren und die Richtung der Abhängigkeit zu definieren • Wie bereits erwähnt ist die empfohlene Reihenfolge zum Einfügen von Knoten jene, welche der Richtung der „Ursächlichkeit“ folgt: – Reisen und Rauchen sind ursächlich für den Zustand der Lunge, dieser ist wiederum ursächlich für die Erkrankungen, die dann bestimmte Befunde zur Folge haben. • Dieser Ansatz führt zu einem ersten Graphen: Bayes-Netz 1 Asienreise A Tuberkulose T Röntgenbefund Rö Raucher Ra Lungenkrebs L Dyspnoe D Bronchitis B P ( Rö | T , L ) P ( D | T , L, B ) ? Vereinfachung Zufallsvariable Asienreise Variablensymbol Ausprägungen A wahr, falsch Ra wahr, falsch Tuberkulose T wahr, falsch Lungenkrebs L wahr, falsch Bronchitis B wahr, falsch Röntgenbefund Rö wahr, falsch Dyspnoe D wahr, falsch Tuberkulose oder Lungenkrebs TL wahr, falsch Raucher Bayes-Netz 2 Asienreise 1:A Raucher 2:Ra P (Ra ) P ( A) Tuberkulose 3:T Lungenkrebs 4:L Bronchitis 5:B P ( L | Ra ) P (T | A) P ( B | Ra ) Tub. od. Lu. 6:TL P ( Rö | TL ) Röntgenbefund 7:Rö P (TL | T , L ) Dyspnoe 8:D P ( D | TL , B ) Füllen des Netzes • Zur Repräsentation der Real-Domäne müssen nun die (bedingten) Wahrscheinlichkeiten für alle Knoten angegeben werden. • Typischerweise ist dieses Wissen nur teilweise statistisch begründet – fehlende Statistik wird durch sinnvolle Schätzungen ergänzt. • Werte für Beispiel-Netz nach (1): Knoten P(...) Wert 1:A A 0,01 2:Ra Ra 0,50 3:T T|A T|-A 0,05 0,01 4:L L|Ra L|-Ra 0,10 0,01 5:B B|Ra B|-Ra 0,60 0,30 6:TL TL|L,T TL|L,-T TL|-L,T TL|-L,-T 1,00 1,00 1,00 0,00 7:Rö Rö|TL Rö|-TL 0,98 0,05 8:D D|B,TL D|B,-TL D|-B,TL D|-B,-TL 0,90 0,80 0,70 0,10 Anwendung • Beispiel: – Gesucht ist P(Rö | A ) P(Rö | A, S) • Möglichkeiten für Lösung: – Berechnung „zu Fuß“ – Berechnung mittels HUGIN http://www.hugin.com HUGIN • HUGIN: – http://www.hugin.com – Bayes-Netz basiertes Expertensystem-Framework Literatur • Karl-Rudolf Koch, Einführung in die Bayes-Statistik, Springer, Berlin; Auflage: 1 (21. Januar 2000) • Olivier Pourret, Patrick Naïm, Bruce Marcot, Bayesian Networks: A Practical Guide to Applications, John Wiley & Sons; Auflage: 1. Auflage (20. März 2008) • Basilio Sierra, Iñaki Inza and Pedro Larrañaga, Medical Bayes Networks, Lecture Notes in Computer Science, Medical Data Analysis, Vol. 1933/2000, pp. 149 • Andersen, S. K., Olesen, K. G., Jensen, F. V. and Jensen, F.: 1989, HUGIN – A shell for building Bayesian belief universes for expert systems, in N. S. Sridharan (ed.), Proceedings of the 11th International Joint Conference on Artificial Intelligence, Morgan Kaufmann Publishers, San Mateo, CA, pp. 1080–1085. Also reprinted in Shafer and Pearl (1990). • Lauritzen, S.L., Spiegelhalter, D.J.: Local Computations with Probalities on Graphical Structures and their Application to Expert Systems, J. R. Statist. Soc. B, 50(2):157-224.