Klassifikation
Entscheidungstheorie
Wahrscheinlichkeitsbasierte Klassifikatoren
Trennflächenbasierte Klassifikatoren
© 2014 MVTec Software GmbH, München
162
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:
K n
© 2014 MVTec Software GmbH, München
163
Beispiele für Merkmale und Klassen (OCR)
6
c
o
5
Kompaktheit
Kompaktheit
5.5
4
3
5
4.5
2
1
i
j
6
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
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
Klassen: h, k
© 2014 MVTec Software GmbH, München
164
1.55
Entscheidungstheorie
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
© 2014 MVTec Software GmbH, München
165
Entscheidungstheorie
Formel von Bayes:
P(i | x )
P( x | i ) P(i )
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
166
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
© 2014 MVTec Software GmbH, München
167
Beispiel im 1D
Zwei Klassen: 1 , 2
Wahrscheinlichkeiten der Klassen:
A-priori-Wahrscheinlichkeiten:
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 )
0.14
PxiPi
0.12
0.1
0.08
0.06
0.04
0.02
0
-8
-6
-4
-2
0
x
2
4
6
© 2014 MVTec Software GmbH, München
168
8
Beispiel im 2D
Drei Klassen: 1 , 2 , 3
Beachte: Die Entscheidungsregel definiert drei Regionen und die
zugehörigen Trennlinien, in denen die jeweilige Klasse maximale
Wahrscheinlichkeit besitzt
0.008
0.006
0.004
0.002
0
-10
3
5
x2
PxiPi
10
-5
0
x1
5
-10
10
-5
0
x2
5
0
1
10 -5
-10
-10
-5
© 2014 MVTec Software GmbH, München
169
2
0
x1
5
10
Typen von Klassifikatoren
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
© 2014 MVTec Software GmbH, München
170
Bayes-Klassifikation
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
171
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
© 2014 MVTec Software GmbH, München
172
Bayes-Klassifikation
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 Σi1 ( 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
173
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
1
μi
ni
ni
x
j 1
i, j
1 ni
T
Σi
(
x
μ
)(
x
μ
)
i, j i i, j i
ni 1 j 1
Die Wahrscheinlichkeiten P ( x ) können bestimmt werden durch
m
P( x ) P(i ) P( x | i )
i 1
Beachte: P (i
| x ) ist nicht normalverteilt
© 2014 MVTec Software GmbH, München
174
Beispiel für Bayes-Klassifikation
Beispiel: Zweidimensionaler Merkmalsraum mit drei Klassen
Trainingsdaten
P ( x | i ) P (i )
P( x )
P ( x | 1 ) P (1 )
P ( x | 2 ) P (2 )
P ( x | 3 ) P (3 )
© 2014 MVTec Software GmbH, München
175
Beispiel für Bayes-Klassifikation
Beispiel: Zweidimensionaler Merkmalsraum mit drei Klassen
Trainingsdaten
P (i | x )
Klassen
P (1 | x )
P (2 | x )
P (3 | x )
© 2014 MVTec Software GmbH, München
176
Bayes-Klassifikation mit Rückweisung
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
© 2014 MVTec Software GmbH, München
177
Bayes-Klassifikation mit Rückweisung
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 )
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
178
Beispiel für Bayes-Klassifikation
Beispiel: Zweidimensionaler Merkmalsraum mit drei Klassen
Trainingsdaten
Pk ( x )
Klassen mit Pk ( x ) 0.01
© 2014 MVTec Software GmbH, München
179
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 Σi1 ( x μi ) ln 2 ln Σi ln P(i )
2
2
2
1
1
1
1
x T Σi1 x μiT Σi1 x x T Σi1 μi μiT Σi1 μ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
© 2014 MVTec Software GmbH, München
180
Bayes-Klassifikation
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:
1
g i ( x ) w x bi Σ μi
T
i
T
1 T 1
x μ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:
1
d m ( x μi ) Σ ( x μi )
T
12
min
© 2014 MVTec Software GmbH, München
181
Mischmodelle
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
Pxi
0.006
0
-10
-5
0
x1
5
10 -10
-5
0
x2
5
10
1
0
2
-5
1
10
-10
-5
0
x1
© 2014 MVTec Software GmbH, München
182
5
10
EM-Algorithmus
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
P( x
k 1
ni
i ,k
| Θ) max ln( P( xi ,k | Θ)) max, i 1,, m
k 1
© 2014 MVTec Software GmbH, München
183
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 | Θ)
Wahrscheinlichkeit des Auftretens von xk:
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
© 2014 MVTec Software GmbH, München
184
EM-Algorithmus
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
ni
ln( P ( x k , z k | Θ )) P ( z k j | x k , Θ ( m ) )
j 1 k 1
li ni
(ln( Pj ) ln P( x k | θ j ))) P ( m ) ( j | x k )
j 1 k 1
Hierbei ist
P ( m) ( j | xk ) P( zk j | xk , Θ ( m) )
P ( m ) ( j ) P ( x k | θ (j m ) )
(m)
( m)
P
P
(
x
|
θ
j 1 j
k
j )
die erwartete Verteilung der Komponentenvariablen z k unter den
beobachteten Daten xk
li
© 2014 MVTec Software GmbH, München
185
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)
(m)
P
( j | xk )
k 1
ni
P
k 1
( m)
( j | xk ) xk
ni
1
( m)
( m 1)
( m 1) T
Σ
P
(
j
|
x
)(
x
μ
)(
x
μ
)
k
k
j
k
j
( m 1)
ni Pj
k 1
(0)
Initialisierung von Θ über den k-Means-Algorithmus
Abbruch, falls Θ ( m 1) Θ ( m )
( m 1)
j
© 2014 MVTec Software GmbH, München
186
EM-Algorithmus
Beispiel: Die Farben der Merkmalspunkte kodieren
Trainingsdaten für
Initialisierung mit
eine Klasse
zufälligen Mittelpunkten
Iteration 2
P (m) ( j | xk )
Iteration 1
Iteration 3
Iteration 4
© 2014 MVTec Software GmbH, München
187
Beispiel für GMM-Klassifikation
Beispiel: Zweidimensionaler Merkmalsraum mit zwei Klassen
Trainingsdaten
P ( x | i ) als Farbbild
P( x )
P ( x | 1 )
P( x | 2 )
Pk ( x )
© 2014 MVTec Software GmbH, München
188
Beispiel für GMM-Klassifikation
Beispiel: Zweidimensionaler Merkmalsraum mit zwei Klassen
Trainingsdaten
P (i | x ) als Farbbild
P (1 | x )
P (2 | x )
Klassen
Klassen mit Pk ( x ) 0.01
© 2014 MVTec Software GmbH, München
189
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
j 1 kC j
2
1
nj
x
kC j
k
Iteration folgender Schritte:
Berechnung der Mittelpunkte (analog zum E-Schritt)
Aufteilung der Merkmalsvektoren gemäß ihres Abstandes zu
den Mittelpunktsvektoren (analog zum M-Schritt)
© 2014 MVTec Software GmbH, München
190
k-Means-Algorithmus
Beispiel: Die Farben der Merkmalspunkte kodieren die Cluster
Trainingsdaten für
Initialisierung mit
eine Klasse
zufälligen Mittelpunkten
Iteration 2
Iteration 1
Iteration 3
Iteration 4
© 2014 MVTec Software GmbH, München
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 )
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
© 2014 MVTec Software GmbH, München
192
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
193
Lineare Klassifikatoren
Lineare Klassifikatoren konstruieren Trennebenen zwischen den
einzelnen Klassen
Ebenen im n -dimensionalen Merkmalsraum:
g ( x) w T x b 0
Bei Klassifikation in zwei Klassen:
x 1
g ( x) w T x b 0
x 2
g ( x) w T x b 0
Bei Klassifikation in mehr als zwei Klassen: m Trennebenen ( wi , bi )
x i
wiT x bi w Tj x b j j i
Im allgemeinen ist es nicht möglich, eine Trennebene zu finden, die
alle Merkmalsvektoren korrekt klassifiziert, weil die Klassen sich
überlappen können
© 2014 MVTec Software GmbH, München
194
Neuronale Netze: Einschichtiges Perzeptron
Lineare Klassifikatoren werden oft als neuronale Netze angesehen:
x1
......
2 Klassen
x2
xn
x1
f
wn
b
f
...
x2
......
n Klassen
w1
w2
f
xn
© 2014 MVTec Software GmbH, München
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 x0
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
© 2014 MVTec Software GmbH, München
196
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
197
Trainieren von linearen Klassifikatoren
6
c
o
5
Kompaktheit
Kompaktheit
5.5
4
3
Trenngeraden für
jeweils 2 Klassen
5
4.5
2
1
i
j
6
4
1
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
h
k
6.4
3.4
Kompaktheit
Kompaktheit
6.2
3.2
6
5.8
5.6
3
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
Klassen: h, k
© 2014 MVTec Software GmbH, München
198
1.55
Trainieren von linearen Klassifikatoren
10
j
k
o
8
Kompaktheit
Kompaktheit
8
6
4
2
0
10
j
k
o
s
6
4
0.5
1
1.5
2
2.5
Anisometrie
3
Klassen: j, k, o
3.5
4
0
6
4
2
2
0
j
k
o
t
8
Kompaktheit
10
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)
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
3.5
Klassen: j, k, o, t
© 2014 MVTec Software GmbH, München
199
4
Nichtlineare Klassifikatoren
Lineare Klassifikatoren sind nicht in der Lage, Klassen korrekt zu
klassifizieren, die sich nicht durch Hyperebenen trennen lassen
Beispiel: „XOR-Problem“:
1
0
0
1
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
© 2014 MVTec Software GmbH, München
200
Neuronale Netze: Mehrschichtiges Perzeptron
Beispiel: Zweischichtiges Perzeptron (eine „versteckte Schicht“)
Architektur der einzelnen Schichten ist identisch zum
einschichtigen Perzeptron
x1
...
......
xn
f1
f1
f2
.....
x2
f1
f2
© 2014 MVTec Software GmbH, München
201
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
Neuronale Netze: Mehrschichtiges Perzeptron
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
203
Neuronale Netze: Mehrschichtiges Perzeptron
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 )
i 1
x (jl ) f l ( a (jl ) )
(0)
(l )
Dabei ist xi der Merkmalsvektor und xi 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
© 2014 MVTec Software GmbH, München
204
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
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
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
f ( x)
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
-10
-5
1
1 ex
0
5
10
© 2014 MVTec Software GmbH, München
206
Mehrschichtiges Perzeptron: Training
Aktuell häufig getroffene Wahl der Aktivierungsfunktionen:
In jeder Schicht bis auf der letzten: Hyperbolischer Tangens
e x e x
f ( x) tanh( x) x x
e e
In der letzten Schicht: Softmax-Funktion
f ( xi )
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
e xi
j 1 e
m
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
207
-4
-2
0
2
4
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
© 2014 MVTec Software GmbH, München
208
Klassifikation mit mehrschichtigem Perzeptron
Beispiel: Zweidimensionaler Merkmalsraum mit drei Klassen
Trainingsdaten
xi( 2 )
Klassen
x1( 2)
x2( 2)
x3( 2)
© 2014 MVTec Software GmbH, München
209
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:
k
g ( x ) b wi f i ( x1 , , xn )
f1
x2
f2
w1
w2
wk
.....
x1
.....
i 1
xn
b
fk
© 2014 MVTec Software GmbH, München
210
Generalisierte lineare Klassifikatoren
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:
Φ ( x1 , , xn ) ( x1 , , xn , x12 , , x1 xn , x22 , x2 xn , , xn2 )
Problem: Curse of dimensionality: Dimension des transformierten
Merkmalsraumes:
i n 1 d n
1
k
i d
i 1
d
d 2, n 80 k 3320 d 5, n 80 k 32801515
© 2014 MVTec Software GmbH, München
211
Beispiel für nichtlineare Transformation
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
-2 0
2
© 2014 MVTec Software GmbH, München
212
0.5
1
1.5
2
x12
2.5
3
3.5
4
Support Vector Machines
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
T
Vorzeichen von w 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
213
Support Vector Machines
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
l
w i yi x i , i 0
i 1
Dabei ist i 0 genau dann, falls xi ein Stützvektor ist
Daher ist die Entscheidungsfunktion f ( x ) gegeben durch:
l
f ( x ) sgn( w x b) sgn i yi xiT x b
i 1
T
© 2014 MVTec Software GmbH, München
214
Support Vector Machines: Training
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
1 l l
i i j yi y j xiT x j
2 i 1 j 1
i 1
unter den Nebenbedingungen
i 0, i 1, , l
l
y
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
215
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
© 2014 MVTec Software GmbH, München
216
Support Vector Machines
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
217
-SVMs
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
© 2014 MVTec Software GmbH, München
218
-SVMs: Training
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
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
© 2014 MVTec Software GmbH, München
220
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
221
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
© 2014 MVTec Software GmbH, München
222
Neuheitserkennung mit SVM
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
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
unter den Nebenbedingungen
1
0 i , i 1, , l
l
l
i 1
i
1
© 2014 MVTec Software GmbH, München
224
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
Trainingsdaten
Klassen
© 2014 MVTec Software GmbH, München
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
Fehlerwahrscheinlichkeit
Trainingsdaten
Testdaten
Anzahl Parameter
© 2014 MVTec Software GmbH, München
226
GMM: Generalisierung
Generalisierungseigenschaften hängen von der Anzahl nk der
Komponenten ab
Trainingsdaten
nk 3: Gute Generalisierung
nk 1: Unteranpassung
nk 20: Überanpassung
© 2014 MVTec Software GmbH, München
227
MLP: Generalisierung
Generalisierungseigenschaften hängen von der Anzahl nh der
Neuronen in der versteckten Schicht ab
Trainingsdaten
nh 4: Gute Generalisierung
nh 2: Unteranpassung
nh 30: Überanpassung
© 2014 MVTec Software GmbH, München
228
SVM: Generalisierung
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
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
© 2014 MVTec Software GmbH, München
230
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
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
© Copyright 2026 Paperzz