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