stützvektormethode (svm)

Post on 09-Jan-2016

40 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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 Presentation

TRANSCRIPT

Universität Dortmund

250 +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

250 +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

250 +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

250 +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

250 +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

250 +6

Beispiel

Universität Dortmund

250 +7

Beispiel II

Universität Dortmund

250 +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

250 +9

Beispiel III

Universität Dortmund

250 +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

250 +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

2

1

1

2*

p

iixxxx

0*),( bxwxbwH

Universität Dortmund

250 +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

250 +13

Einfachster Lernalgorithmus

• Beispiele in einem Raum mit Skalarprodukt.• Durchschnitt einer Klasse:

in der Mitte liegt Punkt c:=(c+ + c-)/2Vektor x-c verbindetneues Beispiel 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

250 +14

Lernalgorithmus im Bild

c+

c-

w

c

x

x-c

Universität Dortmund

250 +15

Lernalgorithmus in Formeln

bcxcxsign

cccxcxsign

cccccccxcxsign

ccccxsign

wcxsigny

22

22

2

12

1

2

1

2

1

2

12/

Universität Dortmund

250 +16

Entscheidungsfunktion

Wir 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

Das neue Beispiel wird also mit allen Trainingsbeispielen verglichen.

Universität Dortmund

250 +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

250 +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

250 +19

Grundbegriffe II

• Der Normalenvektor steht senkrecht auf allen Vektoren der Hyperebene. Es gilt:

Raumnegativenimxfalls

Haufxfalls

Raumpositivenimxfalls

bxw

0

0

0

*

Universität Dortmund

250 +20

Bild

w

w*x+b=+1

w*x+b=-1

w*x+b=0

Skalieren von w und b, so dass |w*x+b|=1 für alle Beispiele am nächsten zur Hyperebene.

Universität Dortmund

250 +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

250 +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*

bxwyx

ybeibwx

ybeibwx

iii

ii

ii

Universität Dortmund

250 +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

250 +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.

w

1

Universität Dortmund

250 +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

250 +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

250 +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*2

1),,(

1

2

bwxywbwL ii

m

ii

ii

m

ii xyw

1

01

i

m

ii y

Universität Dortmund

250 +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),,( ,

bxwyi

i

bwxy

ybwLb

dvxywbwLw

iii

i

ii

iii

iviiiv

v

Universität Dortmund

250 +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

250 +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

250 +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

**2

1

**2

1

**2

1

1**2

1

Bei gutem muss gelten

m

iii y

1

0

Universität Dortmund

250 +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

*2

1

**2

1

**2

1

Universität Dortmund

250 +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

250 +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

250 +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

250 +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

250 +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

top related