stützvektormethode (svm)

Post on 18-Mar-2016

46 Views

Category:

Documents

3 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

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

top related