Transcript Document

Seminar Machine Learning
WS 2003/04
Support Vector
Regression
Sebastian Schneegans
1
Übersicht
I.
Konzept der Support Vector Regression
Erläuterung der Problemstellung und der Lösungsideen,
Formulieren der Aufgabe als Optimierungsproblem
II. Lösen des Optimierungsproblems
Aufstellen des Lagrangepolynoms, Ermitteln der
Ebenengleichung und Anwenden des Kernel-Tricks
III. Variationen der Support Vector Regression
a) υ-SVR
b) Weitere Variationen
Support Vector Regression – Sebastian Schneegans
2
Teil I:
Konzept der Support Vector
Regression
Support Vector Regression – Sebastian Schneegans
3
Problem der Funktionsschätzung
• Gegeben:
{(x1, y1), (x2, y2), ..., (xn, yn)}, xiH, yiR
mit Skalarproduktraum H, meist H = Rd
Unabhängig und identisch verteilt nach einer
Wahrscheinlichkeitsverteilung P(x, y)
• verrauschte Funktion x  g(x) + ω(x)
• Gesucht:
Schätzung f(x) mit minimalem Risiko
R[f] = ∫c(y, f(x)) dP(x, y)
• c: Y  Y  R Fehlerfunktion
• Da aber P(x, y) unbekannt: Minimiere empirisches Risiko mit
möglichst flacher Funktion
Support Vector Regression – Sebastian Schneegans
4
Grundidee der SVR
Übertragung der Prinzipien von SVM auf die
Funktionsschätzung:
• Lineare Approximation durch Hyperebene der Form
f(x) = w, x + b
• Repräsentation durch (wenige) Support Vectors
• Nicht-Linearität durch Kernel-Funktion
Φ(xi), Φ(xj) = k(xi, xj)
Support Vector Regression – Sebastian Schneegans
5
Geometrische Interpretation
SVM zur Klassifizierung:
y
x2
w
x1
w, x + b = 0
Support Vector Regression – Sebastian Schneegans
6
Geometrische Interpretation
SVR zur Funktionsschätzung:
y
f(x) = w, x + b
Der Vektor
w bestimmt die Steigung
der (Hyper-)Ebene.
Dies folgt aus der Linearität des Skalarprodukts:
w, x  i1 w i x i
d
x2
x1
w, x + b = 0
Der Parameter b
verschiebt die Ebene in
entlang der y-Achse.
Support Vector Regression – Sebastian Schneegans
7
Fehlerfunktion
f(x)
ε-insensitive loss:
|y – f(x)|ε = max {0, |y – f(x)| – ε}
ξi
ε
ε
ξi*
|y – f(x)|ε
x1
y i  f(x i )  ε  ξ i
f(x i )  y i  ε  ξ *i
-ε
ε
Support Vector Regression – Sebastian Schneegans
y – f(x)
8
Formulierung des
Minimierungsproblems
• Minimieren des empirischen Fehlers:
R[f] 
1
n
i1 y i  f( x i ) ε 
n
1
n
 ξ
n
i1
i
 ξ *i

• Verwendung einer möglichst flachen Funktion f(x):
minimiere
w bzw.
1
2
2
w  12 w, w
• Gewichtung der beiden Ziele zueinander durch Parameter C :

minimiere τ w , ξ
(*)

1
2
2
w C
1
n
 ξ  ξ 
n
i1
i
*
i
• Nebenbedingungen:
yi   w,xi  b   ε  ξi
 w,x
i
 b   yi  ε  ξ i *
ξi ,ξ*i  0
Support Vector Regression – Sebastian Schneegans
9
Minimierung von w bei
SVR und SVM
Kanonische Hyperebene bei SVM
zur Mustererkennung:
f(x)
yi   w, xi  b  1
1
x1
-1
x2
Support Vector Regression – Sebastian Schneegans
10
Minimierung von w bei
SVR und SVM
Kanonische Hyperebene bei SVM
zur Mustererkennung:
f(x)
yi   w, xi  b  1
1
x1
-1
x2
Je kleiner der Abstand der
separierenden Hyperebene vom
nächsten Trainingspunkt, desto
steiler muss die Funktion f(x)
verlaufen, um obige Bedingung
zu erfüllen!
Support Vector Regression – Sebastian Schneegans
11
Teil II:
Lösen des Optimierungsproblems
Support Vector Regression – Sebastian Schneegans
12
Aufstellen des Lagrange-Polynoms



w  C  1n i1 ξ i  ξ *i
n
2
minimiere τ w , ξ (*) 
1
2
Nebenbedingungen:
yi   w,x i  b   ε  ξi
 w,x
i

 b   yi  ε  ξ i *
ξ i ,ξ*i  0
Duale Formulierung: Einführen neuer Parameter αi(*) , ηi(*)  0 ,
um Nebenbedingungen in das Lagrange-Polynom zu integrieren:
L
1
2
w  C  n1  i 1  ξ i  ξ*i    i 1  ηi ξ i  η*i ξ*i 
2
n
n
 i 1 αi  ε  ξ i  yi  w,xi +b 
n
 i 1 α*i  ε  ξ*i + yi  w,xi  b 
n
(*)
Minimiere L in Bezug auf Variablen w, b, ξ und maximiere L in
(*)
(*)
Bezug auf Variablen α , η .
Support Vector Regression – Sebastian Schneegans
13
Nebenbedingen im LagrangePolynom
Die Nebenbedingung
 w, x
i
 b  yi  ε  ξ i
(*)
wird gewährleistet durch die Minimierung (bzgl. w, b, ξ ) bzw.
Maximierung (bzgl. α i ) des Terms
 i 1 αi  ε  ξ i  yi  w,xi +b 
n
< 0, wenn Bedingung verletzt
beliebig groß, wenn maximiert bzgl. α i
Zur Minimierung muss ξi die Nebenbedingung erfüllen.
Bemerke: αi wird 0 für alle Trainingspunkte innerhalb des ε-Bandes
auf Grund der KKT-Bedingungen!
Support Vector Regression – Sebastian Schneegans
14
Vereinfachen des Lagrange-Polynoms
Lösung des Minimierungs- bzw.
Maximierungsproblems ist ein Sattelpunkt,
alle partiellen Ableitungen sind hier null:
 b L   i 1  -αi +α*i   0
n
 w L  w   i 1  -αi  α*i  xi  0
n
 ξ(*) L 
i
C
m
 α*i  η*i  0
Einsetzen liefert schließlich das zu lösende Optimierungsproblem als
maximiere - 12  i,j1  αi  αi*  α j  α j*  xi ,x j
n
ε  i 1  αi  αi*    i 1 yi  α i  α i* 
n
mit
n
 α  α   0,
n
i1
i
*
i
αi(*)  0, Cn 
Support Vector Regression – Sebastian Schneegans
15
Bestimmung der Ebenengleichung
• Der Vektor w ergibt sich als Linearkombination von
Trainingsvektoren (den Support Vectors):
w   i 1  -αi  α*i  xi
n
• Der Wert von b lässt sich aus einem der SVs
bestimmen, der gerade auf dem Rand des
ε-Bandes liegt:
b  y i  w , x i  ε für ein αi  0, Cn 
b  y i  w , x i  ε für ein α*i  0, Cn 
y
(xi, yi)
ε
b
x1
• Die Funktion f(x) lässt sich nun auch ohne explizite Angabe
von w schreiben:
f  x   w,xi
 b   i 1  -αi  α*i  xi ,x  b
n
Support Vector Regression – Sebastian Schneegans
16
Nicht-Linearität durch Kernels
• Erweiterung auf nicht-lineare Funktionen durch Vorverarbeitung
der Eingaben mittels Abbildung Φ:
Φ: Χ  Η
x  x  Φ( x)
mit X: Eingaberaum,
H: Merkmalsraum (meist H = Rd)
• Beispiel:
X = R, H = R2
Φ
• Kernel-Funktion zur schnelleren Berechnung:
k ( xi , x j )  Φ( xi ), Φ( x j )
• Damit:f  x    i 1  -αi  α*i  k  xi ,x   b
n
Support Vector Regression – Sebastian Schneegans
17
Teil III:
Variationen der Support
Vector Regression
a) ν-Support Vector Regression
Support Vector Regression – Sebastian Schneegans
18
Einfluss des Parameters ε
kleines ε  kleiner empirischer Fehler
großes ε  flache Funktion, wenige SVs
Support Vector Regression – Sebastian Schneegans
[Smola98]
19
Automatische Wahl von ε: -SVR
Minimiere nun auch ε, gewichtet mit neuem Parameter :
minimiere τ  w,ξ (*) ,   
1
2

w  C    n1 i1  ξi  ξ*i 
2
n

(Nebenbedingungen wie vorher)
Proposition:
•  ist obere Schranke für den Anteil der Trainingspunkte, die
außerhalb des ε-Bandes liegen
•  ist untere Schranke für den Anteil der SVs an den
Trainingspunkten
Support Vector Regression – Sebastian Schneegans
20
Bedeutung des Parameters 
Minimieren des Teilausdrucks
 
f(x)
1
n
 ξ  ξ 
n
i1
*
i
i
Beispiel: n  10, ν  102
m1 
2
10
ε1 
1
10
 ξ  ξ 
10
i1
i
*
i
(vier Punkte außerhalb des
ε-Bandes)
ε1
ε1
x1
Support Vector Regression – Sebastian Schneegans
21
Bedeutung des Parameters 
Minimieren des Teilausdrucks
 
f(x)
1
n
 ξ  ξ 
n
i1
*
i
i
2
d Beispiel: n  10, ν  10
m1 
d
ε2
2
10
ε1 
1
10
x1
*
i
i
i1
(vier Punkte außerhalb des
ε-Bandes)
ε 2  ε1  d
ε2
 ξ  ξ 
10
m2 
2
10
ε2 
1
10
 ξ  ξ 
10
i1
i

*
i

 102 ε1  102 d  101 i1 ξ i  ξ *i  104 d
10
 m2  m1
Support Vector Regression – Sebastian Schneegans
22
Teil III:
Variationen der Support
Vector Regression
b) Weitere Variationen
Support Vector Regression – Sebastian Schneegans
23
Parametrische
Unempfindlichkeitsmodelle
• Bei verrauschten Funktionen
x  g(x) + ω(x)
ist die Stärke des Rauschens oft
abhängig von der Eingabe.
2
1.5
1
0.5
0
-0.5
-1
-1.5
-3
-2
-1
0
1
2
3
• Um dies bei der Funktionsschätzung zu berücksichtigen,
kann die Breite des ε-Bandes in Abhängigkeit von x variiert
werden: ζ( x) : Η  R
x  ζ( x)
• Die Funktion ζ(x) tritt dann in den Nebenbedingungen als
Skalierungsfaktor von ε auf:
 w, x
i
 b  yi  ζ(xi )ε  ξ i
Support Vector Regression – Sebastian Schneegans
24
Optimierung über ℓ1-Norm
x 1  i1 x i
d
• ℓ1-Norm:
• Idee: Minimiere Koeffizienten αi(*) anstelle von w ,
um flache Funktion zu erzeugen:
minimiere
1
n
 α  α   C   ξ  ξ 
n
*
i
i
i1
n
1
n
i1
i
*
i
mit Nebenbedingungen:
  α - α  k  x ,x   b  y  ε  ξ
y    α  α  k  x ,x   b  ε  ξ
n
j1
*
j
j
*
j
n
i
j1
j
*
j
i
i
j
i
i
i
αi(*) ,ξ i(*)  0
• Vorteil: Optimierung lässt sich durch lineare Programmierung
lösen (bisher quadratische Programmierung)
Support Vector Regression – Sebastian Schneegans
25
Andere Fehlerfunktionen
• An Stelle des ε-insensitive loss können auch andere
Funktionen zur Fehlermessung verwendet werden, z. B.:
c Laplace x, y, f(x)  y  f(x)
c Gauss x, y, f(x)  12 y  f(x)
2
 2σ1 y  f(x)2
c Huber x, y, f(x)  
 y  f(x)  σ2
für y  f(x)  σ
sonst
3
3
3
2.5
2.5
2.5
2
2
2
1.5
1.5
1.5
1
1
1
0.5
0.5
0.5
0
-3
-2
-1
0
1
Laplacian loss
2
3
0
-3
-2
-1
0
1
Gaussian loss
2
3
0
-3
-2
-1
0
1
2
3
Huber‘s robust loss
• Nachteil: Alle Trainingspunkte tragen zu w bei, nicht nur
wenige Support Vectors
Support Vector Regression – Sebastian Schneegans
26
Zusammenfassung
• Support Vector Regression als Übertragung der SVM auf
das Problem der Funktionsschätzung
• Lineare Regression durch Hyperebene
• Bestimmen der Ebenengleichung über
Minimierungsproblem mit Nebenbedingungen
• Duale Formulierung als Lagrange-Polynom
• Erweiterung auf nicht-linearen Fall durch Kernel-Trick
• -SVR zur einfacheren Bestimmung der Parameter
Support Vector Regression – Sebastian Schneegans
27