Universität Dortmund
Lehrstuhl für künstliche Intelligenz
Support Vector Machines
Stefan RüpingVorlesung Maschinelles Lernen und Data Mining, WS 2002/03
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 )(),()(
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%
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)
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
Universität Dortmund
Beispiel
Universität Dortmund
Beispiel II
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.
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
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
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.
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.
?
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
2ξ
+1 fξ
ξ
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
)( αααα
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
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
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?
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
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
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
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)
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)
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.
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.
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)
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
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!
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!
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?
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)
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.
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
Universität Dortmund
Nicht-lineare Daten
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)
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
Φ *
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
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)
Universität Dortmund
RBF-Kernfunktion
xx0
exp(-1⋅|x-x0|2)
xx0
exp(-10⋅|x-x0|2)
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)+ε
Universität Dortmund
Verlustfunktion
Q
f(x)-y-ε +ε
lineare Verlustfunktion quadratische Verlustfunktion
Q
f(x)-y
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
* ),())(()()()( ααααααεααα
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
Universität Dortmund
Prognose von Zeitreihen
• Trend• Zyklen• Besondere Ereignisse (Weihnachten,
Werbung, ...)• Wieviel vergangene Beobachtungen?• Ausreißer
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
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
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
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.
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