Beruflich Dokumente
Kultur Dokumente
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
_
+ 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
= 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