stützvektormethode (svm)
DESCRIPTION
Stützvektormethode (SVM). Maximieren der Breite einer separierenden Hyperebene – maximum margin method Transformation des Datenraums durch Kernfunktion Strukturelle Risikominimierung Vladimir Vapnik „The Nature of Statistical Learning Theory“ Springer Vg. 1995 - PowerPoint PPT PresentationTRANSCRIPT
Universität Dortmund
1
Stützvektormethode (SVM)• Maximieren der Breite einer separierenden
Hyperebene – maximum margin method• Transformation des Datenraums durch Kernfunktion• Strukturelle Risikominimierung
• Vladimir Vapnik „The Nature of Statistical Learning Theory“ Springer Vg. 1995
• W.N. Wapnik, A. Tscherwonenkis „Theorie der Zeichenerkennung“ Akademie Vg. 1979
• Christopher Burges "A Tutorial on Support Vector Machines for Pattern Recognition" in: Data Mining and Knowledge Discovery2, 1998, 121-167
Universität Dortmund
2
Erinnerung: Funktionslernen Gegeben:Beispiele X in LE
– die anhand einer Wahrscheinlichkeitsverteilung P auf X erzeugt wurden und
– mit einem Funktionswert Y = t(X) versehen sind (alternativ: Eine Wahrscheinlichkeitsverteilung P(Y|X) der möglichen Funktionswerte).
H die Menge von Funktionen in LH.Ziel: Eine Hypothese h(X) H, die das erwartete Fehlerrisiko
R(h) minimiert.
Risiko:
x
xPhxQhR )(),()(
Universität Dortmund
3
Beispiel: Funktionenlernen
• H = { fa | fa(x) = 1 für x a, fa(x) = -1 sonst, a}• R(f0) = 0,25 + 0 + 0,20 = 0,45• R(f1,5) = 0 + 0 + 0,20 = 0,20• R(f3,5) = 0 + 0,5 + 0,05 = 0,55
1 2 3
50%
0%
0%
25%
5%
20%
Universität Dortmund
4
Reale Beispiele• Klassifikation: Q(x,h) = 0, falls t(x) = h(x),
1 sonst– Textklassifikation (x = Worthäufigkeiten)– Handschriftenerkennung (x = Pixel in Bild)– Vibrationsanalyse in Triebwerken (x = Frequenzen)– Intensivmedizinische Therapie (x = Vitalzeichen)
• Regression: Q(x,h) = (t(x)-h(x))2
– Zeitreihenprognose (x = Zeitreihe, t(x) = nächster Wert)
Universität Dortmund
5
Erinnerung: Minimierung des beobachteten Fehlers
Funktionslernaufgabe nicht direkt lösbar. Problem:• Die tatsächliche Funktion t(X) ist unbekannt.• Die zugrunde liegende Wahrscheinlichkeit ist unbekannt.
Ansatz:• eine hinreichend große Lernmenge nehmen und für diese
den Fehler minimieren.
Empirical Risk Minimization
Universität Dortmund
6
Beispiel
Universität Dortmund
7
Beispiel II
Universität Dortmund
8
Probleme der ERM• Aufgabe ist nicht eindeutig beschrieben: Mehrere
Funktionen mit minimalem Fehler existieren. Welche wählen?
• Overfitting: Verrauschte Daten und zu wenig Beispiele führen zu falschen Ergebnissen.
Universität Dortmund
9
Beispiel III
Universität Dortmund
10
Einführung• Bernhard Schölkopf, Alexander Smola „Learning
with Kernels“ MIT Press 2002• Zwei-Klassen-Problem:
– Trainingsdaten (x1, y1), ..., (xm, ym), xmX, ym {+1, -1}– Ähnlichkeit eines neuen xi bestimmt yi
– Ähnlichkeitsmaß k: X X (x, x‘) k(x, x‘)z.B. Skalarprodukt x*x‘:= [x]i [x‘]i
Universität Dortmund
11
Grundbegriffe• Skalarprodukt x*y: Seien x und y Vektoren aus
• Euklidsche Länge (Betrag) eines Vektors ||x||:
• Hyperebene H: Sei w0 der Normalenvektor und b der bias
ip
ii yxyx
1
*
p
21
1
2*
p
iixxxx
0*),( bxwxbwH
Universität Dortmund
12
Warum Skalarprodukt?• Cosinus des Winkels zwischen x und x‘, wenn
beide Vektoren auf die Länge 1 normiert sind. • Abstand zwischen x und x‘ ist Länge des
Differenzvektors.• Voraussetzung: Beispiele sind Vektoren.• Überführung in einen Raum mit Skalarprodukt : XH
• Wenn X bereits ein Raum mit Skalarprodukt ist, kann nicht-lineare Abbildung auch sinnvoll sein.
Universität Dortmund
13
Einfachster Lernalgorithmus• Beispiele in einem Raum mit Skalarprodukt.• Durchschnitt einer Klasse:
in der Mitte liegt Punkt c:=(c+ + c-)/2Vektor x-c verbindetneue Beobachtung und c
• Ähnlichkeit zum Durchschnitt einer Klasse:Winkel zwischen w:=c+ - c- und x-c
• Berechnen über Skalarprodukt!
1
1
1
1
i
i
yii
yii
xm
c
xm
c
Anzahl positiver Beispiele: m+
Universität Dortmund
14
Lernalgorithmus im Bild
c+
c-w
c
xx-c
Universität Dortmund
15
Lernalgorithmus in Formeln
bcxcxsign
cccxcxsign
cccccccxcxsign
ccccxsignwcxsigny
22
22
21
21
21
21
21
2/
Universität Dortmund
16
EntscheidungsfunktionWir setzen nun die Mittelwerte für c+ und c- ein:
bxxkm
xxkm
sign
bxxm
xxm
signy
ii
ii
yii
yii
yii
yii
}{}{
}{}{
,1,1
*1*1
Die neue Beobachtung wird also mit allen Trainingsbeispielen verglichen.
Universität Dortmund
17
Fast...... wäre das schon die Stützvektormethode. Aber:• Einfach den Mittelpunkt der Beispiele einer Klasse
zu berechnen ist zu einfach, um ein ordentliches w zu bekommen.
• Man erhält so nicht die optimale Hyperebene.
Universität Dortmund
18
Die optimale Hyperebene• Beispiele heißen linear trennbar, wenn es
eine Hyperebene H gibt, die die positiven und negativen Beispiele voneinander trennt.
• H heißt optimale Hyperebene, wenn ihr Abstand d zum nächsten positiven und zum nächsten negativen Beispiel maximal ist.
• Satz: Es existiert eine eindeutig bestimmte optimale Hyperebene.
H
dd
Universität Dortmund
19
Grundbegriffe II• Der Normalenvektor steht senkrecht auf allen
Vektoren der Hyperebene. Es gilt:
RaumnegativenimxfallsHaufxfallsRaumpositivenimxfalls
bxw0
00
*
Universität Dortmund
20
Bild
w
w*x+b=+1
w*x+b=-1
w*x+b=0Skalieren von w und b, so dass |w*x+b|=1 für alle Beispiele, die am nächsten zur Hyperebene liegen.
Universität Dortmund
21
Separierende Hyperebene• Beispiele in Form von Vektoren x aus p und
Klassifikation y=+1 (positive Beispiele) oder y=-1 (negative Beispiele) E={ [x1,y1], [x2,y2], ..., [xm,ym]}
• Separierende Hyperebene H:positive Beispiele im positiven Halbraum,negative Beispiele im negativen Halbraum,x*w+b=0 für Punkte auf der Hyperebene.
• Der Abstand von H zum Ursprung ist b / ||w|| • Die Separierbarkeit erfüllen viele Hyperebenen.
Universität Dortmund
22
Margin für separierbare Beispiele• Abstand d+ von H zum nächsten positiven Beispiel• Abstand d- von H zum nächsten negativen Beispiel• Margin: d+ + d- • H1• H2
zusammengefasst:• Der Abstand von H1 zum Ursprung ist |1-b | / ||w|| • Der Abstand von H2 zum Ursprung ist |–1-b | / ||w|| • d+ = d- = 1 / ||w|| und margin = 2 / ||w||
01*:11*11*
bxwyxybeibwxybeibwx
iii
ii
ii
Universität Dortmund
23
Margin• H1 und H2 sind parallel, haben
denselben Normalenvektor w. • Per Konstruktion liegt kein
Beispiel zwischen H1 und H2.• Um 2 / ||w|| zu maximieren,
müssen wir ||w|| minimieren.• Die Nebenbedingungen müssen
eingehalten werden:H
dd
H1
H2
01*: bwxyi ii
Universität Dortmund
24
Minimieren der Länge• Um die geometrische Breite zu maximieren,
müssen wir die Länge von w minimieren.Wir können genauso gut w*w minimieren.
• So finden wir nun eine eindeutige Hyperebene aus den vielen möglichen trennenden.
• Für alle Beispiele ist sie richtig: f(xi)>0 gdw. yi>0• Wir können sie anwenden, um neue
unklassifizierte Beobachtungen zu klassifizieren:f(x)=w*x+b das Vorzeichen gibt die Klasse an.
w1
Universität Dortmund
25
Optimierungsaufgabe• Minimiere ||w||2
• so dass für alle i gilt: f(xi) = w*xi+b 1 für yi = 1 und f(xi) = w*xi+b -1 für yi = -1
• Äquivalente Nebenbedingungen: yi*f(xi) –1 0• Konvexes, quadratisches Optimierungsproblem
eindeutig in O(n3) für n Beispiele lösbar.• Satz: ||w|| = 1/d, d = Breite der optimalen
Hyperebene bzgl. der Beispiele.
Universität Dortmund
26
Lagrange-Funktion• Sei das Optimierungsproblem gegeben, f(w) zu
minimieren unter der Nebenbedingung gi(w)0 i=1,...,m, dann ist die Lagrange-Funktion
• Dabei muss gelten• Für Ungleichheitsbedingungen werden -
Multiplikatoren eingeführt, Gleichheitsbedingungen werden direkt eingesetzt.
• Es ist leichter, Vektor zu bestimmen, als direkt nach der Erfüllung der Bedingungen zu suchen.
m
iii wgwfwL
1
)()(),(
0i
Universität Dortmund
27
Optimierungsfunktion als Lagrange• Minimiere L(w,b,)!
• Eine optimale Lösung zeichnet sich durch die folgenden notwendigen Bedingungen an aus:
• L soll bezüglich w und b minimiert, bezüglich maximiert werden.
1*21),,(
1
2
bwxywbwL ii
m
ii
ii
m
ii xyw
1
01
i
m
ii y
Universität Dortmund
28
Karush-Kuhn-Tucker Bedingungen• Für das primale Optimierungsproblem gelten die KKT Bedingungen gdw. w, b, die Lösung ist.
i Beispiele, v Attribute der Beispiele=Komponenten der Vektoren
01*:0:
01*
0),,(
,...,10),,( ,
bxwyii
bwxy
ybwLb
dvxywbwLw
iii
i
ii
iii
iviiiv
v
Universität Dortmund
29
Duales Problem• Die Gleichheitsbedingungen werden in L(w,b,)
eingesetzt. • Der duale Lagrange-Ausdruck L() soll maximiert
werden.• Das Minimum des ursprünglichen
Optimierungsproblems tritt genau bei jenen Werten von w,b, auf wie das Maximum des dualen Problems.
Universität Dortmund
30
Anschaulich?• Wir wollen w minimieren, also w=0, also Minimum
von w in Richtung des Gradienten suchen.• Die Nebenbedingungen sind entweder weit ab oder
der auf ihnen liegende nächste Punkt zum Minimum gibt das Minimum unter Einhaltung der Nebenbedingungen an.
Yi(w*xi+b)=1
unbeschränkt Nebenbedingung beschränkt
Universität Dortmund
31
Umformung
m
ii
m
iiii
m
ii
m
iii
m
iiii
m
iiii
m
ii
ii
m
ii
wxyww
bywxyww
bwxyww
bwxyww
11
111
11
1
**21
**21
**21
1**21
Bei gutem muss gelten
m
iii y
1
0
Universität Dortmund
32
Umformung II• Es gilt für optimalen Vektor wir
ersetzen
• Mit den Nebenbedingungen:
und i0
m
iiii xyw
1
m
iii y
1
0
m
i
m
jjijiji
m
ii
m
ii
m
i
m
jjijiji
m
i
m
jjijiji
m
ii
m
iiii
xxyy
xxyyxxyy
wxyww
1 11
11 11 1
11
*21
**21
**21
Universität Dortmund
33
SVM Optimierungsproblem• Maximiere
unter 0 i für alle i und iyi = 0
• Für jedes Beispiel gibt es ein in der Lösung.– 0 = i heißt, dass das Beispiel xi im passenden Halbraum liegt.– 0 < i heißt, dass das Beispiel xi auf H1 oder H2 liegt (Stützvektor).
• Es gilt w = iyixi, – Also f(x) = iyi(xi*x)+b– Also ist der beste Normalenvektor w eine
Linearkombination von Stützvektoren (i0).
n
i
n
jjijiji
n
ii xxyyL
1 121
1
)(
Universität Dortmund
34
Was wissen wir jetzt?• Maximieren des Margins einer Hyperebene ergibt
eine eindeutige Festlegung der optimalen trennenden Hyperebene.
• Dazu minimieren wir die Länge des Normalenvektors w.– Formulierung als Lagrange-Funktion– Formulierung als duales Optimierungsproblem
• Das Lernergebnis ist eine Linearkombination von Stützvektoren.
• Mit den Beispielen müssen wir nur noch das Skalarprodukt rechnen.
Universität Dortmund
35
Nicht linear trennbare Daten• In der Praxis sind linear
trennbare Daten selten.• 1. Ansatz: Entferne eine
minimale Menge von Datenpunkten, so dass die Daten linear trennbar werden (minimale Fehlklassifikation).
• Problem: Algorithmus wird exponentiell.
?
Universität Dortmund
36
Weich trennende Hyperebene• Wähle C>0 und minimiere
• so dass für alle i gilt: f(xi) = w*xi+b 1-i für yi = 1 und f(xi) = w*xi+b -1+i für yi = -1
• Äquivalent: yi*f(xi) 1- i
n
iiCw
1
2
+1 f
Universität Dortmund
37
Bedeutung von und
f(x)=0 f(x)=1f(x)=-1
=0, =0
>1, =C0<<1, 0<<C
=0, 0<C
Beispiele xi mit i>0 heißen Stützvektoren SVM
Universität Dortmund
38
Was wissen wir jetzt?• Funktionslernen als allgemeine Lernaufgabe• Minimierung des empirischen Risikos als
Lösungsstrategie• Optimale Hyperebene präzisiert die ERM• Praxis: weich trennende Hyperebene• Berechnung mittels SVM und dualem Problem