Strukturelle Modelle in der Bildverarbeitung Inferenz in Markovschen Ketten
D. Schlesinger – TUD/INF/KI/IS
– Wahrscheinlichste Zustandsfolge – Bayessche Entscheidungstheorie – Entscheidungsstrategien für HMM
Wahrscheinlichste Zustandsfolge
Allgemein: Gegeben sei ein HMM
p(x,y) =p(y1)
n
Y
i=2
p(yi|yi−1)
n
Y
i=1
p(xi|yi)
Man beobachtetx, man sage „etwas vernünftige“ übery.
Eine mögliche Wahl: Zustandsfolge, die die maximale a-posteriori Wahrscheinlichkeit hat:
y∗= arg max
y
p(y|x) = arg max
y
p(y)p(x|y)
p(x) = arg max
y
p(y)p(x|y) =
= arg max
y
"
p(y1)
n
Y
i=2
p(yi|yi−1)
n
Y
i=1
p(xi|yi)
#
=
= arg min
y
"
nX
i=1
qi(yi) +
n
X
i=2
gi(yi,yi−1)
#
mit
q1(y1) = lnp(y1) + lnp(x1|y1) qi(yi) = lnp(xi|yi) gi(yi,yi−1) = lnp(yi|yi−1)
Wahrscheinlichste Zustandsfolge
Der Algorithmus für die Berechnung vony∗– Dynamische Optimierung.
Synonyme: Vitterbi, Dijkstra ...
Im Gegensatz zu Partition Funktion
wird nicht über alle Folgensummiert, sondernminimiert
die Bewertung einer Folge ist nicht einProdukt, sondern eineSumme
Dasselbe wie bei der Berechnung der Partition Funktion, nur in einem anderen Semiring SumProd⇔MinSum
Dynamische Optimierung
Die Idee – propagieren der Bellmanschen FunktionenFi mit Fi(k) =qi(k) + min
k0
Fi−1(k0) +gi(k0,k)Sie repräsentieren die Kosten der besten Fortsetzungen auf den bereits bearbeiteten Teil des Problems.
Dynamische Optimierung (Ableitung)
min
y
"
nX
i=1
qi(yi) +
n
X
i=2
gi(yi−1,yi)
#
=
min
y1
min
y2
. . .min
yn
"
nX
i=1
qi(yi) +
n
X
i=2
gi(yi−1,yi)
#
=
min
y2 . . .min
yn
"
nX
i=2
qi(yi) +
n
X
i=3
gi(yi−1,yi) + min
y1 q1(y1) +g2(y1,y2)
#
=
min
y2 . . .min
yn
"
nX
i=2
qi(yi) +
n
X
i=3
gi(yi−1,yi) +F(y2)
#
=
min
y2 . . .min
yn
"
nX
i=2
˜ qi(yi) +
n
X
i=3
gi(yi−1,yi)
#
mit ˜q2(k) =q2(k) +F(k), sonst unverändert, d.h. ˜qi(k) =qi(k) füri= 3. . .n.
Dynamische Optimierung (Algorithmus)
// Forward pass for i= 2 bis n
for k= 1 bis K best=∞ for k0= 1 bis K
if qi−1(k0) +gi(k0,k)<best
best=qi−1(k0) +gi(k0,k), pointeri(k) =k0 qi(k) =qi(k) +best
// Backward pass best=∞
for k= 1 bis K if qn(k)<best
best=qn(k), xn=k for i=n−1 bis 1
xi=pointeri+1(xi+1)
pointeri(k) ist der beste Vorgänger für den Zustandkimi-ten Knoten.
Dynamische Optimierung (Parallelisierung)
Zeitkomplexität:O(nK2) KProzessoren:
die Schleife überkkann parallelisiert werden→O(nK) Weitere Möglichkeit – mittlere Knoten Eliminieren.
min
y1 min
y2 min
y3
h
q1(y1) +g2(y1,y2) +q2(y2) +g3(y2,y3) +q3(y3)
i
= min
y1 min
y3
h
q1(y1) +q3(y3) + min
y2 g2(y1,y2) +q2(y2) +g3(y2,y3)
i
= min
y1 min
y3
h
q1(y1) +q3(y3) + ˜g(y1,y3)
i
n/2 Prozessoren:
die Eliminierungen können (fast) parallel ausgeführt werden→O(logn·K3) n/2·K2Prozessoren→O(logn·K)
Erkennung
Achtung!!! – etwas andere Bezeichnungen.
Gegeben sei zwei statistische Größen.
Typischerweise ist eine davon diskret (d.h.k∈K) und heißtKlasse.
Die andere ist allgemein (sehr oft kontinuierlich, d.h.x∈Rn) und heißtBeobachtung.
„Gegeben“ sei dieVerbundwahrscheinlichkeitsverteilungp(x,k).
Da die MengeKdiskret ist, wird oftp(x,k) durchp(x,k) =p(k)·p(x|k) spezifiziert.
Die Erkennungsaufgabe:
man beobachtetx, man sage etwas überk
– „welche Klasse hat die Beobachtungx verursacht“.
Für Markovsche Ketten ist die Menge der KlassenKdie Menge aller Zustandsfolgeny
Bayessche Entscheidung
Menge der EntscheidungenD, Entscheidungsstrategiee:X→D KostenfunktionC:D×K→R
Das Bayessche Risiko:
R(e) =
X
x
X
k
p(x,k)·C e(x),k
→min
e
Spezialfall (fast immer) – die Menge der Entscheidungen ist nicht eingeschränkt:
R e(x)
=
X
k
p(x,k)·C e(x),k
→min
e(x)
Noch spezieller (sehr oft) –D=K
die Menge der Entscheidungen ist die Menge der Klassen:
k∗= arg min
k
X
k0
p(x,k0)·C(k,k0)
Maximum Aposteriori Entscheidung (MAP)
Die Kostenfunktion ist (die einfachste)
C(k,k0) = 1I(k6=k0) Daraus folgt die Maximum A-posteriori Entscheidung
R(k) =
X
k0
p(k0|x)·1I(k6=k0) =
X
k06=k
p(k0|x)·1 +p(k|x)·0 =
=
X
k0
p(k0|x)−p(k|x) = 1−p(k|x)→min
k
p(k|x)→max
k
Für HMM:
y∗= arg min
y
"
nX
i=1
qi(yi) +
n
X
i=2
gi(yi,yi−1)
#
Eine „andere“ Erkennungsstrategie – Motivation
A – Aufgaben, B – Berater
A1 A2 A3 A4 ...
B1 1 1 1 1 ...
B2 1 0 0 1 ...
B3 1 0 1 0 ...
B4 0 0 1 1 ...
B5 1 1 1 0 ...
B6 0 1 1 1 ...
... ... ... ... ... ...
∗ ∗ ∗ ∗ ...
Variante 1:
– Wähle denbestenBerater (und vergesse alle anderen) – Übernehme seine Antworten Variante 2:
– Betrachte jede Aufgabe extra – Schaue (gewichtet), wasalleBerater
dazu sagen
„Berater“ sind Zustandsfolgen,
„Aufgaben“ sind statistische Variablen (z.B. Zeitpunkte in HMM) Die entscheidende „Besonderheit“:
die Menge der Entscheidungen (Klassen) ist strukturiert – die Menge der Zustandsfolgen
Additive Kostenfunktionen
Die Klasse ist ein Vektor ¯k= (k1,k2, . . . ,kn)∈Kn, die Entscheidungsmenge seiD=Kn Die a-posteriori Wahrscheinlichkeitp(k1,k2, . . . ,kn|x) sei „bekannt“.
Variante 1: MAP, d.h.C(¯k,¯k0) = 1I(¯k6= ¯k0)
¯k∗= (k1,k2, . . . ,kn)∗= arg max
¯k
p(k1,k2, . . . ,kn|x)
Die Kostenfunktion berücksichtigt nicht, in wieweit sich die Vektoren unterscheiden.
Variante 2: Kostenfunktionen gibt es für jeden Elementki: C(¯k,k¯0) =
X
i
ci(ki,ki0)
R(¯k) =
X
¯k0
"
p(¯k0|x)·
X
i
ci(ki,k0i)
#
=
X
i
X
¯k0
ci(ki,k0i)·p(¯k0|x) =
=
X
i
X
k
X
¯k0:ki0=k
ci(ki,k)·p(¯k0|x) =
=
X
i
X
k
ci(ki,k)
X
¯k0:ki0=k
p(¯k0|x) =
X
i
X
k
ci(ki,k)p(ki0=k|x)
Additive Kostenfunktionen
R(¯k) =
X
i
X
k
ci(ki,k)p(ki0=k|x)→min
¯k
X
k
ci(ki,k)p(ki0=k|x)→min
ki
∀i
1) Man berechne
p(ki=k) =
X
¯k:ki=k
p(¯k) ∀i,k
2) Man treffe die Entscheidung für alle Elemente „unabhängig“
ki∗= arg min
k
X
k0
p(ki0=k)·ci(k,k0)
Spezialfall:c(k,k0) = 1I(k6=k0) C(¯k,k¯0) =
P
i1I(ki6=ki0) heißtHamming-Abstand – die Anzahl der falsch klassifizierten Variablen
⇒Max-Marginal Entscheidungki∗= arg maxkp(ki0=k)