Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support...

48
Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS 2002/03

Transcript of Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support...

Page 1: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

Lehrstuhl für künstliche Intelligenz

Support Vector Machines

Stefan RüpingVorlesung Maschinelles Lernen und Data Mining, WS 2002/03

Page 2: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

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: EineWahrscheinlichkeitsverteilung P(Y|X) der möglichen Funktionswerte -verrauschte Daten).

H die Menge von Funktionen in LH.

Ziel: Eine Hypothese h(X) ∈ H, die das erwartete Fehlerrisiko R(h) minimiert.

Risiko: ∑=x

xPhxQhR )(),()(

Page 3: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

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%

Page 4: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

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 Alarmfunktion (x = Vitalzeichen)

• Regression: Q(x,h) = (t(x)-h(x)))2

– Zeitreihenprognose (x = Zeitreihe, t(x) = nächster Wert)

Page 5: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

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

Page 6: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

Beispiel

Page 7: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

Beispiel II

Page 8: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

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.

Page 9: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

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

Page 10: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

Berechnung der opt. Hyperebene

• Hyperebene H = {x | w*x+b = 0}

• H trennt (xi,yi), yi∈{±1}• H ist optimale

Hyperebene

• Entscheidungsfunktion f(x) = w*x+b

• f(xi) > 0 ⇔ yi > 0• ||w|| minimal und

f(xi) ≥ 1, wenn yi = 1f(xi) ≤ -1, wenn yi = -1

+1

-1

fH

Page 11: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

Optimierungsaufgabe der SVM

• Minimiere ||w||2

• so dass für alle i gilt:f(xi) = w*xi+b ≥ 1 für yi = 1 undf(xi) = w*xi+b ≤ -1 für yi = -1

• Äquivalente Nebenbedingung: yi*f(xi) ≥ 1• Konvexes, quadratisches Optimierungs-problem

⇒ eindeutig in O(n3) lösbar.• Satz: ||w|| = 1/d, d = Abstand der optimalen

Hyperebene zu den Beispielen.

Page 12: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

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.

?

Page 13: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

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 undf(xi) = w*xi+b ≤ -1+ξi für yi = -1

• Äquivalent: yi*f(xi) ≥ 1- ξi

∑=

+n

iiCw

1

+1 fξ

ξ

Page 14: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

Duales Optimierungsproblem

• Umformung mit Lagrange-Multiplikatoren liefert einfacheres Optimierungsproblem:

• Maximiere

• unter 0 ≤ αi ≤ C für alle i und ∑αiyi = 0• Es gilt w = ∑αiyixi, also f(x) = ∑αiyi(xi*x)+b

( )∑∑∑= ==

∗−=n

i

n

jjijiji

n

ii xxyyW

1 121

1

)( αααα

Page 15: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

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

Page 16: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

Optimierungsalgorithmus

s = Gradient von W(α) // si = ∑αj(xj*xi)while(nicht konvergiert(s)) // auf ε genau

WS = working_set(s) // suche k „gute“ Variablenα‘ = optimiere(WS) // k neue α-Wertes = update(s, α‘) // s = Gradient von W(α‘)

• Gradientensuchverfahren• Trick: Stützvektoren allein definieren Lösung• Weitere Tricks: Shrinking, Caching von xi*xj

Page 17: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

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• Offene Fragen: Generelles Prinzip hinter der

optimalen Hyperebene? Nicht lineare Daten?

Page 18: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

Beispiel: TextklassifikationTo: [email protected]

dortmund.de

Subject: Astonishing Guaranteed XXX Pictures FREE! Gao

In the next 2 minutes you are going to learn how to get access to totally FREE xxxpictures. Let me show you the secrets I have learned toget FREE porn passwords.Indeed, with this in mind lets take a quick look below tosee what you get, ok?

1 astonishing3 free2 in

?2 pictures1 porn0 SVM5 to0 university2 XXX

0.10.40.0?

0.21.1

-0.60.0

-0.40.9

SVM

*> 0

Page 19: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

TCat-Modell

• Typische Dimension: 10.000 – 100.000• SVM lernt ohne Vorauswahl von Wörtern!• Text-Categorisierungs-Model:

positive Dokumente

negative Dokumente

Page 20: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

Beispiel: Intensivmedizin

• Vitalzeichen von Intensivpatienten

• Alarm geben oder nicht?

• Hohe Genauigkeit

• Verständlichkeit?

===

=====

−−−

= 368.4

00.1500.1300.26

00.7900.8

00.12100.8600.174

177.0134.0026.0016.0015.0001.0

019.0014.0

)(

MMpapmnpapdiapapsys

hrcvp

artmnartdiaartsys

xf

Page 21: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

Bias-Varianz-Problem

• Zu kleiner Hypothesenraum: Zielfunktion nicht gut genug approximierbar (Bias)

• Zu großer Hypothesenraum: Zuviel Einfluß zufälliger Abweichungen (Varianz)

• Lösung: Minimiere obere Schranke des Fehlers:R(h) ≤η Remp(h) + Var(h)

Page 22: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

Strukturelle Risikominimierung

1. Ordne die Hypothesen in Teilmenge gemäß ihrer Komplexität

2. Wähle in jeder Teil-menge die Hypothese mit dem geringsten empirischen Fehler

3. Wähle insgesamt die Hypothese mit minimaler Risikoschranke

Komplexität

Schranke(h) = Remp(h) + Var(h)

Page 23: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

Vapnik-Chervonenkis-Dimension

• Definition: Eine Menge H von Hypothesen zerschmettert eine Menge E von Beispielen, wenn jede Teilmenge von E durch ein h∈H abgetrennt werden kann.

• Definition: Die VC-Dimensioneiner Menge von HypothesenH ist die maximale Anzahl von Beispielen E, die von H zerschmettert wird.

Page 24: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

VC-Dimension von HyperebenenSatz: Die VC-Dimension der

Hyperebenen im Rn ist n+1.Beweis:• VCdim(Rn) ≥ n+1: Wähle x0 = 0 und

xi = (0,...,0,1,0,...0). Für eine beliebige Teilmenge A von (x0,...,xn) setze yi = 1, falls xi ∈ A und yi = –1 sonst. Definiere w = ∑ykxk und b = y0/2. Dann gilt wx0+b = y0/2 und wxi+b = yi+y0/2. Also: wx+b trennt A.

• VCdim(Rn) ≤ n+1: Zurückführen auf die beiden Fälle rechts.

Page 25: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

VC-Dim. und Anzahl der Parameter

• Setze fα(x) = cos(αx) und xi = 10-i, i=1...l. Wähle yi∈{-1,1}. Dann gilt für α=π(∑1/2(1-yi)10i):

−=

−= ∑∑

=

−−

=

l

i

kii

kl

i

iik yyx

121

121 10)1(1010)1( ππα

−+−+−= ∑∑

+=

−−

=

−l

ki

kiik

k

i

kii yyy

121

21

1

121 10)1()1(10)1(π

Vielfaches von 20 ≤ ∑… ≤ 10-1+10-2+ …=1/9(geometrische Reihe)

Page 26: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

VC-Dim. und Anzahl der Parameter⇒ cos(αxk)=cos(πz) mit z∈[0,1/9] für yk=1 und z∈[1,10/9] für yk=-1

⇒ cos(αx) zerschmettert x1,...xl

⇒ cos(αx) hat unendliche VC-Dimension

⇒ Die VC-Dimension ist unabhängig von der Anzahl der Parameter!

π 2π 3π1/9

cos

Page 27: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

VC-Dimension der SVM

• Gegeben seien Beispiele x1,...,xl∈ℜn mit ||xi|| < D für alle i. Für die VC-Dimension der durch den Vektor w gegebenen optimalen Hyperebene h gilt:

VCdim(h) ≤ min{D2 ||w||2, n}+1• Die Komplexität einer SVM ist nicht nur durch

die Dimension der Daten beschränkt (Fluch der hohen Dimension), sondern auch durch die Struktur der Lösung!

Page 28: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

Wozu die ganze Theorie?

Erwartetes Risiko R(h)

Empirisches Risiko Remp(h)

h fest n → ∞

SRMh : Rsrm(h) = minh‘ Rsrm(h‘)

Optimale Hypotheseh : R(h) = minh‘ R(h‘)n → ∞

Optimale Hypotheseh : R(h) = minh‘ R(h‘)

ERMh : Remp(h) = minh‘ Remp(h‘) n → ∞

Löse ich überhaupt das Lernproblem? SRM garantiert dies!

Page 29: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

Was wissen wir jetzt?

• Idee der strukturellen Risikominimierung:– obere Schranke für das Risiko– Schrittweise Steigerung der Komplexität

• Formalisierung der Komplexität: VC-Dimension• SRM als Prinzip der SVM• Garantie für die Korrektheit der Lernstrategie• Offene Frage: Nützlichkeit für die Praxis?

Page 30: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

Performanzschätzer

• Welches erwartete Risiko R(h) erreicht SVM?• R(h) selbst nicht berechenbar• Trainingsfehler (zu optimistisch – Overfitting)• Obere Schranke mittels VC-Dimension (zu

locker)• Kreuzvalidierung / Leave-One-Out-Schätzer

(ineffizient)

Page 31: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

Performanzschätzer II

• Satz: Der Leave-One-Out-Fehler einer SVM ist beschränkt durch Rl1o ≤ |SV| / n

• Beweis: Falsch klassifizierte Beispiele werden Stützvektoren. Also: Nicht-Stützvektoren werden korrekt klassifiziert. Weglassen eines Nicht-Stützvektors ändert die Hyperebene nicht, daher wird es auch beim l1o-Test richtig klassifiziert.

Page 32: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

Performanzschätzer III

• Satz: Der Leave-One-Out-Fehler einer SVM ist beschränkt durch Rl1o ≤ |{i : (2αiD2+ξi)≥1}| / n(D = Radius des Umkreises um die Beispiele).

• Beweis: Betrachte folgende drei Fälle:

ξ=0, α=0

ξ>1, α=C 0<ξ<1, 0<α<C

Page 33: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

Nicht-lineare Daten

Page 34: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

Nicht-lineare Daten

Was tun?• Neue SVM-Theorie entwickeln? (Neeee!)• Lineare SVM benutzen? („If all you‘ve got is a

hammer, every problem looks like a nail“)• Transformation in lineares Problem!

x1

x2

(x1)2

x2

Φ(x1,x2) = (x12,x2)

Page 35: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

Kernfunktionen

• Erinnerung:

f(x) = ∑αiyi(xi*x)+b• SVM hängt von x nur über Skalarprodukt x*x‘ ab.• Ersetze Transformation Φ und Skalarprodukt *

durch Kernfunktion K(x1,x2) = Φ(x1)*Φ(x2)

( )∑∑∑= ==

∗−=n

i

n

jjijiji

n

ii xxyyW

1 121

1

)( αααα

X Z ℜ

K

Φ *

Page 36: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

Kernfunktionen II

• Angabe von Φ nicht nötig, einzige Bedingung: Kernmatrix (K(xi,xj))i,j=1...n muss positiv definit sein.

• Radial-Basisfunktion: K(x,y) = exp(-γ||x-y||2)• Polynom: K(x,y) = (x*y)d

• Neuronale Netze: K(x,y) = tanh(a⋅x*y+b)• Konstruktion von Spezialkernen durch Summen

und Produkte von Kernfunktionen, Multiplikation mit positiver Zahl, Weglassen von Attributen

Page 37: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

Polynom-Kernfunktionen

• Kd(x,y) = (x*y)d

• Beispiel: d=2, x,y∈ℜ2. K2(x,y) = (x*y)2

= ((x1,x2)*(y1,y2))2 = (x1y1+x2y2)2

= x12y1

2+2x1y1x2y2+x22y2

2

= (x12,√2x1x2,x2

2)*(y12,√2y1y2,y2

2) =: Φ(x)*Φ(y)

Page 38: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

RBF-Kernfunktion

xx0

exp(-1⋅|x-x0|2)

xx0

exp(-10⋅|x-x0|2)

Page 39: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

SVMs für Regression

• Minimiere

• so dass für alle i gilt:f(xi) = w*xi+b ≤ yi +ε +ξi* undf(xi) = w*xi+b ≥ yi - ε - ξi

++ ∑∑

==

n

ii

n

iiCw

1

*

1

2 ξξ

f(x)

ξi* f(x)-ε

f(x)+ε

Page 40: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

Verlustfunktion

Q

f(x)-y-ε +ε

lineare Verlustfunktion quadratische Verlustfunktion

Q

f(x)-y

Page 41: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

Duales Optimierungsproblem

• Maximiere

• unter 0 ≤ αi,αi* ≤ C für alle i und ∑αi* = ∑αi

• Mit yi∈{-1,+1}, ε=0 und αi=0 für yi=1 und αi*=0 für yi=-1 , erhält man die Klassifikations-SVM!

∑∑∑===

−−−+−−=n

jijijjii

n

iii

n

iiii xxKyW

1,

**21

1

*

1

* ),())(()()()( ααααααεααα

Page 42: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

Beispiel: Prognose von Zeitreihen

80

100

120

140

160

180

200

220

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 94 97 100

Fenster Horizont

Page 43: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

Prognose von Zeitreihen

• Trend• Zyklen• Besondere Ereignisse (Weihnachten,

Werbung, ...)• Wieviel vergangene Beobachtungen?• Ausreißer

Page 44: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

SVMs und Datenbanken

• Sehr große Datenmengen (mehrere GB)• Datenbanken sind nicht auf numerische

Operationen optimiert• 3 Ansätze:

– Daten aus der Datenbank herausziehen– Inkrementelles Lernen– Verarbeitung intern in Datenbank

Page 45: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

Inkrementelle SVMs

• Platzbedarf der Kernmatrix quadratisch• Idee: Schrittweises Lernen auf Teilmengen

SVs1

Dat. 1

SVM 1

SVs2

Dat. 2

SVM 2

SVs3

Dat. 3

SVM 3

SVs4

Dat. 4

SVM 4

Ergebnis

Page 46: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

SVMs in Datenbanken

• Zugriff auf Daten geschieht über Kernfunktion• Cache der Zeilen der Kernmatrix• Berechnung der Kernfunktion als SQL-Abfrage• Beobachtung: Gebräuchliche Kernfunktionen

basieren auf Skalarprodukt oder Abstand

Optimierung

Datenbank

Cache

Working-Set Iteration

Page 47: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

Kernfunktion in SQL• SELECT

x1.att_1 * x2.att_1 + … + x1.att_d * x2.att_d FROM examples_table x1, examples_table x2 WHERE x1.index = i and x2.index = j

• SELECT <kernel term>FROM examples_table x1, examples_table x2WHERE x1.index = I

• SELECT <kernel term>FROM examples_table x1, examples_table x2, free_examples f WHERE x1.index = i AND x2.index = f.index

• Weitere Optimierung durch Ausnutzen der relationalen Struktur imCache möglich.

Page 48: Support Vector Machines -  · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support Vector Machines Stefan Rüping Vorlesung Maschinelles Lernen und Data Mining, WS

Universität Dortmund

Was man über SVMs wissen muss

• Funktionenlernen – ERM – SRM• Optimale Hyperebene: Definition,

Berechnung, harte und weiche Trennung• Nicht-Linearität durch Kernfunktionen• Idee der SRM, VC-Dimension• Schätzung der Performanz• Idee der Regressions-SVM