Sampling Methoden zur approximativen Inferenz

Werbung
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.
Herunterladen