Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen Graphische Modelle Christoph Sawade/Niels Landwehr/Tobias Scheffer Graphische Modelle: Inferenz Sa awade/Landwehr/Sccheffer, Maschinelle es Lernen II Wir haben eine Domäne durch gemeinsame Verteilung aller Zufallsgrössen modelliert Inferenz: Wahrscheinlichkeit dafür, dass Variablen bestimmte Werte annehmen, gegeben Informationen über andere Variablen? 2 Überblick Gerichtete Graphische Modelle: Bayessche Netze Graphische Modelle im Maschinellen Lernen Inferenz in Graphischen Modellen Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Exakte Inferenz: Message-Passing Approximative Inferenz: Sampling 3 Exakte Inferenz: Message-Passing Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Message Passing Algorithmus auf linearer Kette N p(x) i ,i 1 ( xi , xi 1 ) ( x2 ) ( xa 1 ) ( xa ) ( xa ) ( xa 1 ) ( xN 1 ) i 1 xa ( xN ) 1 Für k N -1,..., a: ( xk ) k ,k 1 ( xk , xk 1 ) ( xk 1 ) xk 1 ( x1 ) 1 Für k 2,..., , , a: ( xk ) k 1,1 k ( xk 1 , xk ) ( xk 1 ) xk 1 p( xa ) ( xa ) ( xa ) Randverteilung über Anfragevariable xa: Produkt der Nachrichten 4 Message-Passing mit Evidenz Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Bisher Randverteilung p( xa ) ohne Evidenz bestimmt Was ist wenn wir Evidenz haben? Notation :{x1 ,..., xN } { xa , xi1 ,..., xim , x j1 ,..., x jk } AnfrageVariable Evidenz-Variablen restliche Variablen Bedingte Verteilung p( xa | xi1 ,., xim ) p( xa , xi1 ,...., xim ) p( xi1 ,...., xim ) 1 p( xa , xi1 ,...., xim ) Z 1 = ... p( x j1 ,...., x jk , xa , xi1 ,...., xim ) Z x j1 x jk Z einfach zu berechnen (Normalisierer univariate Verteilung) aussummieren fest 5 Message-Passing mit Evidenz Ziel: p( xa , xi1 ,..., xim ) ? Leichte Modifikation des Message-Passing Algorithmus Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Wir berechnen wie bisher Nachrichten ( xN 1 ),..., ( xa ) ( x2 ),..., ( xa ) Falls xk+1 unbeobachtet ist, summieren wir diesen Knoten aus k 1{i1 , ..., im } ( xk ) k ,k 1 ( xk , xk 1 ) ( xk 1 ) xk 1 Falls xk+1 beobachtet ist, verwenden wir nur den entsprechenden Summanden x k 1 beobachteter Wert (Evidenz) k 1{i1 ,..., im } ( xk ) k ,k 1 ( xk , xk 1 ) ( xk 1 ) 6 Message-Passing mit Evidenz Ebenso für ( xk ) Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II k 1,k ( xk 1 , xk ) ( xk 1 ) : k 1{i1 ,..., im } (Knoten nicht beobachtet) ( xk ) xk 1 k 1,k ( xk 1 , xk ) ( xk 1 ) : k 1{i1 , ..., im } (Knoten beobachtet) Jetzt gilt p( xa , xi1 ,..., xim ) ( xa ) ( xa ) Laufzeit für Inferenz mit Evidenz immer noch O( NK 2 ) 7 Beispiel: Markov Modelle Beispiel für Inferenz auf linearer Kette: Markov Modelle Markov a o Modelle: ode e e einfache ac e Modelle ode e für ü dy dynamische a sc e probabilistische Prozesse Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Prozess, der verschiede Zustände annehmen kann Zufallsvariable Xt repräsentiert den Zustand zur Zeit t Diskrete Zeitpunkte t=1,…,T Beispiel: Wetter Zufallsvariable Xt = Wetter am Tag t Zwei mögliche Zustände, Regen und Sonne 8 Beispiel: Markov Modelle Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Modellierung: Prozess wird in einem zufällig gewählten Zustand gestartet: Verteilung über Startzustände p( x1 ) In jedem Schritt geht der Prozess in einen neuen Zustand über, abhängig nur vom gegenwärtigen Zustand (vereinfachende Annahme!) Verteilung über nächsten Zustand p( xt 1 | xt ) Unabhängigkeitsannahme: t : p( xt 1 | x1 ,..., xt ) p( xt 1 | xt ) "Markov" Markov Eigenschaft Übergangswahrscheinlichkeiten hängen nicht von t ab: t : p( xt 1 | xt ) p( xt | xt 1 ) "Homogener" Prozess 9 Beispiel: Markov Modelle Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Gemeinsame Wahrscheinlichkeit über alle Zustände T p( x1 ,..., xT ) p( xt | x1 ,..., xt 1 ) t 1 T p( x1 ) p( xt | xt 1 ) t 2 „Zukunft ist unabhängig von der Vergangenheit gegeben Gegenwart“ Darstellung als graphisches Modell: 10 Beispiel: Markov Modelle Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Gemeinsame Wahrscheinlichkeit über alle Zustände T p( x1 ,..., xT ) p( xt | x1 ,..., xt 1 ) t 1 T p( x1 ) p( xt | xt 1 ) t 2 „Zukunft ist unabhängig von der Vergangenheit gegeben Gegenwart“ Darstellung als graphisches Modell: x1 x2 x3 x4 … 11 Beispiel: Markov Modelle Beispiel Markov Modell: Zustand xt = Wetter am Tag t Zwei mögliche Zustände, Regen und Sonne x1 x2 x3 Verteilungen p( x1 s) 0.5 05 p( xt s | xt 1 s) 0.8 08 p( x1 r ) 0.5 p( xt r | xt 1 s) 0.2 x4 … Wahrscheinlichkeit, dass morgen die Sonne scheint, gegeben dass es heute regnet. g p( xt s | xt 1 r ) 0.4 p( xt r | xt 1 r ) 0.6 06 12 Sa awade/Landwehr/Sccheffer, Maschinelle es Lernen II Beispiel: Markov Modelle Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Markov Modelle entsprechen probabilistischen endlichen Automaten 0.5 0.5 0.2 0.6 0.8 0.4 Beispiel Inferenzproblem: Wie ist das Wetter übermorgen, gegeben dass es heute regnet? p( x3 | x1 r ) ? x1 x2 x3 13 Beispiel: Markov Modelle Berechnung mit Message-Passing Message Passing Algorithmus x1 x2 x3 Zu berechnende Nachrichten: ( x1 ), ( x2 ), ( x3 ); ( x3 ) k 1,k ( xk 1 , xk ) ( xk 1 ) : k 1{i1 ,..., im } (Knoten nicht beobachtet) ( xk ) xk 1 k 1,k ( xk 1 , xk ) ( xk 1 ) : k 1{i1 , ..., im } (Knoten beobachtet) 1 Initialisierung: ( x1 ) 1 ( x2 s) 0.5 0.4 0.2 x1 beob. beob Knoten: ( x2 ) p( x1 ) p( x2 | x1 ) ( x1 ) 0.5 0.6 0.3 x2 unbeob. Knoten: ( x3 ) ( x2 r ) 0.8 0.2 0.4 0.3 0.28 p ( x | x ) ( x ) 3 2 2 0.2 0.2 0.6 0.3 x2 {s , r } 0.22 ( x3 s) ( x3 r ) 14 Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Beispiel: Markov Modelle Berechnung mit Message-Passing Message Passing Algorithmus x1 Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II x2 x3 Nachrichten: ( x1 ), ( x2 ), ( x3 ); ( x3 ) 1 Initialisierung: ( x3 ) 1 p( x3 | x1 r ) 0 28 1 1 00.28 28 1 1 0.28 ( x3 ) ( x3 ) Z Z 0.22 1 Z 0.22 Z 0.28 0 28 0.22 0 22 0.5 05 p( x3 s | x1 r ) 0.56 p( x3 r | x1 r ) 0.44 0 44 15 Inferenz in Allgemeinen Graphen Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Bisher nur Spezialfall: Inferenz auf linearer Kette Die Grundidee des Message-Passing funktioniert auch auf allgemeineren Graphen Erweiterung: Exakte Inferenz auf Polytrees Polytree: Gerichteter Graph, in dem es zwischen zwei K t immer Knoten i genau einen i ungerichteten i ht t Pf Pfad d gibt ibt Etwas allgemeiner als gerichteter Baum Gerichteter Baum Polytree 16 Inferenz in Allgemeinen Graphen Grundidee Message Message-Passing Passing auf Polytrees: Umwandlung in Faktor-Graph (ungerichteter Baum) Ursprünglicher Graph x1 x Faktor-Graph 2 x4 x3 x5 Gemeinsame G i Verteilung V il p( x1 , x2 , x3 , x4 , x5 ) p( x1 ) p( x2 ) p( x3 | x1 , x2 ) p( x4 ) p( x5 | x3 , x4 ) Faktor Faktor Knoten Faktor-Knoten - Für jeden Faktor in der gemeinsamen Verteilung gibt es einen Faktor-Knoten - Ungerichtete Kanten von den Faktor-Knoten zu den im Faktor auftauchenden Variablen 17 Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Inferenz in Allgemeinen Graphen (Skizze) Falls der ursprüngliche Graph ein Polytree war war, ist der FaktorFaktor Graph ein ungerichteter Baum (dh zykelfrei). Spezialfall p lineare Kette Blätter xa Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II xa Betrachten Anfragevariable xa als Wurzel des Baumes Nachrichten von den Blättern zur Wurzel schicken (immer einde tiger Pfad, eindeutiger Pfad weil eil Ba Baum) m) Es gibt zwei Typen von Nachrichten: Faktor-Nachrichten und Variablen-Nachrichten 18 Inferenz in Allgemeinen Graphen (Skizze) Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Blätter xa xa Nachrichten werden „verschmolzen“, dabei müssen wir über mehrere Variablen summieren Grundidee dieselbe wie bei Inferenz auf der linearen Kette: geschicktes Aussummieren La f eit abhängig von Laufzeit on Graphstruktur, Graphstr kt r exponentiell e ponentiell im worstorst case Details im Bishop-Textbuch („Sum-Product“ Algorithmus) 19 Inferenz in Allgemeinen Graphen Inferenz in Graphen Graphen, die keine Polytrees sind? Approximativer Ansatz: Iteratives Message-Passing Schema, wegen Zyklen im Graph nicht exakt x1 x2 x3 „Loopy Belief P Propagation“ ti “ x4 p(x) p( x1 ) p( x2 | x1 ) p( x3 | x1 ) p( x4 | x2 , x3 ) Alternative für exakte Inferenz in allgemeinen Graphen: Graph in einen äquivalenten azyklischen Graphen umwandeln „Junction Tree“ Algorithmus, (i.A. exponentielle Laufzeit) 20 Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Überblick Gerichtete Graphische Modelle: Bayessche Netze Graphische Modelle im Maschinellen Lernen Inferenz in Graphischen Modellen Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Exakte Inferenz: Message-Passing Approximative Inferenz: Sampling 21 Approximative Inferenz Exakte Inferenz NP-hart: NP hart: In der Praxis spielen approximative Inferenzverfahren wichtige Rolle Wir betrachten Sampling-basierte Verfahren Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Relativ einfach zu verstehen/implementieren Anytime-Algorithmen (je länger die Laufzeit, desto genauer) 22 Inferenz: Sampling-basiert Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Grundidee Sampling: Wir interessieren uns für eine Verteilung p(z ) , z ist eine Menge von Zufallsvariablen (z.B. bedingte Verteilung über A f Anfragevariablen i bl iin graphischem hi h M Modell) d ll) Es ist schwierig, p(z ) direkt auszurechnen Stattdessen ziehen wir „Samples Samples“ (Stichproben) z ( k ) ~ p(z ) i.i.d., k 1,..., K , jedes Sample z ( k ) ist eine vollständige Belegung der Zufallsvariablen in z Die Samples z (1) , z (2) ,..., z ( K ) approximieren die Verteilung p(z) 23 Inferenz: Sampling-basiert Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Beispiel: Eindimensionale Verteilung, z {z} Diskrete Variable mit Zuständen {0,…,6}: Anzahl „Kopf“ bei 6 Münzwürfen Sample-Histogramm Anteil Samples Echte Verteilung (Binomial) K mit Wert z z 24 Sampling-Inferenz für Graphische Modelle Gegeben graphisches Modell Modell, repräsentiert Verteilung durch N p( x1,..., xN ) p( xi | pa( xi )) i 1 Etwas allgemeinere Inferenz-Problemstellung: Menge von Anfragevariablen p(x I | x D ) ? x I x {x1 ,..., xN } Menge von Anfragevariablen x D x {x1 ,,...,, xN } Menge g von Evidenzvariablen Wir betrachten zunächst den Fall ohne Evidenz: p(x I ) ? x I {xi1 ,..., xim } {x1 ,..., xN } 25 Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Sampling-Inferenz für Graphische Modelle Ziel: Samples aus der Randverteilung p(x I ) p( xi1 ,..., xim ) x(Ik ) ~ p(x I ) k 1,..., K Es genügt, Samples aus der Gesamtverteilung p(x) p( x1 , ..., xN ) zu ziehen: x( k ) ( x1( k ) ,..., xN( k ) ) ~ p( x1 ,..., xN ) Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II k 1,.. 1 ., K Samples p aus der Randverteilung g p( xi1 ,..., xim ) erhalten wir einfach durch Projektion der Samples auf die Menge {xi1 ,..., xim } . x( k ) ( x1( k ) ,,...,, xN( k ) ) ~ p( x1 ,..., , , xN ) k 1,.. , ., K Projektion x(Ik ) ( xi(1k ) ,..., xi(mk ) ) ~ p( xi1 ,..., xim ) k 1, ..., K 26 Inferenz: Ancestral Sampling Wie ziehen wir Samples Einfach ac bei be gerichteten ge c tete graphischen g ap sc e Modellen: ode e „Ancestral Sampling“ Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II x ( k ) ~ p ( x) ? Nutze Faktorisierung der gemeinsamen Verteilung x( k ) ~ p(x) p( x1 ,..., xN ) N p( xn | ppa( xn )) n 1 Annahme: pa( xn ) {x1 ,..., xn1} (sonst umbenennen) „Ziehen Zi h entlang tl d der K Kanten“ t “ „Ziehen entlang der Kanten“ x1 x2 x3 x4 x5 27 Inferenz: Ancestral Sampling Wir ziehen ein Sample ( x1( k ) ,..., xN( k ) ) , indem wir nacheinander die einzelnen xi( k ) ziehen x1( k ) ~ p( x1 ) (k ) 2 x x( k ) ~ p(x) p( x1 ,., xN ) ~ p( x2 | pa( x2 )) N p( xn | p pa( xn )) Schon gezogene Werte ... n 1 xN( k ) ~ p( xN | pa( xN )) B Beispiel x1( k ) ~ p( x1 ) x1 1 x2( k ) ~ p( x2 ) x2 0 x3( k ) ~ p( x3 | x1 1, x2 0) x3 1 x4( k ) ~ p( x4 | x2 00)) x4 0 (k ) 5 x ~ p( x5 | x3 1) Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II x5 1 x1 x2 A x3 E x4 R N x5 28 Inferenz: Ancestral Sampling Wir ziehen ein Sample ( x1 ,..., xN )( k ) , indem wir nacheinander die einzelnen xi ziehen x1( k ) ~ p( x1 ) (k ) 2 x x( k ) ~ p(x) p( x1 ,., xN ) ~ p( x2 | pa( x2 )) N p( xn | p pa( xn )) Schon gezogene Werte ... Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II n 1 xN( k ) ~ p( xN | pa( xN )) P(B=1) 0.1 B Beispiel x1( k ) ~ p( x1 ) x1 1 x2( k ) ~ p( x2 ) x2 0 x3( k ) ~ p( x3 | x1 1, x2 0) x3 1 x4( k ) ~ p( x4 | x2 00)) x4 0 (k ) 5 x ~ p( x5 | x3 1) x5 1 x1 x2 A x3 E x4 R N x5 29 Inferenz: Ancestral Sampling Wir ziehen ein Sample ( x1 ,..., xN )( k ) , indem wir nacheinander die einzelnen xi ziehen x1( k ) ~ p( x1 ) (k ) 2 x x( k ) ~ p(x) p( x1 ,., xN ) ~ p( x2 | pa( x2 )) N p( xn | p pa( xn )) Schon gezogene Werte ... n 1 xN( k ) ~ p( xN | pa( xN )) P(E=1) ( ) Beispiel B 0.2 x1( k ) ~ p( x1 ) x1 1 x2( k ) ~ p( x2 ) x2 0 x3( k ) ~ p( x3 | x1 1, x2 0) x3 1 x4( k ) ~ p( x4 | x2 00)) x4 0 (k ) 5 x ~ p( x5 | x3 1) Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II x5 1 x1 x2 A x3 E x4 R N x5 30 Inferenz: Ancestral Sampling Wir ziehen ein Sample ( x1 ,..., xN )( k ) , indem wir nacheinander die einzelnen xi ziehen x1( k ) ~ p( x1 ) (k ) 2 x x( k ) ~ p(x) p( x1 ,., xN ) ~ p( x2 | pa( x2 )) N B E P(A=1|B E) P(A=1|B,E) xN( k ) ~ p( xN | pa( xN )) 0 0 0.01 0 1 0.5 1 0 0.9 1 1 0.95 Beispiel (k ) 1 x ~ p( x1 ) x2 0 x3( k ) ~ p( x3 | x1 1, x2 0) x3 1 x4( k ) ~ p( x4 | x2 00)) x4 0 x ~ p( x5 | x3 1) n 1 B x1 x2 E x1 1 x2( k ) ~ p( x2 ) (k ) 5 p( xn | p pa( xn )) Schon gezogene Werte ... Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II x5 1 A x3 x4 R N x5 31 Inferenz: Ancestral Sampling Wir ziehen ein Sample ( x1 ,..., xN )( k ) , indem wir nacheinander die einzelnen xi ziehen x1( k ) ~ p( x1 ) (k ) 2 x x( k ) ~ p(x) p( x1 ,., xN ) ~ p( x2 | pa( x2 )) N p( xn | p pa( xn )) Schon gezogene Werte ... n 1 xN( k ) ~ p( xN | pa( xN )) Beispiel x1( k ) ~ p( x1 ) E P(R=1|E) 0 0.01 1 0.5 B x2 0 x3( k ) ~ p( x3 | x1 1, x2 0) x3 1 x4( k ) ~ p( x4 | x2 00)) x4 0 x ~ p( x5 | x3 1) x1 x2 E x1 1 x2( k ) ~ p( x2 ) (k ) 5 Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II x5 1 A x3 x4 R N x5 32 Inferenz: Ancestral Sampling Wir ziehen ein Sample ( x1 ,..., xN )( k ) , indem wir nacheinander die einzelnen xi ziehen x1( k ) ~ p( x1 ) (k ) 2 x x( k ) ~ p(x) p( x1 ,., xN ) ~ p( x2 | pa( x2 )) N p( xn | p pa( xn )) Schon gezogene Werte ... n 1 xN( k ) ~ p( xN | pa( xN )) Beispiel x1( k ) ~ p( x1 ) x2( k ) ~ p( x2 ) A P(N=1|A) 0 0.1 1 07 0.7 x2 0 x3 1 x4( k ) ~ p( x4 | x2 00)) x4 0 x ~ p( x5 | x3 1) B x1 x2 E x1 1 x3( k ) ~ p( x3 | x1 1, x2 0) (k ) 5 Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II x5 1 A x3 x4 R N x5 33 Inferenz: Ancestral Sampling Wir ziehen ein Sample ( x1 ,..., xN )( k ) , indem wir nacheinander die einzelnen xi ziehen x1( k ) ~ p( x1 ) (k ) 2 x x( k ) ~ p(x) p( x1 ,., xN ) ~ p( x2 | pa( x2 )) ... N Schon gezogene Werte p( xn | p pa( xn )) n 1 xN( k ) ~ p( xN | pa( xN )) Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Beispiel x1( k ) ~ p( x1 ) x1 1 x2( k ) ~ p( x2 ) x2 0 x3( k ) ~ p( x3 | x1 1, x2 0) x3 1 x4( k ) ~ p( x4 | x2 00)) x4 0 x5( k ) ~ p( x5 | x3 1) x5 1 x( k ) (1,0,1,0,1) 34 Inferenz: Ancestral Sampling Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Beispiel für Schätzung der Randverteilungen aus Samples: x(1) (1,0,1,0,1) (1 0 1 0 1) x(2) (0, 0, 0, 0, 0) x(3) ((0,1,0,1, , , , , 0)) x(4) (0,1,1,0,1) B x1 x2 E p( x3 1) 0.4 p( x4 1) 0.2 02 p( x5 1) 0.4 A x3 x4 R x(5) (0,0,0,0,0) N x5 Analyse Ancentral Sampling + Zieht Zi ht direkt di kt aus d der kkorrekten kt V Verteilung t il + Effizient - Funktioniert nur ohne Evidenz 35 Inferenz: Logic Sampling Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Wie erhalten wir Samples unter Evidenz? Beobachtete Variablen x(Ik ) ~ p(x I | x D ) p( xi1 ,..., xim | x j1 ,..., x jl ) Logic Sampling: Ancestral Sampling + Zurückweisung von Samples die nicht mit der Beobachtung konsistent sind Samples, Ancestral Sampling: vollständige Samples x( k ) ( x1( k ) ,..., xN( k ) ) ~ p(x) Fallunterscheidung: (x (j1k ) ,..., x (jkl ) ) (x j1 ,..., x jl ) [Sample konsistent mit Beobachtung]: akzeptiere x( k ) (x (j1k ) ,..., x (jkl ) ) (x j1 ,..., x jl ) [Sample ìnkonsistent mit Beobachtung]: weise x( k ) zurück 36 Inferenz: Logic Sampling Die im Logic Sampling akzeptierten Samples x( k ) repräsentieren die bedingte Verteilung gegeben Evidenz: Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II x( k ) ~ p(x | x D ) Marginale Samples x(Ik ) ~ p(x I | x D ) wieder durch Projektion auf Anfragevariablen Problem: Oft werden fast alle Samples verworfen Wahrscheinlichkeit,, Sample p zu generieren, g , das mit x D konsistent ist, sinkt meist exponentiell schnell mit Größe von D Entsprechend exponentielle Laufzeit, um ausreichende Menge von Samples zu erhalten In der Praxis selten anwendbar 37 Inferenz: MCMC Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Alternative Strategie zum Erzeugen von Samples: Markov Chain Monte Carlo („MCMC“) Idee: Schwierig, direkt Samples aus p(z) zu ziehen Alternativstrategie: Konstruiere Folge von Samples ( ) z ((0)) z (1) z ((2)) z ((3)) z ((4)) z ((5)) ... z (0) zufällig initialisiert z (t 1) update(z t ) durch d h mehrfache h f h probabilistische b bili i h U Update-Schritte d S hi Wenn Updates geeignet gewählt, gilt asymptotisch z (T ) ~ p ( z ) ungefähr, für sehr grosse T ZV: T-te Variablenbelegung 38 Markov-Ketten Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Folge der Zustände z (0) z (1) z (2) z (3) z (4) z (5) ... bildet Markov Markov-Kette: Kette: z (1) z (0) z (2) z (3) … z (t ) heisst "Zustand" der Kette zum Zeitpunkt t N p(z ,..., z ) p(z ) p(z (t ) | z (t 1) ) (0) (T ) (0) t 1 Dynamik beschrieben durch Transitionswahrscheinlichkeiten T(z (t ) , z (t 1) ) p(z (t 1) | z (t ) ) Neuer Zustand Wahrscheinlichkeit Übergang z (t ) z (t 1) Aktueller Zustand 39 Markov-Ketten Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Verteilung über Folgezustand berechnen aus Verteilung über aktuellem Zustand Aktueller Zustand Folgezustand g p(z (t 1) ) p(z (t 1) | z (t ) ) p(z (t ) ) zt T (z (t ) , z (t 1) ) p(z (t ) ) zt Stationäre Verteilung g Eine Verteilung p* (z ) über die Zustände der Kette heisst „stationär“, falls sie bei einem Schritt der Markov-Kette nicht verändert wird: p* (z (t 1) ) T (z (t ) , z (t 1) ) p* (z (t ) ) z( t ) 40 Markov-Ketten: Stationäre Verteilung Falls die Kette eine stationäre Verteilung erreicht erreicht, dh dh. (T ) (T ) p(z ) p* (z ) für ein geeignetes T, so bleibt diese Verteilung erhalten, dh. p(z (T N ) ) p* (z (T N ) ) für alle N. Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Kette ist „konvergiert“ konvergiert“ zur Verteilung p* Unter bestimmten Bedingungen g g („ („Ergodische g Ketten“)) konvergiert eine Markov-Kette für t gegen eine eindeutige stationäre Verteilung, diese heisst dann „Gleichgewichtsverteilung Gleichgewichtsverteilung“ 41 Inferenz: MCMC Gegeben Bayessches Netz über ZV x = {x1,…,xxN}, definiert Verteilung p(x) „Markov Chain Monte Carlo“ Methoden Konstruiere aus dem Bayesschen Netz eine Folge von Samples durch iterative p probabilistische Updates p x(0) x(1) x(2) x(3) x(4) x(5) ... x (0) zufällig fälli initialisiert i iti li i t x ( t 1) update d t (x ) t x(t ) jeweils Belegung aller Knoten im Netz Ziel: Updates so wählen, dass sich ergodische Markov-Kette mit p(x) ergibt Gl i h Gleichgewichtsverteilung i h il ib Einfachste Methode: lokales Ziehen einer Variable, gegeben Zustand der anderen Variablen („Gibbs-Sampling“) 42 Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Inferenz: Gibbs Sampling Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Gibbs Sampling: Eine Version von MCMC Übergangswahrscheinlichkeiten bestimmt durch wiederholtes lokales Ziehen einer ZV, gegeben den Zustand aller anderen ZV Gegeben alter Zustand x ( x1 ,..., xN ) Zi h d Ziehen des neuen Z Zustands t d x ' ( x1 ',..., xN ') : Beobachtete (alte) Werte x1 ' ~ p( x1 | x2 ,..., xN ) x2 ' ~ p( x2 | x1 ', x3 , ..., xN ) x3 ' ~ p( x3 | x1 ', x2 ', x4 , ..., xN ) ... xN ' ~ p( xN | x1 ', x2 ', ..., xN 1 ') 43 Inferenz: Gibbs Sampling Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Einzelner Gibbs-Schritt Gibbs Schritt einfach, einfach bedingte Verteilung über eine Variable gegeben Evidenz auf allen anderen Variablen direkt auszurechnen: Beobachtete (alte) Werte Berechnung von p( x1 | x2 ,..., xN ) : Für x1 = 1 berechne p1 p(x1 , x2 ,..., xN ) Für x1 = 0 berechne p p(x1 , x2 , ..., xN ) p1 p( x1 1| x2 ,..., xN ) p1 / p Satz: Falls p( xn | x1, x2 ,..., xn1, xn1,..., xN 1 ) 0 für alle n und alle möglichen Zustände xi , so ist die resultierende MarkovKette ergodisch mit Gleichgewichtsverteilung p(x) . 44 Gibbs-Sampling mit Evidenz Bisher haben wir Inferenz ohne Evidenz betrachtet Wie ee erhalten a te wir Sa Samples p es aus de der bed bedingten gte Verteilung? e te u g Ziel: x(T ) ~ p(x | x D ) Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II ungefähr, für sehr grosse T Leichte Modifikation der Gibbs-Sampling Methode: Gibbs-Sampling zieht immer eine Variable xi neu, gegeben Zustand der anderen Variablen Mit Evidenz: Nur die unbeobachteten Variablen werden jeweils neu gezogen, die beobachteten Variablen werden fest auf den beobachteten Wert gesetzt 45 Inferenz: Gibbs Sampling Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Zusammenfassung Gibbs Sampling Algorithmus: x(0) zufällige Initialisierung aller ZV, konsistent mit Evidenz x D Für t 1,..., T : x(t ) Gibbs-update(x(t 1) ) Die Samples x(1) , x(2) , x(3) ,... sind asymptotisch verteilt nach p(x | x D ) Gibbs Sampling in vielen praktischen Anwendungen brauchbar Einzelne Update-Schritte effizient G Garantierte ti t Konvergenz K (für (fü t ) Erlaubt, Samples aus p(x | x D ) zu ziehen, ohne dass Laufzeit explodiert wenn Evidenzmenge groß (im Gegensatz zu Logic S Sampling) li ) 46 Inferenz: Gibbs Sampling Gibbs-Sampling: Gibbs Sampling: Konvergenz Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Konvergenz der Markov-Kette x(1) , x(2) , x(3) ,... ist nur garantiert für t → ∞. In der Praxis: „Burn-In“ Iterationen, bevor Samples verwendet werden (verwerfe Samples x(t ) für t TBurnin ) Es gibt auch Konvergenztests, Konvergenztests um Anzahl der Burn-In Burn In Iterationen zu bestimmen Gibbs-Sampling: Abhängigkeit Einzelne aufeinander folgende Samples x(t ) , x(t 1) abhängig Lö Lösung: verwende d S Samples l x(t ) , x(t L ) , x(t 2 L ) , x(t 3 L ) ,... Samples dann weitestgehend unabhängig 47 Inferenz: Zusammenfassung Exakte Inferenz Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Message-Passing Algorithmen Exakte Inferenz auf Polytrees (mit Junction-Tree Erweiterung auf allgemeinen Graphen) Laufzeit abhängig von Graphstruktur, exponentiell im worst case worst-case Approximative pp Inferenz Sampling-Methoden: Approximation durch Menge von „Samples“, exakte Ergebnisse für t → ∞. Ancestral A t l Sampling: S li einfach, i f h schnell, h ll kkeine i E Evidenz id Logic Sampling: mit Evidenz, aber selten praktikabel MCMC/Gibbs-Sampling: Effizientes approximatives Ziehen von Samples unter Evidenz 48 Lernen Graphischer Modelle aus Daten? Graphische Modelle im maschinellen Lernen: Problemstellung ist meist Inferenzproblem MAP Parameterschätzung B Bayessche h V Vorhersage h w yn xn Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II y N x Auch möglich, die Verteilungen eines graphischen Modells aus Daten zu schätzen N p( x1 ,..., xN ) p( xi | pa( xi )) i 1 p( xi | pa( xi )) parametrisierte Verteilung (z.B. (z B diskrete Tabelle) Parameter können aus Daten geschätzt werden 49 Maximum-Likelihood Parameterlernen Parametrisierung mit Parametervektor Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II N p( x1 ,..., xN | ) p( xi | pa( xi ), ) i1 Beobachtete Daten: Belegungen der Zufallsvariablen x1,…,xN Daten: i.i.d. Beispiele L {x1 ,...., xm } B E A N R x1 0 0 0 0 0 x2 0 1 1 1 1 x3 0 1 0 0 0 x4 1 0 1 1 0 x5 0 0 0 1 0 x6 1 1 1 0 1 50 Maximum-Likelihood Parameterlernen Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Maximum-Likelihood-Ansatz Maximum Likelihood Ansatz * arg max p( L | ) arg max p(x1 ,..., xm | ) m arg max p(x j | ) i.i.d. j 1 m N arg max ma p( x ji | pa( x ji ), ) ) Faktorisierung Faktorisier ng GM j 1 i 1 51 Maximum-Likelihood Parameterlernen Lösung (diskrete Variablen): C ( x ji , pa( x ji )) p( x ji | ppa( x ji )),* ) C ( pa( x ji )) Zustand x ji Zustand pa ( x ji ) C ( x ji , pa( x ji )) Wie oft wurde der gemeinsame Zustand x ji , pa( x ji ) beobachtet? C ( pa( x ji )) Wie oft wurde der gemeinsame Zustand pa( x ji ) beobachtet? Daten: i.i.d. Beispiele L {x1 ,...., xm } B E A N R x1 0 0 0 0 0 x2 0 1 1 1 1 x3 0 1 0 0 0 x4 1 0 1 1 0 x5 0 0 0 1 0 x6 1 1 1 0 1 1 p( N 1| A 0, 0 * ) 3 p( N 1|| A 1,,* ) 2 3 52 Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II Maximum-Likelihood Parameterlernen Einfache Lösung nur möglich bei vollständig beobachteten Daten Modelle enthalten oft Variablen, die nicht beobachtbar sind Maximum-Likelihood-Schätzung dann mit dem EM Algorithmus ((„Expectation-Maximization Expectation Maximization“)) Später mehr! Sa awade/Landwehr/Sccheffer, M Maschinelle es Lernen II 53