http://ias.informatik.tu-muenchen.de/_media/people/steger/teaching/bildverstehen-ii/bildverstehen-ii-02-4up.pdf

Klassifikation
Klassifikation
 Ein Klassifikator ordnet ein Muster einer Klasse von Mustern zu
 Die Muster werden durch Merkmale beschrieben, die in einem
Merkmalsvektor zusammengefaßt werden
 Ein Merkmal beschreibt eine charakteristische Eigenschaft des
Musters
 Beispiele:
 RGB-Farbwerte eines Pixels
 Regionenmerkmale einer Region
 Grauwertmerkmale einer Region
 Die Merkmale müssen so gewählt werden, daß sich die Klassen
unterscheiden lassen
 Konzeptuell ist ein Klassifikator eine Abbildung aus dem
Merkmalsraum in die diskrete Menge der Klassen:
 Entscheidungstheorie
 Wahrscheinlichkeitsbasierte Klassifikatoren
 Trennflächenbasierte Klassifikatoren
K  n  
© 2014 MVTec Software GmbH, München
© 2014 MVTec Software GmbH, München
162
163
Entscheidungstheorie
Beispiele für Merkmale und Klassen (OCR)
6
c
o
Kompaktheit
Kompaktheit
3
5
4.5
2
4
1
1.05
1.1
Anisometrie
1.15
2.4
2.5
Klassen: c, o
3.6
2.7
2.8
Anisometrie
2.9
3
3.1
Klassen: i, j
p
q
6.6
h
k
6.4
3.4
6.2
Kompaktheit
Kompaktheit
Eingabebild
2.6
3.2
6
5.8
5.6
3
 Gegeben sei ein Muster mit zugehörigem Merkmalsvektor x  
 Der Merkmalsvektor wird als Zufallsvariable im Merkmalsraum
aufgefaßt
 Weiter seien m Klassen 1 ,  ,  m gegeben
 Der Merkmalsvektor x wird der wahrscheinlichsten Klasse
zugeordnet, d.h. der Klasse, für die P (i | x ) maximal wird
 P (i | x ) ist die sog. a-posteriori-Wahrscheinlichkeit des
Auftretens der Klasse  i, d.h. die Wahrscheinlichkeit, daß die
Klasse  i vorliegt, wenn der Merkmalsvektor x beobachtet wird
 Man kann leicht zeigen, daß diese Entscheidungsregel die
Wahrscheinlichkeit, eine Fehlklassifikation zu machen, minimiert
  Die obige, sogenannte Bayes-Entscheidungsregel liefert den
besten Klassifikator (wenn alle Fehler gleiches Gewicht haben)
n
5.5
4
1
i
j
6
5
5.4
2.8
1.35
1.4
1.45
Anisometrie
1.5
1.55
5.2
1.35
1.4
Klassen: p, q
1.45
Anisometrie
1.5
1.55
Klassen: h, k
© 2014 MVTec Software GmbH, München
© 2014 MVTec Software GmbH, München
164
165
Entscheidungstheorie
Entscheidungstheorie
 Annahme zunächst: Die Wahrscheinlichkeiten P ( x | i ), P (i )
und (optional) P ( x ) seien bekannt
 Dann kann aus dem Merkmalsvektor x die a-posterioriWahrscheinlichkeit P (i | x ) oder die Pseudowahrscheinlichkeit
P ( x | i ) P (i ) berechnet werden und somit die wahrscheinlichste
Klasse  j bestimmt werden
 Formel von Bayes:
P( x | i ) P(i )
P(i | x ) 
P( x )




P ( x | i ) ist die a-priori-Wahrscheinlichkeit des Auftretens des
Merkmalsvektors x , wenn die Klasse  i vorliegt
P ( x ) ist die Wahrscheinlichkeit, daß der Merkmalsvektor x auftritt
P (i ) ist die Wahrscheinlichkeit, daß die Klasse  i auftritt
P ( x ) ist für ein bestimmtes x für alle Klassen gleich und kann zur
reinen Klassifikation, d.h. der Bestimmung der wahrscheinlichsten
Klasse, weggelassen werden
In der Praxis ist die Berechnung und Verwendung von P ( x )
meistens sinnvoll, da die a-posteriori-Wahrscheinlichkeiten in [0,1]
liegen und somit leicht interpretiert werden können
© 2014 MVTec Software GmbH, München
© 2014 MVTec Software GmbH, München
166
167
Beispiel im 1D
Beispiel im 2D
 Zwei Klassen: 1 ,  2
 Wahrscheinlichkeiten der Klassen:
 A-priori-Wahrscheinlichkeiten:
 Drei Klassen: 1 ,  2 , 3
 Beachte: Die Entscheidungsregel definiert drei Regionen und die
zugehörigen Trennlinien, in denen die jeweilige Klasse maximale
Wahrscheinlichkeit besitzt
P (1 )  0.3, P (2 )  0.7
P ( x | 1 ) N ( 3,1.5), P ( x |  2 ) N (3,2)
0.16
P ( x | 1 ) P (1 )
P ( x | 2 ) P (2 )
10
PxiPi
0.14
PxiPi
0.12
0.1
0.08
0.008
0.006
0.004
0.002
0
0.06
-10
0.04
0.02
0
-8
-6
-4
-2
0
x
2
4
6
3
5
x2

-5
0
x1
5
-10
10
-5
0
x2
5
0
1
10 -5
-10
-10
-5
8
© 2014 MVTec Software GmbH, München
© 2014 MVTec Software GmbH, München
168
169
2
0
x1
5
10
Typen von Klassifikatoren
Bayes-Klassifikation
 Die Bayes-Entscheidungsregel zerlegt den Merkmalsraum in die
Regionen, in denen die einzelnen Klassen die maximale aposteriori-Wahrscheinlichkeit besitzt:
R j  { x   n : P ( j | x )  P(i | x ) i  j}
  Es existieren Flächen im  n, die die Klassen voneinander
trennen:
P (i | x )  P ( j | x )  0 i  j
 Entsprechend können zwei große Gruppen von Klassifikatoren
unterschieden werden:
 Klassifikatoren, die die a-posterioriWahrscheinlichkeitsverteilungen bzw. über die Bayes-Regel die
a-priori-Wahrscheinlichkeiten der einzelnen Klassen
konstruieren
 Klassifikatoren, die explizite Trennflächen zwischen den
einzelnen Klassen konstruieren
 Um einen Klassifikator zu konstruieren, sind die a-prioriWahrscheinlichkeitsverteilungen P ( x | i ) der Klassen sowie die
Wahrscheinlichkeiten P (i ) des Auftretens der einzelnen Klassen
erforderlich
 Zur Bestimmung dieser Wahrscheinlichkeiten sind Trainingsdaten,
d.h. Merkmalsvektoren x k sowie deren zugehörige Klassen k
notwendig
 Möglichkeiten zur Bestimmung von P (i ):
 Aus der relativen Häufigkeit des Auftretens der jeweiligen
Klasse in den Trainingsdaten
 Annahme, daß alle Klassen gleich häufig auftreten, d.h.
P (i )  1 m

Im letzten Fall heißt das, daß die Klassifikation rein nach den apriori-Wahrscheinlichkeiten erfolgen kann:
P (i | x )  P ( x | i )  max
© 2014 MVTec Software GmbH, München
© 2014 MVTec Software GmbH, München
170
171
Bayes-Klassifikation
Bayes-Klassifikation
 Die Wahrscheinlichkeitsverteilungen P ( x | i ) können im Prinzip
aus dem Histogramm der Merkmalsvektoren der Trainingsdaten
bestimmt werden:
 Einteilung jeder Dimension des Merkmalsraumes in b Bereiche
 Bestimmung, wie viele Elemente der Trainingsdaten in jeden
der so definierten Hyperquader fallen (relative Häufigkeit der
Trainingsdaten im jeweiligen Hyperquader)
n
 Problem: curse of dimensionality: b Hyperquader zur Annäherung
der Wahrscheinlichkeitsverteilungen notwendig
 Beispiel: Merkmalsvektor der Länge 80 (typisch in der OCR) 
n  80
 Unterteilung jeder Dimension in 10 Bereiche  b  10
  1080 Hyperquader notwendig
  Schätzung der Wahrscheinlichkeitsverteilung nur für
niedrigdimensionale Merkmalsräume praktikabel, z.B.
Farbklassifikation, sicher aber nicht für die OCR
 Schätzung der Wahrscheinlichkeitsverteilungen wird praktikabel,
wenn die Form der Verteilung bekannt ist oder angenommen
werden kann
 Somit müssen nur noch die Parameter der Verteilung aus den
Trainingsdaten geschätzt werden
 Beispiel: a-priori-Verteilungen seien normalverteilt in n
Dimensionen:
P ( x | i ) 


1
( 2 )
n2
Σi
12
 1

exp  ( x  μi ) T Σi1 ( x  μi ) 
 2

μi  E[ x ]: Mittelwert der Klasse  i
Σi  E[( x  μi )( x  μi ) T ]: Kovarianzmatrix der Klasse  i
© 2014 MVTec Software GmbH, München
© 2014 MVTec Software GmbH, München
172
173
Bayes-Klassifikation
Beispiel für Bayes-Klassifikation
 Die Parameter der Normalverteilung können mit den aus der
Statistik bekannten Verfahren geschätzt werden, z.B. mittels
Maximum-Likelihood-Schätzung
μi 
Σi 
1
ni
 Beispiel: Zweidimensionaler Merkmalsraum mit drei Klassen
ni
x
j 1
i, j
1 ni
 ( xi, j  μi )( xi, j  μi )T
ni  1 j 1
 Die Wahrscheinlichkeiten P ( x ) können bestimmt werden durch
Trainingsdaten
P ( x | i ) P (i )
P( x )
P ( x | 1 ) P (1 )
P ( x | 2 ) P (2 )
P ( x | 3 ) P (3 )
m
P( x )   P(i ) P( x | i )
i 1
 Beachte: P (i
| x ) ist nicht normalverteilt
© 2014 MVTec Software GmbH, München
© 2014 MVTec Software GmbH, München
174
175
Beispiel für Bayes-Klassifikation
Bayes-Klassifikation mit Rückweisung
 Beispiel: Zweidimensionaler Merkmalsraum mit drei Klassen
Trainingsdaten
P (i | x )
P (1 | x )
P (2 | x )
Klassen
 Die Bayes-Entscheidungsregel weist jedem Merkmalsvektor eine
Klasse zu, selbst Merkmalsvektoren, die äußerst unwahrscheinlich
sind
 Erinnerung: die Wahrscheinlichkeit eines Merkmalsvektors ist
durch P ( x ) gegeben
  Unwahrscheinliche Merkmalsvektoren können im Prinzip über
P ( x ) zurückgewiesen werden
P
( x ) ist eine Dichte  die Werte von P ( x ) haben keine absolute

Aussagekraft
 Sie hängen insbesondere von der Skalierung der Merkmale ab
5
 Im vorigen Beispiel: 0  P ( x )  9.9 10
  Zurückweisung aufgrund von P ( x ) nicht praktikabel
P (3 | x )
© 2014 MVTec Software GmbH, München
© 2014 MVTec Software GmbH, München
176
177
Bayes-Klassifikation mit Rückweisung
Beispiel für Bayes-Klassifikation
 Bessere Möglichkeit zur Berechnung einer zur Rückweisung
geeigneten Wahrscheinlichkeit: k-sigma-Wahrscheinlichkeit
2
T 1
 Berechnung des Wertes k  ( x  μi ) Σi ( x  μi )
 Dies ist der quadrierte Mahalanobis-Abstand des Merkmalsvektors
zum Mittelwert der Klasse
 Berechnung der Wahrscheinlichkeit, daß ein Merkmalsvektor
mindestens den Mahalanobisabstand k besitzt: P (k )
 Dies entspricht der Wahrscheinlichkeit, daß ein Merkmalsvektor
außerhalb eines k-sigma-Ellipsoids um den Mittelwert liegt
 Die k-sigma-Wahrscheinlichkeit ist gegeben durch:
Pk ( x ) 
 Beispiel: Zweidimensionaler Merkmalsraum mit drei Klassen
Pk ( x )
Trainingsdaten
Klassen mit Pk ( x )  0.01
max P(i ) P(k )
i 1,, m
max P(i )
i 1,, m
 Die Rückweisung dient zur Neuheitserkennung (novelty detection),
d.h. der Erkennung von Daten, die nicht trainiert wurden
© 2014 MVTec Software GmbH, München
© 2014 MVTec Software GmbH, München
178
179
Bayes-Klassifikation
Bayes-Klassifikation
 Zur Bestimmung der Klassenzugehörigkeit kann statt der
Wahrscheinlichkeit eine monotone Transformation der
Wahrscheinlichkeit ausgerechnet werden
 Diskriminierungsfunktion: g i (x )
 Klassenzuordnung zu Klasse  j , falls g j ( x )  g i ( x ) i 
 Bei Normalverteilungen:
j
g i ( x )  ln( P( x | i ) P(i ))  ln P( x | i )  ln P(i )
l
1
1
  ( x  μi ) T Σi1 ( x  μi )  ln 2  ln Σi  ln P(i )
2
2
2
1 T 1
1 T 1
1 T 1
1
  x Σi x  μi Σi x  x Σi μi  μiT Σi1 μi  ci
2
2
2
2
  Die Trennflächen g ij ( x )  g i ( x )  g j ( x )  0 sind Quadriken
(verallgemeinerte Kegelschnitte) im Merkmalsraum  l
 Der einzige Teil der Entscheidungsfunktionen, der zu Quadriken
T 1
als Trennflächen führt, ist x Σi x
 Falls angenommen werden kann, daß die Kovarianzmatrizen aller
Klassen gleich sind, werden die Diskriminierungsfunktionen g i (x )
linear:


T
g i ( x )  wiT x  bi  Σ1 μi x 
1 T 1
μi Σ μi  ci
2
  Die Trennflächen sind Hyperebenen
 Falls die Wahrscheinlichkeiten des Auftretens der einzelnen
Klassen alle gleich sind, folgt mit einigen Umformungen, daß der
Klassifikator ein Minimum-Distance-Klassifikator ist
 Die Klassenzugehörigkeit wird bestimmt, indem der MahalanobisAbstand des Merkmalsvektors zu den Mittelwerten der Klasse
minimiert wird:

d m  ( x  μi ) T Σ1 ( x  μi )

12
 min
© 2014 MVTec Software GmbH, München
© 2014 MVTec Software GmbH, München
180
181
Mischmodelle
EM-Algorithmus
 In einigen Anwendungen kommt es vor, daß die
Wahrscheinlichkeitsverteilungen der Klassen nicht als eine einzige
Normalverteilung pro Klasse beschrieben werden können
 Die Wahrscheinlichkeitsverteilung der Klassen kann aber oft als
Linearkombination von li Dichtefunktionen beschrieben werden:
li
P ( x | i )   P ( x | j ) Pj
j 1
 Beispiel: Klassen bestehen jeweils aus zwei Normalverteilungen:
10
5
0.004
0.002
x2
Pxi
0.006
0
-10
-5
0
x1
5
10 -10
-5
0
x2
5
10
1
0
2
-5
1
10
-10
-5
0
5
10
x1
 Solche gemischten Wahrscheinlichkeitsverteilungen werden
Mischmodelle (mixture models, MM) genannt
 Wenn bekannt wäre, zu welcher der li Komponenten ein
Trainingsvektor xk gehört, könnten die Parameter wie im Fall einer
einzigen Verteilung pro Klasse einfach geschätzt werden
 Es ist jedoch nicht bekannt, zu welcher Komponente j der
Trainingsvektor xk gehört
 Seien Θ die Parameter des MM: Θ  (θ1 , P1 ,  , θl , Pl )
i
i
 Mischmodelle mit Normalverteilungen der Komponenten werden
Gaußsche Mischmodelle (Gaussian mixture models, GMM) genannt
 Für GMM: θ j  ( μ j , Σ j )
 Der Expectation-Maximization-Algorithmus (EM-Algorithmus)
(m )
berechnet eine Folge von Parametern Θ , die gegen die
Maximum-Likelihood-Parameter des MM konvergieren
ni
ni
k 1
k 1
 P( xi,k | Θ)  max   ln(P( xi,k | Θ))  max, i  1,, m
© 2014 MVTec Software GmbH, München
© 2014 MVTec Software GmbH, München
182
183
EM-Algorithmus
EM-Algorithmus
 Es wird ein hypothetischer kompletter Datensatz angenommen, bei
dem zusätzlich zu xk noch die zugehörige Komponente z k
bekannt ist (1  z k  li ): yk  ( xk , zk )
 Wahrscheinlichkeit eines Merkmalsvektors, falls z k  j:
P( x k , z k  j | Θ)  P( x k | z k  j , Θ) P( z k  j | Θ)
 P( x k | θ j ) P ( z k  j | Θ)
 E-Schritt des EM-Algorithmus
(m )
 Aufstellen einer Funktion Q (Θ | Θ ), die die Wahrscheinlichkeit
(likelihood) der Verteilungsparameter Θ unter der aktuellen
Schätzung der Verteilungsparameter Θ (m ) beschreibt
Q(Θ | Θ ( m ) )  E (ln P ( y k | Θ )) P ( z k | x k , Θ ( m ) )
li
j 1 k 1
li ni
  Wahrscheinlichkeit des Auftretens von xk:
  (ln( Pj )  ln P( x k | θ j ))) P ( m ) ( j | x k )
li
P( x k | Θ)   P( x k | θ j ) P( z k  j | Θ)
j 1
  Die Wahrscheinlichkeiten P( z k  j | Θ) spielen dieselbe Rolle
wie die Wahrscheinlichkeiten Pj der Komponenten
ni
  ln( P ( x k , z k | Θ )) P ( z k  j | x k , Θ ( m ) )
j 1 k 1
 Hierbei ist
P ( m) ( j | xk )  P( zk  j | xk , Θ ( m) ) 
P ( m ) ( j ) P ( x k | θ (j m ) )

li
Pj( m ) P ( x k | θ (j m ) )
die erwartete Verteilung der Komponentenvariablen z k unter den
beobachteten Daten xk
j 1
© 2014 MVTec Software GmbH, München
© 2014 MVTec Software GmbH, München
184
185
EM-Algorithmus
EM-Algorithmus
 M-Schritt des EM-Algorithmus
(m )
 Maximierung von Q (Θ | Θ ) über Θ: Θ ( m 1)  arg max Q (Θ | Θ ( m ) )
Θ
 Für GMM ergeben sich folgende Gleichungen:
ni
Pj( m 1) 
1
ni
μ (jm 1) 
1
ni Pj( m 1)
P
(m)
k 1
 Beispiel: Die Farben der Merkmalspunkte kodieren
P (m) ( j | xk )
( j | xk )
ni
P
k 1
( m)
( j | xk ) xk
Trainingsdaten für
Initialisierung mit
eine Klasse
zufälligen Mittelpunkten
Iteration 1
ni
1
 P ( m) ( j | xk )( xk  μ (jm1) )( xk  μ (jm1) )T
ni Pj( m 1) k 1
(0)
 Initialisierung von Θ über den k-Means-Algorithmus
( m 1)
 Abbruch, falls Θ
 Θ ( m)  
Σ(jm 1) 
Iteration 2
Iteration 3
Iteration 4
© 2014 MVTec Software GmbH, München
© 2014 MVTec Software GmbH, München
186
187
Beispiel für GMM-Klassifikation
Beispiel für GMM-Klassifikation
 Beispiel: Zweidimensionaler Merkmalsraum mit zwei Klassen
Trainingsdaten
P ( x | i ) als Farbbild
P ( x | 1 )
P( x | 2 )
 Beispiel: Zweidimensionaler Merkmalsraum mit zwei Klassen
P( x )
Trainingsdaten
P (i | x ) als Farbbild
Pk ( x )
P (1 | x )
P (2 | x )
Klassen
Klassen mit Pk ( x )  0.01
© 2014 MVTec Software GmbH, München
© 2014 MVTec Software GmbH, München
188
189
k-Means-Algorithmus
k-Means-Algorithmus
 Verfahren zur Clusteranalyse (clustering), d.h. zur Aufteilung eines
Datensatzes von Merkmalsvektoren in k Gruppen (cluster)
 Die Gruppen werden durch ihren Mittelpunkt μ j beschrieben
 Ein Merkmalsvektor wird der Gruppe zugeordnet zu deren
Mittelpunkt er den kleinsten Abstand hat
 In jeder Iteration werden die Daten in Gruppen C j mit jeweils n j
Vektoren aufgeteilt
 Initialisierung mit einer zufälligen Aufteilung C j
 Minimierung von
k
E    xk  μ j , wobei μ j 
2
j 1 kC j
1
nj
x
kC j
Trainingsdaten für
Initialisierung mit
eine Klasse
zufälligen Mittelpunkten
Iteration 1
k
 Iteration folgender Schritte:
 Berechnung der Mittelpunkte (analog zum E-Schritt)
 Aufteilung der Merkmalsvektoren gemäß ihres Abstandes zu
den Mittelpunktsvektoren (analog zum M-Schritt)
Iteration 2
Iteration 3
Iteration 4
© 2014 MVTec Software GmbH, München
© 2014 MVTec Software GmbH, München
190
191
k-Nearest-Neighbor-Klassifikation
 Die Bestimmung der Wahrscheinlichkeitsverteilungen aus dem
Histogramm der Trainingsdaten ist meistens unmöglich
 Bei der Berechnung der Wahrscheinlichkeiten aus dem
Histogramm wird die Größe des Hyperquaders konstant gehalten,
während die Anzahl der Punkte im Hyperquader variiert
 Umgekehrt kann man die Anzahl der Punkte in einer Umgebung
des Merkmalsvektors x konstant lassen und das Volumen v ( x , i )
so groß machen, daß genau k Punkte darin liegen
 Falls t Trainingsvektoren vorliegen, ist die Wahrscheinlichkeit des
Auftretens des Merkmalsvektors x näherungsweise gegeben durch
P ( x | i ) 
 Beispiel: Die Farben der Merkmalspunkte kodieren die Cluster
k
tv( x , i )
 Die so geschätzte Wahrscheinlichkeitsdichte wird als k-NearestNeighbor-Dichte (kNN-Dichte) bezeichnet, da das Volumen v ( x , i )
offensichtlich nur von den k zu x nächstgelegenen Punkten
abhängt
k-Nearest-Neighbor-Klassifikation
 In der Praxis wird der kNN-Klassifikator meistens wie folgt
implementiert:
 Bestimme die k nächsten Nachbarn des Merkmalsvektors x
unter allen l Trainingsvektoren (k muß ungerade sein)
 Weise x der Klasse  j zu, der die meisten der k nächsten
Nachbarn angehören
 Falls k  1, wird der Klassifikator als Nearest-NeighborKlassifikator bezeichnet
 Im Vergleich zur Fehlerwahrscheinlichkeit des optimalen BayesKlassifikators gilt für t   : PB  PNN  2PB
 Für kleine Fehlerwahrscheinlichkeiten des Bayes-Klassifikators
gilt: PNN  2 PB , P3NN  PB  3PB2
 Aber: Die Notwendigkeit, alle Trainingsvektoren abzuspeichern zu
müssen, erlaubt den Einsatz des kNN-Klassifikators in Problemen
mit sehr vielen Trainingsdaten oft nicht
© 2014 MVTec Software GmbH, München
© 2014 MVTec Software GmbH, München
192
193
Lineare Klassifikatoren
Neuronale Netze: Einschichtiges Perzeptron
 Lineare Klassifikatoren konstruieren Trennebenen zwischen den
einzelnen Klassen
 Ebenen im n -dimensionalen Merkmalsraum:
 Lineare Klassifikatoren werden oft als neuronale Netze angesehen:
x1
g ( x)  w x  b  0
T
2 Klassen
x  1

g ( x)  w T x  b  0
x  2

g ( x)  w T x  b  0
b
x1
 wiT x  bi  w Tj x  b j j  i
x2
...
n Klassen
f 
......
 Im allgemeinen ist es nicht möglich, eine Trennebene zu finden, die
alle Merkmalsvektoren korrekt klassifiziert, weil die Klassen sich
überlappen können
f 
wn
xn
 Bei Klassifikation in mehr als zwei Klassen: m Trennebenen ( wi , bi )
x  i
x2
......
 Bei Klassifikation in zwei Klassen:
w1
w2
f 
xn
© 2014 MVTec Software GmbH, München
© 2014 MVTec Software GmbH, München
194
195
Neuronale Netze: Einschichtiges Perzeptron
 Terminologie bei neuronalen Netzen:
 Die Koeffizienten wij , j  1, , n der Trennebenen wi heißen
synaptische Gewichte
 Die konstanten Koeffizienten bi der Trennebenen heißen
Aktivierungsschwellwerte
 Die i.a. nichtlineare Funktion f heißt Aktivierungsfunktion
 Typische Wahl von f :
 1 x  0
f ( x)  
oder
 1 x0
0 x  0
f ( x)  
1 x  0
  Bei einem Zwei-Klassen-Problem liefert der Klassifikator 1 für
x  1 und -1 für x   2
 Bei mehreren Klassen liefert der Ausgabevektor y  ( y1 ,  , ym )
nur eine 1 an der Stelle yi , die der Klasse i entspricht und 0 sonst
Trainieren von linearen Klassifikatoren
 Seien xi  ( xi ,1 ,  , xi , n ) die Trainingsvektoren mit den zugehörigen
m
Klassenvektoren yi  ( yi ,1 ,  , yi , m )  {0,1} , i  1,  , l
 Bei einem Zwei-Klassen-Problem kann die Trennebene ( w , b) aus
einem Klassenvektor z.B. bestimmt werden durch Minimierung des
Klassifikationsfehlers:
l
 ( w , b)   ( yi  ( w T xi  b)) 2  min
i 1
  Überbestimmtes lineares Gleichungssystem, das z.B. mit der
Singulären-Werte-Zerlegung gelöst werden kann
 Bei m Klassen: m Optimierungen mit den jeweiligen
Klassenvektoren yi
 Andere Möglichkeit zum Trainieren: siehe Support Vector
Machines (später)
© 2014 MVTec Software GmbH, München
© 2014 MVTec Software GmbH, München
196
197
Trainieren von linearen Klassifikatoren
6
c
o
Kompaktheit
Kompaktheit
5.5
4
3
5
4.5
2
4
1.05
1.1
Anisometrie
1.15
2.4
2.5
Klassen: c, o
2.6
2.7
2.8
Anisometrie
2.9
3
3.1
Klassen: i, j
3.6
p
q
6.6
3.4
10
h
k
6.4
8
10
j
k
o
s
8
j
k
o
t
8
Kompaktheit
Kompaktheit
Kompaktheit
6.2
3.2
6
5.8
5.6
3
1.4
1.45
Anisometrie
1.5
1.55
6
4
2
5.4
2.8
1.35
10
j
k
o
5.2
1.35
1.4
Klassen: p, q
1.45
Anisometrie
1.5
1.55
Klassen: h, k
0
6
4
0.5
1
1.5
2
2.5
Anisometrie
3
3.5
Klassen: j, k, o
4
0
4
2
2
0
6
0
0.5
1
1.5
2
2.5
Anisometrie
3
3.5
4
0
0
Klassen: j, k, o, s
0.5
1
1.5
2
2.5
Anisometrie
3
© 2014 MVTec Software GmbH, München
198
199
Neuronale Netze: Mehrschichtiges Perzeptron
 Lineare Klassifikatoren sind nicht in der Lage, Klassen korrekt zu
klassifizieren, die sich nicht durch Hyperebenen trennen lassen
 Beispiel: „XOR-Problem“:
 Beispiel: Zweischichtiges Perzeptron (eine „versteckte Schicht“)
 Architektur der einzelnen Schichten ist identisch zum
einschichtigen Perzeptron

x1
0


x2
1
xn
f1
...
 Es existiert keine Gerade, die die zwei Klassen korrekt klassifiziert
 Bei mehr als zwei Klassen kann meist kein linearer Klassifikator
konstruiert werden, der alle Klassen korrekt klassifiziert, selbst,
wenn sich die einzelnen Klassen paarweise linear trennen lassen
 Beispiel: Eine Klasse liegt vollständig in der konvexen Hülle der
anderen Klassen
f1
f1
f2
.....

......
1
3.5
Klassen: j, k, o, t
© 2014 MVTec Software GmbH, München
Nichtlineare Klassifikatoren
0
Kompaktheit
1
 Interpretation der Trennebenen bei mehreren Klassen: Zuordnung
zu der Klasse, zu deren Ebene der Merkmalsvektor den größten
positiven Abstand besitzt
 Beispiel: Merkmale Anisometrie und Kompaktheit
 Klassen der Zeichen j, k und o lassen sich korrekt trennen
 j, k, o und s lassen sich mit 3 Fehlklassifikationen trennen
 j, k, o und t lassen sich nicht trennen (t wird immer falsch
klassifiziert)
Kompaktheit
Trenngeraden für
jeweils 2 Klassen
i
j
6
5
1
Trainieren von linearen Klassifikatoren
f2
© 2014 MVTec Software GmbH, München
© 2014 MVTec Software GmbH, München
200
201
4
Neuronale Netze: Mehrschichtiges Perzeptron
 Die Aktivierungsfunktion sei die Schwellwertfunktion mit
Ausgaben 0 und 1
  Die erste Schicht des Perzeptrons bildet den Merkmalsraum auf
p
die Ecken des Hyperwürfels {0,1} ab, wobei p die Anzahl der
Neuronen in der ersten Schicht ist
  Der Merkmalsraum wird durch Hyperebenen in Halbräume
zerlegt
 Die zweite Schicht des Perzeptrons legt Trennebenen in den
obigen Hyperwürfel
  Die zweite Schicht bildet Schnitte von Halbräumen, also
konvexe Polyeder
  Die zweite Schicht kann Begrenzungen als konvexe Polyeder
bestimmen
 Das ist für allgemeine Klassifikationsaufgaben jedoch noch nicht
allgemein genug
© 2014 MVTec Software GmbH, München
202
203
 Jedes Neuron j in der Schicht l berechnet als Ausgabe x j
( l 1)
folgende Funktion seiner Eingabewerte xi :
(l )
nl
a (jl )   w(jil ) xi( l 1)  b (j l )
Mehrschichtiges Perzeptron: Training
 Das Training des mehrschichtigen Perzeptrons kann z.B. durch
Minimierung der Quadrate der Ausgabefehler erfolgen (s ist die
Anzahl der Schichten des Netzes):
1 l m (s)
 ( x j  yi , j ) 2  min
2 i 1 j 1
 Der Ausgabefehler wird von allen Gewichten w(lji ) und b (lj ) des

i 1
x
 Eine dritte Schicht erlaubt es, Vereinigungen der konvexen
Polyeder darzustellen
  Mit genügend vielen Neuronen in den jeweiligen Schichten kann
man im Prinzip jeden Trainingsdatensatz zu 100% korrekt
klassifizieren, da jede Trennfläche durch Vereinigung von
genügend vielen konvexen Polyedern beliebig genau approximiert
werden kann
  Drei Schichten sind zur Klassifikation ausreichend, wenn die
Schwellwertfunktion als Aktivierungsfunktion verwendet wird
© 2014 MVTec Software GmbH, München
Neuronale Netze: Mehrschichtiges Perzeptron
(l )
j
Neuronale Netze: Mehrschichtiges Perzeptron
 f l ( a (jl ) )
(0)
 Dabei ist xi der Merkmalsvektor und xi(l ) die Ausgabe der Schicht
l (l  1)
 Zum Trainieren des Klassifikators werden wie üblich
Merkmalsvektoren xi  ( xi ,1 ,  , xi , n ), i  1,  , l und
Klassenzuordnungen yi  ( yi ,1 ,  , yi , m )  {0,1}m benötigt, wobei
m die Anzahl der Klassen ist und der Klassenvektor eine 1 an der
Position der entsprechenden Klasse besitzt und sonst 0
Netzes beeinflußt
 Zum Training des Klassifikators, d.h. zur Minimierung des
Ausgabefehlers, wird oft der sog. Backpropagation-Algorithmus
verwendet, der ein Verfahren des steilsten Abstiegs ist (gradient
descent approach)
 Nachteil: Die Konvergenz ist extrem langsam, d.h. sehr langes
Training
 Besser: Standardverfahren der numerischen Optimierung, z.B. das
Konjugierte-Gradienten-Verfahren
© 2014 MVTec Software GmbH, München
© 2014 MVTec Software GmbH, München
204
205
Mehrschichtiges Perzeptron: Training
 Problem bei allen Minimierungsverfahren: Die
Aktivierungsfunktion f ist unstetig, d.h. die zur Minimierung
benötigten Ableitungen können nicht überall berechnet werden
 Deshalb werden meistens sigmoide Funktionen als
Aktivierungsfunktionen verwendet
 Früher häufige Wahl: logistische Funktion
Mehrschichtiges Perzeptron: Training
 Aktuell häufig getroffene Wahl der Aktivierungsfunktionen:
 In jeder Schicht bis auf der letzten: Hyperbolischer Tangens
f ( x)  tanh( x) 

In der letzten Schicht: Softmax-Funktion
f ( xi ) 
1
f ( x) 
1 ex
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
-10
-5
0
5
10
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
e x  e x
e x  ex
e xi

m
j 1
e
xj
1
0.8
0.6
0.4
0.2
0
4
-4
-2
0
2
4
2
0
-2
-4
© 2014 MVTec Software GmbH, München
© 2014 MVTec Software GmbH, München
206
207
Mehrschichtiges Perzeptron: Training
 Die Wahl des hyperbolischen Tangens und der Softmax-Funktion
als Aktivierungsfunktionen führt zu schnellerer Konvergenz beim
Training
 Die Wahl der Softmax-Funktion in der Ausgabeschicht sorgt dafür,
daß die Summe aller Ausgabewerte 1 ergibt
  Die Ausgabewerte haben ähnliche Eigenschaften wie
Wahrscheinlichkeiten
 Mit beiden Arten von Aktivierungsfunktionen lassen sich beliebige
Trennflächen mit nur zwei Schichten beliebig genau
approximieren, wenn das Perzeptron hinreichend viele Neuronen
in der versteckten Schicht besitzt
  Zwei Schichten sind in der Praxis ausreichend zur Klassifikation
 Beachte: Aufgrund der Form der Aktivierungsfunktionen sind
Perzeptrons nicht zur Neuheitserkennung geeignet
-4
-2
0
2
4
Klassifikation mit mehrschichtigem Perzeptron
 Beispiel: Zweidimensionaler Merkmalsraum mit drei Klassen
Trainingsdaten
xi( 2 )
x1( 2)
x2( 2)
Klassen
x3( 2)
© 2014 MVTec Software GmbH, München
© 2014 MVTec Software GmbH, München
208
209
Generalisierte lineare Klassifikatoren
Generalisierte lineare Klassifikatoren
 Bei einem mehrschichtigen Perzeptron berechnet jedes Neuron
eine nichtlineare Aktivierungsfunktion aus einer
Linearkombination der Eingabedaten
 Im Gegensatz hierzu berechnen generalisierte lineare
Klassifikatoren eine Linearkombination von nichtlinearen
Funktionen der Eingabedaten:
 Ziel der generalisierten linearen Klassifikatoren: Durch die
nichtlinearen Funktionen werden die nichtlinear trennbaren
Klassen auf linear trennbare Klassen abgebildet
 Daher muß im allgemeinen gelten: k  n
 Beispiel: Polynomklassifikatoren: Die Funktionen f i sind Polynome
von einem Grad  d
 Beispiel: d  2:
k
g ( x )  b   wi f i ( x1 ,  , xn )
x2
f2
w1
w2
wk
.....
f1
.....
i 1
x1
xn
Φ ( x1 , , xn )  ( x1 , , xn , x12 , , x1 xn , x22 , x2 xn , , xn2 )
 Problem: Curse of dimensionality: Dimension des transformierten
Merkmalsraumes:
d
 i  n  1  d  n 
 1

k   
i   d 
i 1 

b

fk
© 2014 MVTec Software GmbH, München
© 2014 MVTec Software GmbH, München
210
211
Beispiel für nichtlineare Transformation
Support Vector Machines
 Lineare Trennung der linear nicht trennbaren Klassen möglich
2
2
durch die Transformation Φ ( x1 , x2 )  ( x1 , x1 x2 , x2 )
4
2
3.5
3
1.5
x22
1
2.5
2
1.5
1
0.5
0.5
x2
0
0
2
-0.5
1.5
1
-1
0.5
x1 x2
-1.5
0
-0.5
-1
-1.5
-2
-2
-1.5
-1
-0.5
0
x1
0.5
1
1.5
d  2, n  80  k  3320 d  5, n  80  k  32801515
-2 0
2
0.5
1
1.5
2
x12
2.5
3
3.5
4
 Support Vector Machines (SVM) umgehen das Problem des Curse
of dimensionality in eleganter Weise
 Dazu nochmals Betrachtung, wie bei linearen Klassifikatoren die
optimale Hyperebene bestimmt werden kann
 Die Klassifikation basiert bei einem 2-Klassen-Problem auf dem
T
Vorzeichen von w T x  b: f ( x )  sgn( w x  b)
 Sei xi ein Trainingsvektor und yi  1 das zugehörige Klassenlabel
T
 xi wird korrekt klassifiziert, falls yi ( w xi  b)  0
 Diese Bedingung alleine reicht nicht aus, um die Trennebene
eindeutig zu bestimmen
 Eindeutigkeit wird erreicht, indem die Spanne (margin) zwischen
den Klassen maximiert wird
 Die Spanne ist definiert als der minimale Abstand aller
Trainingsvektoren zur Trennebene
© 2014 MVTec Software GmbH, München
© 2014 MVTec Software GmbH, München
212
213
Support Vector Machines
Support Vector Machines: Training
 Maximierung der Spanne bedeutet, daß es
von beiden Klassen Trainingsverktoren
gibt, die den minimalen Abstand zur
Trennebene besitzen
 Diese Trainingsvektoren „stützen“ die
Trennebene und heißen deswegen
Stützvektoren (Support Vectors)
 Die Trennebene kann rein basierend auf
den Stützvektoren berechnet werden:
w
 Zum Trainieren der SVM müssen die Gewichte  i der Stützvektoren
bestimmt werden
 Hierzu ist das folgende quadratische Optimierungsproblem zu
lösen: Maximiere
l

i 1
i

1 l l
  i j yi y j xiT x j
2 i 1 j 1
unter den Nebenbedingungen
 i  0, i  1, , l
l
w    i yi x i ,  i  0
l
 y
i 1
 Dabei ist  i  0 genau dann, falls xi ein Stützvektor ist
 Daher ist die Entscheidungsfunktion f ( x ) gegeben durch:


f ( x )  sgn( w T x  b)  sgn    i yi xiT x  b 
 i 1

l
i 1
i
i
0
 Beachte: Sowohl bei der Klassifikation als auch beim Training
kommen die Merkmalsvektoren x, xi und x j ausschließlich in einem
Skalarprodukt vor
© 2014 MVTec Software GmbH, München
© 2014 MVTec Software GmbH, München
214
215
Support Vector Machines
Support Vector Machines
 Falls der Merkmalsvektor mit einer nichtlinearen Funktion Φ ( x ) in
einen höherdimensionalen Raum transformiert wird, muß in den
Formeln zur Klassifikation lediglich x durch Φ ( x ) ersetzt werden
  Die Skalarprodukte werden im höherdimensionalen Raum
berechnet
 Die Skalarprodukte sind Funktionen von zwei Eingabevektoren:
k ( x , x )  Φ ( x ) T Φ ( x )
 Die Funktion k ( x , x ) heißt Kernfunktion (kernel)
 Damit ist die Entscheidungsfunktion gegeben durch
 l

f ( x )  sgn    i yi k ( xi , x )  b 
 i 1

 Für viele Kernfunktionen kann die Entscheidungsfunktion
berechnet werden, ohne die Transformation in den
hochdimensionalen Raum explizit auszuführen
 Homogene polynomielle Kernfunktion vom Grad d:
k ( x , x )  ( x T x ) d
 Inhomogene polynomielle Kernfunktion vom Grad d:
k ( x , x )  ( x T x   1) d
 Gaußsche radiale Basisfunktion:
 x  x 2 


k ( x , x )  exp 
2


2



 Sigmoide Funktion:
k ( x , x )  tanh(x T x    )
 Mit jeder der vier Kernfunktionen kann jede Trennfläche beliebig
genau approximiert werden
© 2014 MVTec Software GmbH, München
© 2014 MVTec Software GmbH, München
216
217
-SVMs
-SVMs: Training
 Trotz Transformation in einen höherdimensionalen Merkmalsraum
ist es manchmal nicht möglich die Klassen komplett zu trennen
 Eine Erweiterung der SVMs ist, beim Training auf den
Trainingsdaten einen bestimmten Anteil an Fehlern zuzulassen
 Einführung eines Parameters  :
  ist eine obere Schranke für den Anteil Merkmalsvektoren, für
die der Merkmalsvektor innerhalb der Spanne oder auf der
falschen Seite der Spanne liegt   ist eine obere Schranke für
die Anzahl der Fehlklassifikationen auf den Trainingsdaten
  ist eine untere Schranke für den Anteil der Stützvektoren
unter den Trainingsdaten
 Diese Erweiterung der SVMs wird als -SVM bezeichnet
 Zum Trainieren der -SVMs ist folgendes quadratische
Optimierungsproblem zu lösen: Maximiere

1 l l
  i j yi y j k ( xi , x j )
2 i 1 j 1
unter den Nebenbedingungen
1
0   i  , i  1, , l
l
l
 y
i 1
i
l

i 1
i
i
0

© 2014 MVTec Software GmbH, München
© 2014 MVTec Software GmbH, München
218
219
SVMs: Klassifikation mit mehr als zwei Klassen
 Für Probleme mit mehr als zwei Klassen existieren mehrere
Strategien:
 One versus one
 Konstruktion aller m( m  1) / 2 paarweisen Klassifikatoren
 Auswahl der Klasse, die die meisten Stimmen erhält
 One versus all
 Konstruktion von m Klassifikatoren mit den Trainingsdaten
der jeweiligen Klasse und allen anderen Trainingsdaten
 Auswahl der Klasse, die (hoffentlich) die einzige Stimme
erhält
Klassifikation mit -SVM
 Beispiel: Zweidimensionaler Merkmalsraum mit drei Klassen
 Parameter des SVM: Gaußsche radiale Basisfunktion mit   2
2
(bei interner Normalisierung der Merkmalsvektoren auf [1,1] ) und
  0.25
Trainingsdaten
Klassen
© 2014 MVTec Software GmbH, München
© 2014 MVTec Software GmbH, München
220
221
Neuheitserkennung mit SVM
Neuheitserkennung mit SVM
 Die bisher vorgestellten SVM eignen sich nicht zur
Neuheitserkennung
 Zur Neuheitserkennung ist eine Modifikation der SVM notwendig
 Transformation der Merkmale in
den höherdimensionalen Raum
 Bestimmung einer Hyperebene
im höherdimensionalen Raum,
die maximalen Abstand vom
Ursprung besitzt und den
Ursprung von den Trainingsdaten
xi trennt
 Parametrisierung der Hyperebene
über ( w ,  )
/ w
w
 Beachte: Es gibt keine
Klassenlabel yi
 Die Entscheidungsfunktion ist gegeben durch
 l

f ( x )  sgn    i k ( xi , x )   
 i 1

 f ( x )  1  x ist neu
 Mit der Gaußschen radialen Basisfunktion kann man jeden
Trainingsdatensatz vom Ursprung trennen
 Um eventuelle Fehler (Ausreißer) in den Trainingsdaten handhaben
zu können, wird auch hier ein Parameter  eingeführt:
  ist eine obere Schranke für den Anteil der Ausreißer in den
Trainingsdaten
  ist eine untere Schranke für den Anteil der Stützvektoren
unter den Trainingsdaten
© 2014 MVTec Software GmbH, München
© 2014 MVTec Software GmbH, München
222
223
Neuheitserkennung mit SVM: Training
 Zum Trainieren der Neuheitserkennung ist folgendes
quadratisches Optimierungsproblem zu lösen: Maximiere
1 l l
  i j k ( xi , x j )
2 i 1 j 1
Neuheitserkennung mit SVM
 Beispiel: Zweidimensionaler Merkmalsraum
 Parameter des SVM: Gaußsche radiale Basisfunktion mit   2
2
(bei interner Normalisierung der Merkmalsvektoren auf [1,1] ) und
  0.001
unter den Nebenbedingungen
0  i 
1
, i  1, , l
l
l

i 1
i
1
Trainingsdaten
Klassen
© 2014 MVTec Software GmbH, München
© 2014 MVTec Software GmbH, München
224
225
Anzahl der Parameter des Klassifikators
 Die Wahl der Anzahl der Parameter des Klassifikators beeinflußt
die Eigenschaften des Klassifikators
 Je größer die Anzahl der Parameter, desto kleiner die Anzahl der
Klassifikationsfehler auf den Trainingsdaten
 Aber: Generalisierungseigenschaften sind bei hoher
Parameteranzahl typischerweise schlecht, d.h.
Fehlerwahrscheinlichkeit auf unbekannten Daten steigt ab einer
gewissen Parameteranzahl wieder an
Trainingsdaten
Testdaten
GMM: Generalisierung
 Generalisierungseigenschaften hängen von der Anzahl nk der
Komponenten ab
nk  3: Gute Generalisierung
Fehlerwahrscheinlichkeit
Trainingsdaten
© 2014 MVTec Software GmbH, München
© 2014 MVTec Software GmbH, München
226
227
MLP: Generalisierung
SVM: Generalisierung
 Generalisierungseigenschaften hängen von der Anzahl nh der
Neuronen in der versteckten Schicht ab
Trainingsdaten
nh  2: Unteranpassung
nk  20: Überanpassung
nk  1: Unteranpassung
Anzahl Parameter
nh  4: Gute Generalisierung
nh  30: Überanpassung
 Generalisierungseigenschaften hängen von den Parametern der
Kernfunktion und von  ab
Trainingsdaten
  0.95: Unteranpassung
  0.5: Gute Generalisierung
  0.05: Überanpassung
© 2014 MVTec Software GmbH, München
© 2014 MVTec Software GmbH, München
228
229
Auswahl der Art des Klassifikators
 Fast alle der vorgestellten Verfahren (mit Ausnahme der linearen
Klassifikatoren) können zur Klassifikation verwendet werden
 In jedem Fall ist es wichtig, die Anzahl der freien Parameter des
Klassifikators so zu wählen, daß der Klassifikator gute
Generalisierungseigenschaften aufweist (keine Überanpassung an
die Trainingsdaten), aber auch noch die zugrundeliegende
Wahrscheinlichkeitsverteilung der Klassen widerspiegelt (keine
Unteranpassung)
 Wenn eine große Menge an Trainingsdaten verwendet wird,
zeichnet sich keines der Verfahren gegenüber den anderen
Verfahren durch eine signifikant höhere Erkennungsrate
(niedrigere Fehlerwahrscheinlichkeit) aus
  Große Menge an Trainingsdaten ist Voraussetzung für hohe
Erkennungsrate
Zusammenfassung Klassifikation
Wichtige Punkte, die man sich merken sollte
Klassifikation basiert auf Merkmalen
Prinzip der Bayes-Klassifikation
Typen von Klassifikatoren
 Schätzung der Wahrscheinlichkeitsverteilungen
 Konstruktion von Trennflächen
 Neuheitserkennung bei der Klassifikation
 Wichtigstes Kriterium für die Klassifikation: Ausreichend viele
Trainingsdaten
 Art des Klassifikators ist bei großen Trainingsdatensätzen nicht
ausschlaggebend für die Erkennungsrate




© 2014 MVTec Software GmbH, München
© 2014 MVTec Software GmbH, München
230
231
Literatur
 Christopher M. Bishop: Neural Networks for Pattern Recognition,
Oxford University Press, 1995
 Bernhard Schölkopf, Alexander J. Smola: Learning with Kernels —
Support Vector Machines, Regularization, Optimization, and
Beyond, MIT Press, 2002
 Carsten Steger, Markus Ulrich, Christian Wiedemann: Machine
Vision Algorithms and Applications, Wiley-VCH, 2007
 Sergios Theodoridis, Konstantinos Koutroumbas: Pattern
Recognition, Academic Press, 1999
 Andrew Webb: Statistical Pattern Recognition, Arnold Publishers,
1999
© 2014 MVTec Software GmbH, München
232