Lernen Markovscher Ketten

Werbung
Strukturelle Modelle in der Bildverarbeitung
Markovsche Ketten, Lernen nach dem Maximum Likelihood Prinzip
D. Schlesinger – TUD/INF/KI/IS
– Maximum Likelihood Prinzip (allgemein)
– ML für Markovsche Ketten (überwacht)
– Unüberwachtes Lernen, EM Algorithmus
– EM für Markovsche Ketten
D. Schlesinger
()
SMBV: Markovsche Ketten, ML
1 / 15
Lernen
Das übergeordnete Thema – Lernen
Gegeben sei eine parametrisierte Klasse (Familie) der Wahrscheinlichkeitsverteilungen,
d.h. P(x; Θ) ∈ P.
Beispiel – die Menge aller Gaussiane im Rn
1
kx − µk2
,
p(x; µ, σ) = √
exp −
2σ 2
( 2πσ)n
h
i
parametrisiert mit dem Mittelwert µ ∈ Rn und σ ∈ R, d.h. Θ = (µ, σ)
Eine Lernstichprobe steht zur Verfügung: z.B. L = (x 1 , x 2 , . . . , x |L| ) mit x l ∈ Rn .
Man entscheide sich für eine Wahrscheinlichkeitsverteilung aus der vorgegebenen Familie,
d.h. für einen Parametersatz (z.B. Θ∗ = (µ∗ , σ ∗ ) für den Gaussian).
D. Schlesinger
()
SMBV: Markovsche Ketten, ML
2 / 15
Maximum Likelihood Prinzip
Die Lernstichprobe ist eine Realisierung der unbekannten Wahrscheinlichkeitsverteilung,
sie ist entsprechend der Wahrscheinlichkeitsverteilung gewürfelt.
⇓
Das, was beobachtet wird, hat hohe Wahrscheinlichkeit
⇓
Maximiere die Wahrscheinlichkeit der Lernstichprobe bezüglich der Parameter:
p(L; Θ) → max
Θ
D. Schlesinger
()
SMBV: Markovsche Ketten, ML
3 / 15
Diskrete Wahrscheinlichkeitsverteilungen
Allgemeine diskrete Wahrscheinlichkeitsverteilung
für k ∈ K ,
P
d.h. Θ = p(k) ∈ R|K| , p(k) ≥ 0,
p(k) = 1.
k
Lernstichprobe L = (k 1 , k 2 , . . . , k |L| ), k l ∈ K .
Annahme (sehr oft):
Die Elemente der Lernstichprobe werden unabhängig von einander generiert.
ML:
p(L; Θ) =
Y
p(k l ) =
Y Y
l
k
p(k) =
l:k l =k
Y
p(k)n(k)
k
mit den Häufigkeiten n(k) der Werte k in der Lernstichprobe.
ln p(L; Θ) =
X
n(k) ln p(k) → max
p
k
oder (bei einer unendlichen Lernstichprobe)
ln p(L; Θ) =
X
p∗ (k) ln p(k) → max
p
k
D. Schlesinger
()
SMBV: Markovsche Ketten, ML
4 / 15
Das Schannonsche Lemma
X
ai ln xi → max,
s.t. xi ≥ 0 ∀i,
x
X
mit ai ≥ 0
xi = 1
i
i
Methode der Lagrange Koeffizienten:
X
F=
ai ln xi + λ
X
xi − 1
→ min max
λ
x
i
i
dF
ai
=
+λ=0
dxi
xi
X
dF
xi − 1 = 0
=
λ
i
xi = c · a i
X
c · ai − 1 = 0
i
xi =
Pai
i0
ai 0
Die optimale Wahrscheinlichkeitsverteilung für das Beispiel 1:
Zähle, wieviel mal jedes k in der Lernstichprobe vorhanden ist und normiere auf 1.
D. Schlesinger
()
SMBV: Markovsche Ketten, ML
5 / 15
Wahrscheinlichketsdichten
Zum Beispiel Gaussian, d.h. eine parametrisierte Wahrscheinlichketsdichte
1
kx − µk2
p(x; µ, σ) = √
exp −
,
n
2σ 2
( 2πσ)
h
i
d.h. Θ = (µ, σ), mit µ ∈ Rn , σ ∈ R.
Lernstichprobe L = (x 1 , x 2 , . . . , x |L| ) – jeder Wert von x ist nur ein Mal (?) vorhanden.
ML:
ln p(L; µ, σ) =
Xh
−n ln σ −
kx l − µk2
2σ 2
i
=
l
= −|L| · n · ln σ −
1
2σ 2
X
kx l − µk2 → max
µ,σ
l
d ln p(L; µ, σ)
=0
dµ
1
|L|
X
⇒
µ=
⇒
1
σ=
n · |L|
xl
l
d ln p(L; µ, σ)
=0
dσ
X
kx l − µk2
l
D. Schlesinger
()
SMBV: Markovsche Ketten, ML
6 / 15
ML für Markovsche Ketten
Das Modell:
p(x, y; Θ) = p(y1 ) ·
n
Y
p(yi |yi−1 ) ·
n
Y
p(xi |yi )
i=1
i=2
Unbekannte Parameter: Θ = (q1 , gi , qi ) mit
– Startwahrscheinlichkeitsverteilung q1 (k) (entspricht p(y1 )),
– Übergangswahrscheinlichkeitsverteilungen gi (k, k 0 ) (entsprechen p(yi |yi−1 )),
– Bedingte Wahrscheinlichkeitsverteilungen qi (c, k) (entsprechen p(xi |yi )).
Lernstichprobe: L = (x 1 , y 1 ), (x 2 , y 2 ) . . . (x l , y l )
Likelihood:
ln p(L, Θ) =
X
ln p(x l , y l ; Θ) =
l
"
X
ln q1 (y1l )
+
l
X
n
X
l
ln gi (yil , yi−1
)
i=2
n
ln q1 (y1l ) +
l
#
ln qi (xil , yil )
i=1
XX
i=2
+
n
X
l
l
ln gi (yil , yi−1
)+
n
X
X
ln qi (xil , yil ) → max
Θ
i=1
l
Jeder Summand kann unabhängig von anderen optimiert werden!!!
D. Schlesinger
()
SMBV: Markovsche Ketten, ML
7 / 15
ML für Markovsche Ketten
X
l
ln q1 (y1l ) =
X X
ln q1 (y1l ) =
X X
l =k
l:y1
k
k
ln q1 (k) =
X
l =k
l:y1
n1 (k) ln q1 (k) → max
k
q1
mit relativen Häufigkeiten n1 (k) (in der Lernstichprobe)
Pder Zustände im ersten Zeitpunkt.
Nach dem Schannonschen Lemma (da q1 (k) ≥ 0 und
q (k) = 1)
k 1
q1 (k) ∼ n1 (k)
(Fast) Analog für alle Übergangsmatrizen gi (k, k 0 ):
X
l
ln gi (yil , yi−1
)=
XX
l
k
XX
k
X
k0
X
ln gi (k, k 0 ) =
l:yil =k,yi−1 =k 0
ni (k, k 0 ) ln gi (k, k 0 ) → max
gi
k0
ni (k, k 0 ) ln gi (k, k 0 ) → max
∀k 0
gi
k
⇒ gi (k, k 0 ) ∼ ni (k, k 0 )
Setze die Parameter des Modells auf die aus der Lernstichprobe entnommenen Statistiken.
D. Schlesinger
()
SMBV: Markovsche Ketten, ML
8 / 15
Unüberwachtes Lernen, EM (Idee)
(Allgemein): Das Modell ist eine Wahrscheinlichkeitsverteilung p(x, k; Θ)
für Paare x (Beobachtung) und k (Klasse)
In der Lernstichprobe ist die Information unvollständig
– die Klasse wird nicht beobachtet, d.h. L = (x 1 , x 2 . . . x l )
Die Aufgabe nach dem Maximum Likelihood Prinzip: ln p(L; Θ) → max
Θ
Die Idee – ein iteratives Verfahren:
1. „Erkennung“ (Vervollständigung der Daten): (x 1 , x 2 . . . x l ), Θ ⇒ „Klassen“
2. Überwachtes Lernen: „Klassen“, (x 1 , x 2 . . . x l ) ⇒ Θ
Achtung!!! Bayessche Erkennung ist nicht möglich, denn es gibt keine Kostenfunktion.
D. Schlesinger
()
SMBV: Markovsche Ketten, ML
9 / 15
Unüberwachtes Lernen, EM (Ableitung)
ln p(L; Θ) =
X
ln p(x l ) =
X X
ln
p(x l , k; Θ) → max
Θ
l
l
k
Expectation-Maximization Algorithmus:
Man führt eine „Nahrhafte Eins“ wie folgt ein:
"
X X
l
mit αl (k) ≥ 0,
αl (k) ln p(k, x l ; Θ) −
k
P
k
X
k
p(k, x l ; Θ)
αl (k) ln P
p(k 0 , x l ; Θ)
k0
#
αl (k) = 1 für alle l.
Dann ist dieser Ausdruck dem oberen äquivalent (Beweis nur für einen Muster x l ):
X
αl (k) ln p(k, x l ; Θ) −
k
X
l
αl (k) ln
k0
k
Xh
Pp(k, x0 ; Θ)
l
p(k , x ; Θ)
αl (k) ln p(k, x l ; Θ) − αl (k) ln p(k, x l ; Θ) − αl (k) ln
k
D. Schlesinger
X
p(k 0 , x l ; Θ)
i
=
k0
k
X
=
αl (k) ln
X
p(k 0 , x l ; Θ) = ln
X
p(k 0 , x l ; Θ) ·
k0
k0
()
SMBV: Markovsche Ketten, ML
X
k
αl (k) = ln
X
p(k 0 , x l ; Θ)
k0
10 / 15
Unüberwachtes Lernen, EM-Algorithmus
ln p(L; Θ) = F(Θ, α) − G(Θ, α), mit
F(Θ, α) =
XX
G(Θ, α) =
XX
l
l
αl (k) ln p(k, x l ; Θ)
k
l
αl (k) ln
Pp(k, x0 ; Θ)
l
k0
k
p(k , x ; Θ)
=
XX
l
αl (k) ln p(k|x l ; Θ)
k
Man starte mit einem beliebigen Parametersatz Θ(0) und wiederhole:
Expectation Schritt – „die Fehlenden Daten vervollständigen“:
Man wähle α(t) so, dass das Maximum von G bezüglich Θ genau an der Stelle Θ(t) eintritt.
Laut Schannonsches Lemma:
(t)
αl (k) = p(k|x l ; Θ(t) )
Achtung!!! Das ist keine Optimierung, das ist eine Abschätzung der oberen Schranke für G.
Maximization Schritt – „überwachtes Lernen“:
Man maximiere F bezüglich Θ:
Θ(t+1) = arg max F(Θ, α(t) )
Θ
D. Schlesinger
()
SMBV: Markovsche Ketten, ML
11 / 15
Zusätzliche Bemerkungen
Der Maximum-Likelihood Schätzer ist konsistent,
d.h. er liefert die tatsächlichen Parameter bei unendlichen Lernstichproben.
Der Maximum-Likelihood Schätzer ist nicht immer erwartungswerttreu,
d.h. bei endlichen Lernstichproben stimmt der Mittelwert des geschätzten Parameters
nicht unbedingt mit dem tatsächlichen überein.
Beispiele: ML für µ ist erwartungswerttreu, ML für σ – nicht.
Expectation-Maximization Algorithmus konvergiert immer,
aber nur zum lokalen Optimum (nicht global).
Ersetzt man im Expectation Schritt die Berechnung der a-posteriori Wahrscheinlichkeiten
durch Erkennung, so erhält man etwas, was dem K-Means Algorithmus ähnlich ist. Oft
nennt man das (fälschlicherweise) „EM-like Scheme“. Das ist kein ML! Allerdings ist dies
sehr populär, denn es ist unter Umständen viel einfacher anstatt der benötigten marginalen
Verteilungen zum Beispiel MAP-Entscheidung zu berechnen.
D. Schlesinger
()
SMBV: Markovsche Ketten, ML
12 / 15
EM für Markovsche Ketten
Das Modell:
p(x, y; Θ) = p(y1 ) ·
n
Y
p(yi |yi−1 ) ·
i=2
n
Y
p(xi |yi )
i=1
Unbekannte Parameter: Θ = (q1 , gi , qi ) mit
– Startwahrscheinlichkeitsverteilung q1 (k) (entspricht p(y1 )),
– Übergangswahrscheinlichkeitsverteilungen gi (k, k 0 ) (entsprechen p(yi |yi−1 )),
– Bedingte Wahrscheinlichkeitsverteilungen qi (c, k) (entsprechen p(xi |yi )).
Lernstichprobe: (jetzt anders!!!) L = (x 1 , x 2 . . . x l )
Die nicht beobachtbaren Folgen y entsprechen den „Klassen“ k im allgemeinen Fall
– das, worüber summiert wird.
Likelihood:
ln p(L, Θ) =
X
ln p(x l ; Θ) =
X X
ln
p(x l , y; Θ) → max
Θ
l
Man führe αl (y) ≥ 0 mit
P
y
l
y
αl (y) = 1 für alle l ein.
In Expectation Schritt setzt man αl (y) = p(y|x l ; Θ).
Dies ist technisch nicht möglich – nur Hilfskonstrukt.
D. Schlesinger
()
SMBV: Markovsche Ketten, ML
13 / 15
EM für Markovsche Ketten
Maximization Schritt:
XX
l
αl (y) ln p(x l , y; Θ) =
y
"
XX
l
X
αl (y) · ln q1 (y1 ) +
n
X
ln gi (yi , yi−1 ) +
α1 (k) ln q1 (k) +
n
X
X
αi (k, k 0 ) ln gi (k, k 0 ) +
i=2 kk 0
k
#
ln qi (xil , yi )
=
i=1
i=2
y
n
X
n
X
αi (c, k) ln qi (c, k) → max
Θ
i=1
mit
α1 (k) =
X X
l
0
αi (k, k ) =
αi (c, k) =
αl (y) =
X X
y:y1 =k
l
X
X
l
y:yi =k,yi−1 =k 0
X
X
l
y:yi =k,xi =c
p(y|x l ; Θ) =
y:y1 =k
αl (y) =
αl (y) =
X
p(y1 = k|x l ; Θ)
l
X
p(yi = k, yi−1 = k 0 |x l ; Θ)
l
X
p(yi = k, xi = c|x l ; Θ)
l
Die αl (y) werden nicht explizit benötigt, sondern nur die „marginalen“ α-s.
Diese lassen sich effizient mit dem SumProd Algorithmus berechnen.
D. Schlesinger
()
SMBV: Markovsche Ketten, ML
14 / 15
EM für Markovsche Ketten
Zusammenfassend:
(0)
(0)
Initialisiere die Parameter q1 , gi
(0)
und qi
Wiederhole
1. Expectation: berechne
α1 (k) =
X
l
(t)
(t)
(t)
p(y1 = k|x ; q1 , gi , qi )
l
0
αi (k, k ) =
X
0
l
(t)
(t)
(t)
(t)
(t)
(t)
p(yi = k, yi−1 = k |x ; q1 , gi , qi )
l
αi (c, k) =
X
l
p(yi = k, xi = c|x ; q1 , gi , qi )
l
mit dem SumProd Algorithmus.
2. Maximization: setze
(t+1)
q1
(k) ∼ α1 (k) normiert so, dass
X
(t+1)
(k) = 1
X
(t+1)
q1
k
(t+1)
gi
0
0
(k, k ) ∼ αi (k, k ) normiert so, dass
gi
0
(k, k ) = 1 ∀k
0
k
(t+1)
qi
(c, k)
∼ αi (c, k) normiert so, dass
X
(t+1)
qi
(c, k) = 1 ∀k
c
D. Schlesinger
()
SMBV: Markovsche Ketten, ML
15 / 15
Zugehörige Unterlagen
Herunterladen