Sie sind auf Seite 1von 22

PRAKTIKUMSBERICHT ZU

SUPPORT-VEKTOR-MASCHINEN
VOLKER GERDES & SVEN ESMARK
Zusammenfassung. Der nachfolgende Text umfat die Losung
des letzten Aufgabenblatts des Mustererkennungspraktikums. Die
Aufgaben drehen sich um Support-Vektor-Maschinen: sie umfassen
ihre Implementierung, die optimale Parameterwahl und Klassika-
tionsstrategien von mehr als zwei Datenklassen. Vorangestellt wird
eine Zusammenfassung der Theorie der Support-Vektor-Maschinen.
Date: 30. August 2002.
1
2 VOLKER GERDES & SVEN ESMARK
1. Grundz uge der SupportVektorMaschinen
1.1.

Ubersicht. SVM sind eine Moglichkeit des verteilungsfreien Ler-
nens in der Mustererkennung.
Dazu werden Trainingsdaten (y
1
, z
1
), ..., (y
l
, z
l
), z
i
R
n
, y
i
1, 1
in einen hoherdimensionalen Merkmalsraum (y
1
, x
1
), ..., (y
l
, x
l
), x
i
H,
(etwa H = R
N
, N n), x
i
= (z
i
) abgebildet und dort versuchsweise
linear separiert, wobei probiert wird, einen grotmoglichen Abstand
der Datenpunkte zu der Trennebene zu erzielen. Dieser Ansatz erlaubt
es, wie spater noch genauer erlautert wird, den Generalisierungsfehler
relativ gering zu halten.
1.2. Linear separierbarer Fall. Wenn die Daten linear separierbar
sind, dann ist die optimale Hyperebene (w
0
, b
0
), die den groten Ab-
stand zu allen Trainingspunkten x
i
in Abhangigkeit von den Nebenbe-
dingungen
(1.1) y
i
[(x
i
w) +b] 1, i = 1...l
hat, bestimmt durch das Minimum der quadratischen Form
(1.2) Q(w) = (w w).
Wendet man auf dieses Optimierungsproblem die Lagrangemethode an,
so erhalt man die Lagrangefunktion
(1.3) L(w, b, ) =
1
2
|w|
2

i=1

i
(y
i
((x
i
w) +b) 1)
mit den Lagrangemultiplikatoren
i
0. Dabei wird L bez uglich der
Primarvariablen w und b maximiert und bez uglich der dualen Variablen

i
minimiert. Am gesuchten Sattelpunkt verschwinden also die Ablei-
tungen:
(1.4)

b
L(w, b, ) = 0,

w
L(w, b, ) = 0.
Daraus ergibt sich
(1.5)
l

i=1

i
y
i
= 0, sowie w =
l

i=0

i
y
i
x
i
.
Der Losungsvektor ist also eine Linearkombination der Trainingsvek-
toren x
i
, deren Langrangemultiplikator
i
> 0 ist und dieser Fall tritt
nach den komplementaren Karush-Kuhn-Tucker Bedingungen (KKT)
(1.6)
i
[y
i
((x
i
w) +b) 1)] = 0, i = 1, ..., l
PRAKTIKUMSBERICHT ZU SUPPORT-VEKTOR-MASCHINEN 3
immer dann ein, wenn x
i
den freibleibenden Grenzstreifen ber uhrt, der
die Losungsebene umgibt (im folgenden Grenze genannt). Nur diese
Trainingsdaten sind losungsrelevant und werden Supportvektoren ge-
nannt. Setzt man (1.5) in L ein, dann verschwinden die Primarvariablen
und man erhalt das duale Wolf-Optimierungsproblem: nde
i
, die
(1.7) W() =
l

i=1

i

1
2
l

i,j=1

j
y
i
y
j
(x
i
x
j
)
maximieren, wobei
(1.8)
i
0, i = 1, ..., l, und
l

i=1

i
y
i
= 0
die Nebenbedingungen sind. Die Klassikatorfunktion kann nun folgen-
dermaen formuliert werden:
(1.9) f(x) = sgn
_
l

i=1
y
i

i
(x x
i
) +b
_
,
wobei b durch (1.6) bestimmt wird.
1.3. Nicht linear separierbarer Fall. Wenn die Daten nicht linear
separierbar sind, dann weicht man die Nebenbedingungen (1.1) etwas
auf, indem einzelne Trainingsdaten falsch klassiziert werden d urfen,
dann aber zu einem erhohten Kostenfunktional beitragen: minimiere
(1.10) () = C
l

i=1
(
i
) + (w w)
mit den Nebenbedingungen
(1.11) y
i
[(x
i
w) +b] 1
i
, i = 1...l,
i
0,
wobei C gen ugend gro und
(1.12) () =
_
0 wenn = 0
1 wenn = 1
gewahlt wird. Da dieses Problem NP-vollstandig ist, optimiert man
stattdessen folgende Approximation: minimiere
(1.13) () = C
l

i=1

i
+ (w w)
4 VOLKER GERDES & SVEN ESMARK
unter denselben Nebenbedingungen mit kleinem 0. Aus analyti-
schen Gesichtspunkten wird meistens = 1 gewahlt. Das duale Wolf-
problem lautet dann: maximiere
(1.14) W() =
l

i=1

i

1
2
l

i,j=1

j
y
i
y
j
(x
i
x
j
),
wobei
(1.15) 0
i
C, i = 1, ..., l, und
l

i=1

i
y
i
= 0
zu erf ullen sind.
Ersetzt man in (1.14) die x
i
durch die abgebildeten Daten des Ur-
sprungsraums (z
i
), so erhalt man
(1.16) W() =
l

i=1

i

1
2
l

i,j=1

j
y
i
y
j
((z
i
) (z
j
)).
Man kann nun in (1.16) (z
i
) (z
j
) durch eine Funktion K(z
i
, z
j
) sub-
stituieren, solange es einen Hilbertraum H und eine Funktion
: R
n
H gibt, so da K mit und dem inneren Produkt von
H kommutiert: K(z
i
, z
j
) = (z
i
) (z
j
). Das Problem lautet dann:
maximiere
(1.17) W() =
l

i=1

i

1
2
l

i,j=1

j
y
i
y
j
K(z
i
, z
j
)
zu denselben Nebenbedingungen wie unter (1.15).
Das Mercer-Theorem gibt eine notwendige und hinreichende Be-
dingung an, wann zu einer vorgegebene Funktion K(u, v) ein Hilber-
traum gefunden werden kann, in dem K(u, v) inneres Produkt ist:
notwendig und hinreichend daf ur, da eine stetige und symmetrische
Funktion K(u, v) aus L
2
(C) eine Darstellung der Form K(u, v) =

m=1
a
m
z
m
(u)z
m
(v) mit Koezienten a
m
0 hat, ist
(1.18)
_ _
K(u, v)g(u)g(v) du dv 0
f ur alle g L
2
(C). Diese Bedingung wird zum Beispiel von den haug
verwendeten Kernen
K(z
i
, z
j
) = [(z
i
z
j
) + 1]
d
, (1.19)
K(z
i
, z
j
) = tanh((z
i
z
j
) +) oder (1.20)
K(z
i
, z
j
) = exp(|z
i
z
j
|
2
/(2
2
)) (1.21)
PRAKTIKUMSBERICHT ZU SUPPORT-VEKTOR-MASCHINEN 5
erf ullt, in (1.20) allerdings nur von einigen Parameterwerten von und
.
Der Kern (1.19) beschreibt das Skalarprodukt in dem Merkmals-
raum, der sich aus allen Monomen des Merkmalsdatums z
i
1
z
i
2
z
is
bis zum Grad d, also s d, zusammensetzt.
Trainieren SVM mit dem Kern (1.20), so sind sie aquivalent zu 2-
schichtigen Neuronalen Netzen mit variabler Anzahl der Neuronen in
der ersten Schicht und variablen Gewichten aller Verbundvektoren.
Werden SVM mit dem Kern (1.21) best uckt, so optimieren sie im
Gegensatz zu klassischen RBF-Netzen auch die Anzahl der Zentren,
sowie die Zentren selbst.
Die allgemeine Klassikatorfunktion f ur Kerne lautet nun:
(1.22) f(z) = sgn
_
l

i=1
y
i

i
K(z, z
i
) +b
_
,
1.4. SVM-Algorithmen. Der SVM Ansatz f uhrt also zu der Auf-
gabe, folgendes quadratisches Optimierungsproblem losen zu m ussen:
nde den l-dimensionalen Losungsvektor , der
(1.23)
1
2

T
Q e
T

minimiert und dabei die Nebenbedingungen 0


i
C sowie y
T
= 0
einhalt (vergl. auch (1.14) und (1.15)). Dabei bezeichne
(1.24) q
i,j
= K(z
i
, z
j
)y
i
y
j
.
Zur Losung dieses Problems existieren verschiedene Verfahren, die al-
lerdings eine explizite Anpassung an die Problemstellung erfordern,
denn z.B. mu auf eine Zerlegung der Matrix Q l l aus Speicher-
platzgr unden bereits bei Problemstellungen mittlerer Groe verzichtet
werden. Aus demselben Grund verbieten sich f ur solche Falle auch jene
Algorithmen, die permanent die Gesamtmatrix Q im Speicher halten
m ussen, um jederzeit auf beliebige Eintrage q
i,j
zugreifen zu konnen,
anstatt sie auszugsweise in Blocken zu benutzen.
Auch aus Gr unden der Laufzeit nutzt man vielmehr die Tatsache,
da in den meisten SVM-Losungen ein Groteil der
i
= 0 ist. Denn
w urde man den Gradienten von (1.23) auf herkommliche Art bestim-
men, m ute man l
2
+ O(l) Multiplikationen durchf uhren; wenn hin-
gegen s Nulleintrage hat, reduziert sich auch der Rechenaufwand auf
ls +o(l) Multiplikationen und man braucht nur den Zugri auf s Spal-
ten von Q. In vielen Fallen ist auch das noch zu viel und Vapnik schlug
1979 ein Verfahren namens Chunking vor, bei dem die Problemstellung
in kleine Unterprobleme aufgeteilt wird:
6 VOLKER GERDES & SVEN ESMARK
Vapnik-Algorithmus
(1) Trainiere auf einigen der Trainingsvektoren.
(2) Teste den Rest.
(3) Wenn Testfehler auftreten, nimm die falsch klassi-
zierten Trainingsvektoren zum Trainieren mit hinzu
und wiederhole den Vorgang.
Dieser Algorithmus konvergiert zwar, allerdings nicht unbedingt ge-
gen die Losung des allgemeinen QP Problems. Der sogenannte
Platt-Algorithmus, auch Sequential Minimal Optimization (SMO) ge-
nannt, f uhrt den Vapnik-Ansatz am konsequentesten durch: er opti-
miert in jedem Schritt immer nur zwei Lagrangeparameter. Der Vorteil
dabei ist, das dieser update-Schritt analytisch gelost werden kann und
nicht numerisch-iterativ durchgef uhrt werden mu. Zusatzlich werden
zwei Heuristiken eingesetzt, die bestimmen, welche beiden Lagrange-
parameter optimiert werden sollen.
Die auere Schleife des SMO Algorithmus bestimmt den ersten Para-
meter: sie lauft zunachst uber alle Trainingsvektoren und veriziert die
G ultigkeit der KKT-Bedingungen. Sobald eine Verletzung der KKT
auftritt, kann dieser Lagrangeparameter zur Optimierung herangezo-
gen werden. Sein Partner wird in der inneren Schleife ausgesucht und
so bestimmt, da der erzielbare Optimierungsgewinn moglichst gro
ausfallt.
Im Vergleich zu herkommlichen Projected Conjugated Gradient Chun-
king (PCG Chunking) Verfahren, deren Speicherbenutzung zwischen
linearer und kubischer Abhangigkeit von den Trainingsdaten liegen,
bedarf der SMO Algorithmus nur maximal quadratisch skalierenden
Speicheraufwandes.
Der Rechenaufwand des SMO wird vom Rechenaufwand f ur das
Losen von SVMs begrenzt und SMO arbeitet am schnellsten bei li-
nearen SVMs mit d unnbesetzten Trainingsdaten.
1.5. Fehlerabschatzung. Um den Generalisierungsfehler des Klassi-
kators abzuschatzen, konnte man versucht sein, den Ansatz der
Structural Risk Minimization (SRM) zu verwenden. Dieser besagt: wenn
H
i
eine aufsteigende Folge von Hypothesenklassen mit VC-Dimension
VC(H
i
) = h
i
und irgendeine Datenverteilung auf S = X 1, 1
ist, dann kann man den Generalisierungsfehler von f H
i
mit Wahr-
scheinlichkeit 1 abschatzen durch
(1.25) 2E
x
(f) +
1
l
_
8 log
_
2l

_
+ 4h
i
log
_
2el
h
i
__
,
PRAKTIKUMSBERICHT ZU SUPPORT-VEKTOR-MASCHINEN 7
wenn die l Trainingsdaten unabhangig nach gezogen wurden und
h l erf ullt ist. E
x
(f) ist Fehler auf den Trainingsdaten.
W urde man im hochdimensionalen Merkmalsraum mit allen a-
nen Ebenen arbeiten, ware diese Abschatzung bereits f ur den Poly-
nomialkern vom Grad 3 bei einer einfachen Zeichenerkennungsaufgabe
von 16 16-groen Grauwertbildern unbrauchbar, da die Dimension
des Raums und damit die VC Dimension der anen Ebenen in der
Groenordnung 1 10
6
liegt.
SVM hingegen beschranken ihren Suchraum auf alle sogenannten
kanonischen Hyperebenen der Form [(x
i
w) +b[ 1, i = 1...l und mi-
nimieren den Ebenenvektor w, maximieren also den Rand. Die Menge
dieser kanonischen Hyperebenen hat bei beschranktem Ebenenvektor
[w[ A eine wesentlich kleinere VC-Dimension h, und zwar gilt:
(1.26) h min([R
2
A
2
], N) + 1,
wobei R den Umkreiskugelradius der Trainingsdaten angibt und N die
Dimension des Merkmalsraums ist.
Deniert man nun H
A
als Menge aller kanonischen Hyperebenen mit
[w[ A, dann betreiben SVM - so konnte man glauben - SRM und
liefern die Losung mit dem kleinsten Generalisierungsfehler.
Allerdings begeht man bei dieser Analyse einen Fehler: beim Be-
weis der SRM wird vollige Unkenntnis der Trainingsdaten verlangt,
zur Festsetzung der Struktur der obigen H
i
benotigt man jedoch dieses
a priori-Wissen.
Eine Modikation des Ansatzes der SRM, die sogenannte
datenabhangige SRM, umgeht diese Art der Probleme und erlaubt es,
die Hierarchie der Klassikatoren nach Durchsicht der Daten aufzustel-
len.
Dazu wird zunachst das Konzept der VC-Dimension erweitert: Sei F
eine Menge reellwertiger Funktionen. Eine Punktmenge X wird
shattered durch F genannt, wenn es reelle Zahlen r
x
, x X gibt,
so da f ur alle Binarvektoren b, die von X indiziert werden, es eine
Funktion f
b
F gibt mit:
(1.27) f
b
(x) =
_
r
x
+ wenn b
x
= 1
r
x
ansonsten
Die fat-shattering Dimension fat
F
der Menge F ist eine Funktion der
positiven rellen Zahlen in die ganzen Zahlen, die den Umfang der
groten geshattereten Teilmenge von X zuordnet. Mit diesem Kon-
zept lat sich folgende Abschatzung beweisen:
8 VOLKER GERDES & SVEN ESMARK
Sei F eine Menge reellwertiger Funktionen. Wenn ein Klassikator
sgn(f) sgn(F) einen Rand der Groe auf l unabhangig gezoge-
nen Trainingsdaten x hat, dann ist mit Wahrscheinlichkeit 1 der
Generalisierungsfehler nicht groer als
(1.28)
2
l
_
h log
2
_
8el
h
_
log
2
(32l) + log
2
_
8l

__
,
wobei h = fat
F
(/16). Weiterhin gilt mit Wahrscheinlichkeit 1, da
jeder Klassikator sgn(f) sgn(F) einen Generalisierungsfehler kleiner
als
(1.29) b/l +
_
2
l
(h log(34el/h)log
2
(578l) +log(4/))
hat, wobei b die Anzahl der Trainingsdaten darstellt, deren Rand klei-
ner als ist.
Unabdingbar f ur die Fehlerabschatzung der Klassikatoren ist nun
wieder eine Abschatzung der fat shattering Dimension der Klassikato-
renmenge: bezeichne R wieder den Umkreiskugelradius der Trainings-
daten und sei F die Klassikatorenmenge, dann ist
(1.30) fat
F
()
_
R

_
2
.
Zusammenfassend ergibt dies folgende Abschatzung: Es gibt eine Kon-
stante c, so da f ur alle Trainingsdatenverteilungen der Generalisie-
rungsfehler eines Klassikators, der einen Rand groer als besitzt,
mit Wahrscheinlichkeit 1 kleiner ist als
(1.31)
c
l
_
R
2

2
log
2
l + log(1/)
_
ist. F ur beliebige Klassikatoren ist der Generalisierungsfehler kleiner
als
(1.32) b/l +

c
l
_
R
2

2
log
2
l + log(1/)
_
.
PRAKTIKUMSBERICHT ZU SUPPORT-VEKTOR-MASCHINEN 9
2. SVMs und Mehrklassenprobleme
Eine Support Vektor Maschine ermoglicht die binare Klassikation
der Daten durch eine Hyperebene im Merkmalsraum. Es existiert kei-
ne nat urliche Erweiterung des Konzeptes f ur die Diskriminierung von
mehr als 2 Klassen.
Typischerweise werden deshalb zum Aufbau eines Multi-Klassen Klas-
sikators (K 2) einzelne binare Klassikatoren zur Entscheidungs-
ndung kombiniert.
Im Rahmen des Praktikums sollen drei alternative Strategien evalu-
iert werden:
2.1. Einer gegen alle. Es werden K einzelne SVMs trainiert, die je-
weils zwischen der ihnen zugeordneten Klasse k und den restlichen
Daten (der Klassen i ,= k) unterscheiden.
Zur Klassikation eines unbekannten Datenpunktes z wird f ur jede
einzelne der K SVMs entweder der euklidische Abstand zur Hyperebe-
ne im Merkmalsraum oder alternativ die nicht durch |w|
1
normierte
Groe
(2.1) d
k
(z) = w
k
(z) =
l

i=1

i,k
y
i,k
K (z, z
i
) +b
k
,
ausgewertet.
2
Der Datenpunkt z wird dann derjenigen Klasse zugespro-
chen, bei der der Abstand zwischen z und Hyperebene am groten ist
bzw. alternativ der Klasse f(z) = arg max
k
(d
k
(z)) zugewiesen
Sowohl die Leistung der normierten als auch der unnormierten Ver-
sion soll untersucht werden.
2.2. Binare Entscheidungsbaume. Bei einem binaren Entscheidungs-
baum ist jedem Blatt des Baumes eindeutig eine der K Klassen zuge-
ordnet. Innere Knoten lernen die Entscheidung zwischen den durch
ihre beiden Teilaste denierten Klassenmengen.
3
Zur Klassikation eines Datenpunktes z wird nun der Entscheidungs-
baum von der Wurzel bis zu einem Blatt durchlaufen, wobei an jedem
zu passierenden Knoten eine f ur die Diskriminierung der beiden Klas-
senmengen trainierte SVM ausgewertet wird.
1
Entgegen anders lautender Behauptungen ist w =

w, w =

l
i=1

2
i
K (z
i
, z
i
)
2
Dies entspricht dem Abstand zur Entscheidungsgrenze gemessen als Vielfaches
des Margins
3
D.h. alle an dem jeweiligen Ast hangenden Blatter (=Klassen)
10 VOLKER GERDES & SVEN ESMARK
Bei der Festlegung einer g unstigen Partitionierung (bzw. Klassen-
zuordnung der Blatter) sollte ber ucksichtigt werden, dass wahrend der
Klassikation hoher liegende Blatter hauger besucht werden und keine
spateren Korrekturen einer Entscheidung moglich sind.
Somit liegt es nahe, die gesuchte Partitionierung durch ein greedy-
Verfahren zu bestimmen: Ausgehend von der Wurzel wird die Menge
der (verbleibenden) Klassen an jedem Knoten so in 2 Teile partitioniert,
dass die bestmogliche SVM-Trennbarkeit gewahrleistet wird.
Da jedoch aufgrund des hohen Trainingsaufwandes der SVMs die di-
rekte Validierung aller moglichen Partitionierungen ausscheidet
4
, soll
ein an das Fischerkriterium angelehtes G utekriterium verwendet wer-
den, um die Trennbarkeit im Merkmalsraum abzuschatzen: Der Sepera-
bilitatsindex s
12
vergleicht den mittleren Abstand der Punkte zwischen
den verschiedenen Klassenmengen mit dem mittlerem Abstand inner-
halb der beiden Klassenmengen uber das durch den Kern K gegebene
Skalarprodukt im Merkmalsraum:
Seien Z
S
und Z
T
die Menge der Datenvektoren der Klassenmengen
S bzw. T, und
d
S,T
=
1
|Z
S
||Z
T
|

z
i
Z
S

z
j
Z
T
K (z
i
z
j
, z
i
z
j
)
der mittlere Abstand der Datenmengen, so ist der Seperabilitatsindex
deniert als s
S,T
=
d
S,T
d
S,S
d
T,T
.
5
2.3. Fehlertolerante Ausgabecodes (Hammingcodes). Fehlerto-
lerante Ausgabecodes gehoren zur allgemeinen Klasse der verteilten
Ausgabecodes. Dabei wird jede Klasse durch eine eindeutige Binarsequenz
b = b
1
, . . . , b
n
) aus n Bits codiert. F ur jedes dieser Bits wird ein Klas-
sikator f
i
trainiert, der die Klassen mit b
i
= 0 v on den Klassen mit
b
i
= 1 trennt. Zur Klassikation eines unbekannten Datenpunktes z
wird durch Auswertung der n Klassikatoren der zugehorige Binarcode
b(z) = f
1
(z), . . . , f
n
(z))) generiert und mit Hilfe eines Distanzmaes
die Klasse durch den ahnlichsten Binarcode bestimmt.
In der Anwendung haben die Bits haug eine semantische Bedeutung
und jedes Bit entscheidet uber das Vorhandensein bzw. nicht Vorhan-
densein eines vom Designer des Klassikators ausgewahlten Merkmals.
Auswahlkriterien sind z.B. leichte Erkennbarkeit und gute Diskriminie-
rung zwischen den Klassen.
Eine alternative Herangehensweise sind die Fehlertoleranten Ausga-
becodes. Die 2 Designkriterien sind:
4
Alleine f ur die Wurzel m uten

10
5

SVMs ausgewertet werden


5
Bei Tests hat sich allerdings herausgestellt, dass der unnormierte Abstand d
S,T
starker mit dem Trainingsfehler der SVM korreliert ist als s
S,T
. Siehe Abschnitt 4.
PRAKTIKUMSBERICHT ZU SUPPORT-VEKTOR-MASCHINEN 11
Fehlertoleranter Ausgabecode f ur K = 10
f
1
f
2
f
3
f
4
f
5
f
6
f
7
f
8
f
9
f
10
f
11
f
12
f
13
f
14
f
15
Klasse 0 1 1 0 0 0 0 1 0 1 0 0 1 1 0 1
Klasse 1 0 0 1 1 1 1 0 1 0 1 1 0 0 1 0
Klasse 2 1 0 0 1 0 0 0 1 1 1 1 0 1 0 1
Klasse 3 0 0 1 1 0 1 1 1 0 0 0 0 1 0 1
Klasse 4 1 1 1 0 1 0 1 1 0 0 1 0 0 0 1
Klasse 5 0 1 0 0 1 1 0 1 1 1 0 0 0 0 1
Klasse 6 1 0 1 1 1 0 0 0 0 1 0 1 0 0 1
Klasse 7 0 0 0 1 1 1 1 0 1 0 1 1 0 0 1
Klasse 8 1 1 0 1 0 1 1 0 0 1 0 0 0 1 1
Klasse 9 0 1 1 1 0 0 0 0 1 0 1 0 0 1 1
Der verwendete 15 Bit Code f ur K = 10 Klassen mit einer
Hammingdistanz von 7 Bit aus [TGD95].
(1) (Zeilenabstand
6
) Die Klassencodes sollten sich in vielen Bits
unterscheiden, um so die Gefahr der Verwechslung zu minimie-
ren. Maximiert wird also die minimale Bitdistanz zwischen den
Codewortern, der sogenannte Hammingabstand.
7
(2) (Spaltenabstand) Der Klassikator f
i
(und die zugehorige Klas-
senaufteilung) sollte unkorreliert zu den Klassikatoren der an-
deren Bitpositionen f
j=i
sein, um Bitfolgefehler zu vermeiden.
Dies kann durch die Maximierung des Hammingabstandes zwi-
schen den Spalten bzw. deren Komplement erreicht werden.
8
Freiheit besteht noch in der Zuweisung der Codeworter zu den einzel-
nen Klassen, die die zu diskriminierenden Klassenmengen der einzelnen
Bits beeinusst.
F ur das Praktikum wird die Hammingdistanz zur Bestimmung des
ahnlichsten Klassencodes auf der binaren Ausgabe der SVMs vorge-
schlagen. [TGD95] hingegen fassen die Ausgabe des Klassikators als
Wahrscheinlichkeit auf, und berechnen die L
1
Distanz zwischen Wahr-
scheinlichkeitsvektor b(z) und Klassencode.
6
vgl. Matrixnotation in Tabelle 2.3
7
Bei einer Hammingdistanz von d Bits lassen sich Storungen von bis zu
d1
2

Bits korrigieren und d 1 Bits erkennen
8
Ein binarer Klassikator lernt implizit auch die inverse Abbildung. Abz uglich
der nutzlosen konstanten Abbildung verbleiben so 2
K1
1 potentielle Spalten, aus
denen eine Untermenge U mit |U| = n und maximaler Hammingdistanz gesucht
wird. Optimierungsstrategien f ur verschiedene (K, n) nden sich in [TGD95]
12 VOLKER GERDES & SVEN ESMARK
3. Datens atze und Merkmalsr aume
3.1. Chair-Datensatz [BSB
+
96]. Der Datensatz enthalt 16 16 Bil-
der gerenderter 3D Stuhlmodelle (Siehe Abbildung 1). K = 25 verschie-
dene Modelle stehen zur Auswahl, je nach Trainingsdatensatz wurden
pro Modell 25, 89, 100 oder 400 verschiedene Blickwinkel berechnet.
Der Testdatensatz besteht aus 100 zufalligen Blickwinkeln.
Neben dem eigentlichen Grauwertbild werden zu jeder Ansicht Kan-
tenbilder 4 verschiedener Orientierungen geliefert, sodass sich daraus
ein maximal nutzbarer Datenraum von 1280 Dimensionen mit 614 Bei-
spielpunkten pro Klasse ergibt.
Abbildung 1. CHAIR Beispiele: Zwei St uhle (Bild &
4 Kantenoperatoren) aus 6 verschiedenen Blickwinkeln
@todo:Noch nichts getestet. Ergebnisse in [BSB
+
96]
3.2. MNIST-Datensatz [LR]. Der MNIST Datensatz enthalt 28
28 Bilder handgeschriebener Ziern aus 2 verschiedenen NIST Ur-
sprungsdatensatzen (Siehe Figur 3.2). Die Bilder wurden aus den NIST-
Binarbildern durch Normalisierung auf 2020 Pixel und Schwerpunkt-
Zentrierung in dem 2828 Fenster generiert. 60000 Trainingsdaten und
1000 Testdaten stehen zur Verf ugung.
3.3. Trainingsgrundlage. Als Trainingsvektoren der SVMs dienen
die nicht vorverarbeiteten Grauwert-Bildmatrizen der beiden Datensatze.
Dies stellt hohe Anforderungen an die Generalisierungsfahigkeit des
Klassikators, bei 1280 bzw. 768 dimensionalen Datenraumen leider
aber auch an die Rechenleistung wahrend der Lernphase, so dass im
PRAKTIKUMSBERICHT ZU SUPPORT-VEKTOR-MASCHINEN 13
Abbildung 2. MNIST Beispiele: Ersten 25 Ziern des Datensatzes
Rahmen des Praktikums nur ein Bruchteil der Daten zum Training
verwendet werden konnte.
Damit konnen auch leider keine Strategien zur Steigerung der Klas-
sikationsleistung mittels Erzeugung weiterer virtueller Trainingsdaten
(wie das Einbeziehen leichter Verschiebungen bzw. anderer Verzerrun-
gen) verfolgt werden, so dass davon auszugehen ist, dass die prakti-
sche Klassikationsleistung weit hinter der theoretisch trainierbaren
Leistung liegen wird.
4. Theorie: Modellwahl / Parameterwahl
Zum Trainieren der Support-Vektor-Maschinen stehen unterschied-
liche Kerne zur Wahl, wir beschranken uns auf die in (1.19), (1.21)
und (1.20) vorgestellten Funktionen. Um den Einu der Parameter
zu bestimmen, beschrankten wir uns auf ein einzelnes Trainingsszena-
rio (7 gegen Rest, 500 Trainingsdaten, 1000 Testdaten) und wahlten
verschiedene Einstellungen f ur den Bestrafungsfaktor f ur Grenzverlet-
zungen und variierten die Parameter der Kerne.
Die Klassikationsleistung nimmt bei Polynomialkernen deutlich mit
ansteigendem C zu, das konnte auf einen zu geringen Trainingsda-
tenumfang zur uckzuf uhren sein, aus Zeitkomplexitatsgr unden war ein
groerer Trainingsumfang jedoch nicht moglich.
14 VOLKER GERDES & SVEN ESMARK
Einu der Parameterwahl auf die SVM-Klassikationsg ute bei verschiedenen Kernen. Trainiert
wurde stets das Szenario 7gegen Rest.
Wert von C
Grad 1 2 4 8 16 32 64 128 256 512 1024 100000
1 334 337 296 199 201 223 276 216 216 216 216 216
2 276 281 282 281 229 179 150 145 115 89 67 67
3 279 253 258 265 265 265 253 216 183 177 170 75
4 313 284 311 302 280 277 276 274 274 241 229 137
5 228 219 191 324 319 256 338 328 338 313 312 279
Wahl des Parameters C bei Polynomialkernen ansteigenden Grades. Trainiert wurden 500
Datensamples, getestet wurden 1000 St uck.
Wert von C
Wert von 1 2 4 8 16 32 64 128 256 512 1024 100000
1 96 96 96 96 96 96 96 96 96 96 96 96
2 96 96 96 96 96 96 96 96 96 96 96 96
5 96 96 96 96 96 96 95 95 96 96 96 96
50 56 126 198 246 272 287 301 368 437 474 512 559
1000 46 36 124 311 403 456 469 487 490 493 493 708
Wahl des Parameters bei RBF-Kernen. Trainiert wurden 500 Datensamples, getestet wurden
1000 St uck.
Wert von
Wert von 0 1 5 10 1000
0 327 349 368 423 475
0.1 96 96 96 96 96
0.2 96 96 96 96 96
0.5 96 96 96 96 96
1 96 96 96 96 96
Wahl der Parameter und bei tanh-Kernen. Trainiert wurden 500 Datensamples mit C=100,
getestet wurden 1000 St uck.
Bei den RBF-Kernen fallt die weitgehende Unabhangigkeit des Ge-
neralisierungsfehlers von der Wahl von auf, deshalb wahlten wir in
den nachfolgenden Experimenten RBF-Kerne aus, deren = 1 und
C = 100 gesetzt wurde. Diese Einstellungen decken sich auch mit den
Experimenten in [Pla99] und [Vap95].
Die tanh-Kerne sind im Ergebnis erstaunlich invariant gegen uber
Parameteranderungen und erreichen einen den RBF-Kernen fast iden-
tischen Fehlerquotienten.
In der folgenden Tabelle haben wir den Einu des Grades von Poly-
nomialkernen auf die Klassikatorleistung f ur jede Klasse getestet. Eine
Abschatzung zur theoretischen Bestimmung des optimalen Grades des
Kerns, wie in [Vap95] beschrieben, konnten wir leider nicht validieren.
Wir erhalten (hier nicht tabelliert) einen monotonen Abfall von R
2
A
2
und leider kein lokales Minimum. Die Aussagekraft von V C
est
ist daher
fraglich.
PRAKTIKUMSBERICHT ZU SUPPORT-VEKTOR-MASCHINEN 15
Vergleich der SVM-Klassikationsfehler mit verschiedenen Polynomialkernen
bester Klassikator Anzahl der Testfehler
Klasse Grad Dim. V Cest 1 2 3 4 5 6 7 8 9
0 1 10
1
39180 126 128 193 294 368 393 524 558 505
1 2 10
26
< 1 34 32 103 134 137 94 38 32 27
2 2 10
26
< 1 182 124 236 320 352 422 307 164 86
3 2 10
3
18374 650 202 295 347 356 452 516 290 219
4 2 10
26
< 1 66 62 144 205 219 199 113 86 48
5 1 10
26
< 1 73 80 201 241 261 359 202 102 70
6 2 10
3
10027 76 70 149 245 241 291 383 222 149
7 1 10
26
< 1 90 91 157 197 210 195 147 90 52
8 2 10
3
19754 1185 378 537 679 628 782 1111 1192 1047
9 2 10
26
< 1 517 383 439 447 487 526 377 289 249
Experimentelle Suche des besten Polynomgrads (die beste Losung ist markiert). Trainiert
wurden 2000 Datensamples, getestet wurden ebenfalls 2000 St uck.
5. Ergebnisse
Allgemein wurden folgende Parameter bei den nachfolgenden Expe-
rimenten verwendet:
n
train
= 1000, n
test
= 1000, rbf

= 1
9
, C = 100
Die Version mit dem euklidischen Abstand ([w[) war etwas schlechter
bei der Einer gegen alle Strategie: TOTAL ERROR: 116/1000 (11.60
Prozent)
Hier nicht aufgef uhrt: 15 Bit Hammingcode - Codesuche mit d
L
1
(Wahrscheinlichkeiten)
Allgemeine Vor- und Nachteile des Verfahrens Einer gegen Alle:
Die Trainingszeit steigt linear mit der Anzahl der Klassen an,
da f ur jede Klasse eine neue SVM hinzugenommen werden mu.
Bei der Auswertung in der spateren Klassikation eines Daten-
punktes steigt die Zeitkomplexitat ebenfalls linear an.
Kondenzwerte ergeben sich durch den jeweiligen Abstand zur
Entscheidungsgrenze (Eine Erweiterung des Konzepts zur Be-
rechnung von a-posteriori Wahrscheinlichkeiten wird in [Pla99]
vorgestellt)
Komplexitat der Entscheidungsgrenze: Eine SVM muss die Ab-
grenzung einer einzelnen Klasse zu ihrer Umgebung lernen, das
bisherige Trainingssample bestand zu einem 1:9 Verhaltnis aus
eigenen Trainingsdaten zu fremden Trainingsdaten. Eventuell
sollte dieses Verhaltnis paritatischer gewahlt werden.
Binarer Entscheidungsbaum - Allgemeine Vor-/Nachteile:
9
Aufgrund unserer nichtnormierten Implementierung ist der Parameter =dim
16 VOLKER GERDES & SVEN ESMARK
MaxAbstand Klassifizierung (normiert)
"rbf" Kernel, 1000 n
Training
, 1000 n
Test
vs. 95 SV (9.5%) sep 0.618 0.0% train 1.0% test
vs. 99 SV (9.9%) sep 0.627 0.0% train 1.4% test
vs. 164 SV (16.4%) sep 0.546 0.0% train 3.5% test
vs. 149 SV (14.9%) sep 0.564 0.0% train 3.5% test
vs. 142 SV (14.2%) sep 0.559 0.0% train 2.7% test
vs. 193 SV (19.3%) sep 0.525 0.0% train 2.6% test
vs. 118 SV (11.8%) sep 0.583 0.0% train 1.2% test
vs. 124 SV (12.4%) sep 0.574 0.0% train 1.8% test
vs. 160 SV (16.0%) sep 0.548 0.0% train 4.7% test
vs. 196 SV (19.6%) sep 0.546 0.0% train 3.3% test
Abbildung 3. Einer gegen alle: Gewinner durch relati-
ven Abstand - TOTAL ERROR: 113/1000 (11.30 Pro-
zent)
Bei diesem Konzept ergibt sich lediglich eine Logarithmische
Entscheidungstiefe log(K) f ur die Klassikation
10
Weiterhin m ussen bei einem ausgeglichenen Binarbaum K1
Binarklassikatoren trainiert werden
11
und somit hat die Lern-
zeitkomplexitat wieder eine lineare Komponente
Fehlentscheidungen konnen im Entscheidungsproze zur Auf-
teilung des Baums spater nicht mehr korrigiert werden
10
Im Rahmen des Praktikums sollen nur ausgeglichene Entscheidungsbaume
ber ucksichtigt werden
11
Entgegen anders lautender Behauptungen (K (K 1)/2) ;-)
PRAKTIKUMSBERICHT ZU SUPPORT-VEKTOR-MASCHINEN 17
HammingAbstand Klassifizierung
"rbf" Kernel, 1000 n
Training
, 1000 n
Test
vs. 324 SV (32.4%) sep 0.533 0.0% train 8.5% test
vs. 343 SV (34.3%) sep 0.520 0.0% train 7.7% test
vs. 372 SV (37.2%) sep 0.518 0.0% train 8.7% test
vs. 297 SV (29.7%) sep 0.530 0.0% train 7.4% test
vs. 397 SV (39.7%) sep 0.522 0.0% train 8.8% test
vs. 324 SV (32.4%) sep 0.534 0.0% train 7.6% test
vs. 455 SV (45.5%) sep 0.519 0.0% train 13.4% test
vs. 363 SV (36.3%) sep 0.520 0.0% train 11.0% test
vs. 384 SV (38.4%) sep 0.519 0.0% train 12.3% test
vs. 300 SV (30.0%) sep 0.533 0.0% train 7.9% test
vs. 303 SV (30.3%) sep 0.536 0.0% train 6.4% test
vs. 305 SV (30.5%) sep 0.531 0.0% train 6.2% test
vs. 269 SV (26.9%) sep 0.543 0.0% train 7.8% test
vs. 299 SV (29.9%) sep 0.538 0.0% train 8.2% test
vs. 99 SV (9.9%) sep 0.627 0.0% train 1.4% test
Abbildung 4. 15 Bit Hammingcode: Codesuche
d
H
amming - TOTAL ERROR: 120/1000 (12.00 Prozent)
Komplexitat der Entscheidungsgrenze: Komplexe Klassenparti-
tionierung an der Wurzel, geringer werdende Komplexitat bis
hin zu einer-gegen-einer Entscheidungen f ur die Blatter
Allgemeine Vor-/Nachteile: Fehlertolerante Ausgabecodes
Es liegt eine steuerbare Komplexitat K der Anzahl zu lernen-
den Binarklassikatoren und spateren Klassikationsentschei-
dung durch Anzahl der Bits des CRC-Codes vor
Eine Erkennung und Korrektur von Fehlentscheidungen erfolgt
gema der Theorie der CRC-Codes
18 VOLKER GERDES & SVEN ESMARK
H
i
e
r
a
r
c
h
i
s
c
h
e

K
l
a
s
s
i
f
i
z
i
e
r
u
n
g

"
r
b
f
"

K
e
r
n
e
l
,

1
0
0
0

n
T
r
a
i
n
i
n
g
,

1
0
0
0

n
T
e
s
t
(
1
1
.
3
%
)
(
2
8
.
1
%
)
(
1
7
.
9
%
)
(
1
1
.
0
%
)
8
0

S
V
0
.
0
%

t
r
a
i
n
1
.
8
%

t
e
s
t
(
6
.
5
%
)
(
6
.
7
%
)
(
1
4
.
4
%
)
7
5

S
V
0
.
0
%

t
r
a
i
n
1
.
7
%

t
e
s
t
(
1
3
.
6
%
)
(
2
9
.
7
%
)
(
1
1
.
0
%
)
6
1

S
V
0
.
0
%

t
r
a
i
n
0
.
7
%

t
e
s
t
5
2

S
V
0
.
0
%

t
r
a
i
n
0
.
3
%

t
e
s
t
7
6

S
V
0
.
0
%

t
r
a
i
n
1
.
9
%

t
e
s
t
5
0

S
V
0
.
0
%

t
r
a
i
n
0
.
9
%

t
e
s
t
1
2
1

S
V
0
.
0
%

t
r
a
i
n
2
.
4
%

t
e
s
t
7
6

S
V
0
.
0
%

t
r
a
i
n
1
.
7
%

t
e
s
t
2
6
6

S
V
0
.
0
%

t
r
a
i
n
6
.
2
%

t
e
s
t
Abbildung 5. Hiearchischer Klassizierer: Testkritieri-
um nur between-scatter s12- TOTAL ERROR: 149/1000
(14.90 Prozent)
Komplexitat der Entscheidungsgrenze: Jede einzelne SVM muss
die Aufteilung aller K Klassen in 2 Klassenmengen entspre-
chend der Bits des CRC-Codes lernen
Allgemeine Bemerkung zu SVM-Algorithmen
Wahrend unserer Trainingslaufe el doch deutlich die Abhangigkeit
der Klassikationsg ute von einer geeigneten Normierung des
PRAKTIKUMSBERICHT ZU SUPPORT-VEKTOR-MASCHINEN 19
H
i
e
r
a
r
c
h
i
s
c
h
e

K
l
a
s
s
i
f
i
z
i
e
r
u
n
g

"
r
b
f
"

K
e
r
n
e
l
,

1
0
0
0

n
T
r
a
i
n
i
n
g
,

1
0
0
0

n
T
e
s
t
(
1
1
.
3
%
)
(
2
8
.
1
%
)
(
1
7
.
8
%
)
(
1
1
.
8
%
)
8
0

S
V
0
.
0
%

t
r
a
i
n
1
.
8
%

t
e
s
t
(
6
.
5
%
)
(
6
.
7
%
)
(
1
4
.
4
%
)
7
0

S
V
0
.
0
%

t
r
a
i
n
1
.
4
%

t
e
s
t
(
1
1
.
9
%
)
(
2
9
.
7
%
)
(
1
1
.
0
%
)
6
1

S
V
0
.
0
%

t
r
a
i
n
0
.
7
%

t
e
s
t
5
2

S
V
0
.
0
%

t
r
a
i
n
0
.
3
%

t
e
s
t
8
9

S
V
0
.
0
%

t
r
a
i
n
1
.
9
%

t
e
s
t
5
0

S
V
0
.
0
%

t
r
a
i
n
0
.
9
%

t
e
s
t
1
2
1

S
V
0
.
0
%

t
r
a
i
n
2
.
4
%

t
e
s
t
7
6

S
V
0
.
0
%

t
r
a
i
n
1
.
7
%

t
e
s
t
2
6
6

S
V
0
.
0
%

t
r
a
i
n
6
.
2
%

t
e
s
t
Abbildung 6. Hiearchischer Klassizierer: Testkritie-
rium sep=s12/(s11+s22) - TOTAL ERROR: 148/1000
(14.80 Prozent)
Skalarprodukts im Merkmalsraum auf. Vern unftige Abschatzungen,
die VC-Dimension betreend, wie sie Vapnik durchgef uhrt hat,
konnten erst nach einer solchen Normierungsmanahme - und
auch dann nur annahernd - nachvollzogen werden. Ohne eine
solche Aufbereitung werden Algorithmen zur SMO numerisch
20 VOLKER GERDES & SVEN ESMARK
instabil und liefern f ur verschiedene Parameterwerte der Kerne
absurde Ergebnisse
Anhang A. Kurzdokumentation der MATLAB/MEX
Funktionen
Die MATLAB Syntax der SVM Funktionen orientiert sich an der des
Paketes von S. R. Gunn Paketes. [Gun]
Beim Training der SVM st utzt sich die Gunn Implementierung auf
die Losung eines quadratischen Programms (qp) durch die MATLAB
Optiermierungstoolbox.
Die hier gewahlte Implementierung benutzt das Konzept der MAT-
LAB MEX Funktionen, ein Mechanismus zur Ausf uhrung von nativen
C++ oder Fortran Programmen aus der MATLAB Umgebung.
Durch Verwendung des C++ Platt-Algorithmus kann somit beim Trai-
ning der SVM auf das MATLAB Optimierungspaket verzichtet werden.
A.0.1. svc svcmex. Trainiert die Support-Vektor-Maschine mit-
tels Platt-Optimierung.
Aufruf :
[nSV alpha bias |w|] = svcmex(X, Y, kerName, C, kerParam)
Parameter:
X : Trainingsdaten
Y : Trainingslabel
C : Bestrafungsfaktor f ur Grenzverletzung
kerName : Name des Kerns K(u, v). Zulassige Werte
sind: (Siehe Diskussion in Abschnitt ??)
linear : u

v
poly : (u

v)
d
poly1 : [(u v) + 1]
d
rbf : exp(|u v| /)
sigmoid : tanh((u v) )
Ruckgabewerte:
nSV : Anzahl der Supportvektoren
alpha : Lagrange Faktoren
bias : Bias der Hyperebene
w : Lange des Hyperebenen Normalenvektors
A.0.2. svcoutput svcoutputmex. Funktion zur Klassizierung
neuer Testdaten durch eine trainierte Support-Vektor-Maschine
Aufruf :
tstY = svcoutput(trnX, trnY, tstX, ker, alpha, bias, actfunc, params)
PRAKTIKUMSBERICHT ZU SUPPORT-VEKTOR-MASCHINEN 21
Parameter:
trnX : Merkmalsvektoren der Trainingsdaten
trnY : Klassenlabel der Trainingsdaten {1, 1}
tstX : Testdaten
ker : verwendeter Kernel der SVM
alpha : gelernte Lagrange Multiplier der SVM
bias : gelernter Bias der SVM
actfunc : Aktivierungsfunktion f ur zu liefernde Antwort.
0 (linear) Entfernung der Daten als Vielfa-
ches des Margins (w (z))
1 (soft) auf [1 : 1] abgeschnittene Werte
(Gunn default)
2 (hard) eine binare Antwort uber die sign-
Funktion
Ruckgabewerte:
tstY : Antwort der SVM auf Testdaten tstX nach actfunc
A.0.3. scattermex. Hilfsfunktion zur Berechnung der mittleren Da-
tenstreuung im Merkmalsraum.
Aufruf :
scatter = scattermex(kerName, kerParams, X1 [,X2])
Parameter:
kerName : Name des Kerns (scalar product in target space)
kerParams : kernel parameters
X1 : datapoints of class 1
X2 : datapoints of class 2 (optional)
Ruckgabewert:
scatter : WITHIN-class scatter if ONE class is given
: BETWEEN-class scatter if TWO classes are given
A.0.4. knn knnmex. k-Nearest-Neigbour Klassikator
Aufruf :
[tstY distance] = knnmex(trnX, trnY, tstX, k=1, distnorm=L
2
)
Parameter:
trnX : Merkmalsvektoren der Trainingsdaten
trnY : Klassenlabel der Trainingsdaten
tstX : Testdaten
k : k-Nachbarn ber ucksichtigen
Ruckgabewerte:
tstY : Antwort des Klassikators auf Testdaten tstX
distance : Distanzen zu nachstem Nachbarn
22 VOLKER GERDES & SVEN ESMARK
Literatur
[BSB
+
96] Volker Blanz, Bernhard Scholkopf, Heinrich H. Bultho, Chris Burges,
Vladimir Vapnik, and Thomas Vetter. Comparison of view-based object
recognition algorithms using realistic 3d models. In ICANN, pages 251
256, 1996.
[Gun] S. R. Gunn. Matlab support vector machines toolbox.
[LR] Yann LeCun (AT+T Labs-Research). The mnist database of handwrit-
ten digits. www.research.att.com/???, ???
[Pla99] John C. Platt. Probabilistic outputs for support vector machines and
comparison to regularized likelihood methods. In Bernhard Scholkopf
Dale Schuurmans Alexander J. Smola, Peter Bartlett, editor, Advances
in Large Margin Classiers. MIT Press, 1999.
[TGD95] Ghulum Bakiri Thomas G. Dietterich. Solving multiclass learning pro-
blems via error-correction output codes. Journal of Articial Intelligence
Research 2, pages 263286, 1995.
[Vap95] Vladimir N. Vapnik. The Nature of Statistical Learning Theory. AT+T
Labs Research, Red Bank, NJ, 1995.
E-mail address: gerdes@cs.uni-bonn.de, nc-esmarksv@netcologne.de