Support Vector Machines - · Universität Dortmund Lehrstuhl für künstliche Intelligenz Support...
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/1.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/2.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/3.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/4.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/5.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/6.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/7.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/8.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/9.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/10.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/11.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/12.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/13.jpg)
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ξ
ξ
![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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/14.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/15.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/16.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/17.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/18.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/19.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/20.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/21.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/22.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/23.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/24.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/25.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/26.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/27.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/28.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/29.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/30.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/31.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/32.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/33.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/34.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/35.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/36.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/37.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/38.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/39.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/40.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/41.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/42.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/43.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/44.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/45.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/46.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/47.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022050715/5d58065888c993f35b8b51b5/html5/thumbnails/48.jpg)
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