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