Wissensentdeckung in Datenbanken Support Vector Machine Nico Piatkowski und Uwe Ligges 30.05.2017 1 von 14
Überblick Was bisher geschah... Modellklassen Verlustfunktionen Numerische Optimierung Regularisierung Überanpassung SQL, Häufige Mengen Klassifikation Heute 2 von 14
Überblick Was bisher geschah... Modellklassen Verlustfunktionen Numerische Optimierung Regularisierung Überanpassung SQL, Häufige Mengen Klassifikation Heute 2 von 14
Klassifikation mit Hyperebenen 6 4 2 0-2 -4-6 -8-10 -12-2 -1 0 1 2 3 4 5 6 x 2 x 1 3 von 14
Klassifikation mit Hyperebenen 6 4 2 0-2 -4-6 -8-10 -12-2 -1 0 1 2 3 4 5 6 x 2 x 1 3 von 14
Klassifikation mit Hyperebenen 6 4 2 0-2 -4-6 -8-10 -12-2 -1 0 1 2 3 4 5 6 x 2 x 1 3 von 14
Klassifikation mit Hyperebenen 6 4 2 0-2 -4-6 -8-10 -12-2 -1 0 1 2 3 4 5 6 x 2 x 1 3 von 14
Klassifikation mit Hyperebenen 6 4 2 0-2 -4-6 -8-10 -12-2 -1 0 1 2 3 4 5 6 x 2 x 1 3 von 14
Klassifikation mit Hyperebenen 6 4 2 0-2 -4-6 -8-10 -12-2 -1 0 1 2 3 4 5 6 x 2 x 1 3 von 14
Klassifikation mit Hyperebenen 6 4 2 0-2 -4-6 -8-10 -12-2 -1 0 1 2 3 4 5 6 x 2 x 1 3 von 14
Klassifikation mit Hyperebenen 6 4 2 0-2 -4-6 -8-10 -12-2 -1 0 1 2 3 4 5 6 x 2 x 1 3 von 14
Klassifikation mit Hyperebenen 6 4 2 0-2 -4-6 -8-10 -12-2 -1 0 1 2 3 4 5 6 x 2 x 1 3 von 14
Klassifikation mit Hyperebenen 6 4 2 0-2 -4-6 -8-10 -12-2 -1 0 1 2 3 4 5 6 x 2 x 1 3 von 14
Klassifikation mit Hyperebenen 6 4 2 0-2 -4-6 -8-10 -12-2 -1 0 1 2 3 4 5 6 x 2 x 1 3 von 14
Hyperebenen Hier: Daten x aus R n, Klasse y aus { 1, 1} Geradengleichung: y = f β0,β(x) = β 0 + β, x Wir wissen: β, x = β 2 x 2 cos (β, x) cos (β, x) bestimmt das Vorzeichen von β, x sign( β, x ) = sign(cos (β, x)) +1 β 0 > β 2 x 2 cos (β, x) sign(β 0 + β, x ) = 1 β 0 < β 2 x 2 cos (β, x) 0 sonst x 2 durch Daten bestimmt, β 0 und β werden gelernt 4 von 14
Hyperebenen Hier: Daten x aus R n, Klasse y aus { 1, 1} Geradengleichung: y = f β0,β(x) = β 0 + β, x Wir wissen: β, x = β 2 x 2 cos (β, x) cos (β, x) bestimmt das Vorzeichen von β, x sign( β, x ) = sign(cos (β, x)) +1 β 0 > β 2 x 2 cos (β, x) sign(β 0 + β, x ) = 1 β 0 < β 2 x 2 cos (β, x) 0 sonst x 2 durch Daten bestimmt, β 0 und β werden gelernt 4 von 14
Hyperebenen Hier: Daten x aus R n, Klasse y aus { 1, 1} Geradengleichung: y = f β0,β(x) = β 0 + β, x Wir wissen: β, x = β 2 x 2 cos (β, x) cos (β, x) bestimmt das Vorzeichen von β, x sign( β, x ) = sign(cos (β, x)) +1 β 0 > β 2 x 2 cos (β, x) sign(β 0 + β, x ) = 1 β 0 < β 2 x 2 cos (β, x) 0 sonst x 2 durch Daten bestimmt, β 0 und β werden gelernt 4 von 14
Hyperebenen Hier: Daten x aus R n, Klasse y aus { 1, 1} Geradengleichung: y = f β0,β(x) = β 0 + β, x Wir wissen: β, x = β 2 x 2 cos (β, x) cos (β, x) bestimmt das Vorzeichen von β, x sign( β, x ) = sign(cos (β, x)) +1 β 0 > β 2 x 2 cos (β, x) sign(β 0 + β, x ) = 1 β 0 < β 2 x 2 cos (β, x) 0 sonst x 2 durch Daten bestimmt, β 0 und β werden gelernt 4 von 14
Hyperebenenbestimmung als Optimierungsproblem (I) Datensatz D = {(y 1, x 1 ), (y 2, x 2 ),..., (y N, x N )} Idealisiert: 1 min β 0,β 2 β 2 2 s.t. y i = sign(β 0 + β, x i ) 1 i N Pragmatisch: 1 min β 0,β 2 β 2 2 s.t. y i (β 0 + β, x i ) 1 1 i N 5 von 14
Hyperebenenbestimmung als Optimierungsproblem (I) Datensatz D = {(y 1, x 1 ), (y 2, x 2 ),..., (y N, x N )} Idealisiert: 1 min β 0,β 2 β 2 2 s.t. y i = sign(β 0 + β, x i ) 1 i N Pragmatisch: 1 min β 0,β 2 β 2 2 s.t. y i (β 0 + β, x i ) 1 1 i N 5 von 14
Hyperebenenbestimmung als Optimierungsproblem (I) Datensatz D = {(y 1, x 1 ), (y 2, x 2 ),..., (y N, x N )} Idealisiert: 1 min β 0,β 2 β 2 2 s.t. y i = sign(β 0 + β, x i ) 1 i N Pragmatisch: 1 min β 0,β 2 β 2 2 s.t. y i (β 0 + β, x i ) 1 1 i N 5 von 14
Klassifikation mit Hyperebenen 6 4 2 0-2 -4-6 -8-10 -12-2 -1 0 1 2 3 4 5 6 x 2 x 1 5 von 14
Klassifikation mit Hyperebenen 6 4 2 0-2 -4-6 -8-10 -12-2 -1 0 1 2 3 4 5 6 x 2 x 1 5 von 14
Klassifikation mit Hyperebenen (nicht trennbar) 6 4 2 x 2 0-2 -4-6 -3-2 -1 0 1 2 3 4 5 6 x 1 6 von 14
Klassifikation als Optimierungsproblem (II) 1 min β 0,β,ζ 2 β 2 2 + C N ζ i i=1 s.t. y i (β 0 + β, x i ) 1 ζ i, 1 i N ζ i 0, 1 i N Also suchen wir die kleinsten ζ i mit ζ i 1 y i (β 0 + β, x i ) und ζ i 0 für jedes 1 i N und damit ζ i = max{0, 1 y i (β 0 + β, x i )} 7 von 14
Klassifikation als Optimierungsproblem (II) 1 min β 0,β,ζ 2 β 2 2 + C N ζ i i=1 s.t. y i (β 0 + β, x i ) 1 ζ i, 1 i N ζ i 0, 1 i N Also suchen wir die kleinsten ζ i mit ζ i 1 y i (β 0 + β, x i ) und ζ i 0 für jedes 1 i N und damit ζ i = max{0, 1 y i (β 0 + β, x i )} 7 von 14
Klassifikation als Optimierungsproblem (III) Einsetzen in Zielfunktion: ζ i = max{0, 1 y i (β 0 + β, x i )} 1 min β 0,β 2 β 2 2 + C N max{0, 1 y i (β 0 + β, x i ) i=1 Minimierung der l 2 -regularisierten Hinge-Verlustfunktion Hinge(β 0, β; D)+λR 2 (β) = 1 max{0, 1 yf β0,β(x)}+λ β 2 2 D (x,y) D 8 von 14
Klassifikation als Optimierungsproblem (III) Einsetzen in Zielfunktion: ζ i = max{0, 1 y i (β 0 + β, x i )} 1 min β 0,β 2 β 2 2 + C N max{0, 1 y i (β 0 + β, x i ) i=1 Minimierung der l 2 -regularisierten Hinge-Verlustfunktion Hinge(β 0, β; D)+λR 2 (β) = 1 max{0, 1 yf β0,β(x)}+λ β 2 2 D (x,y) D 8 von 14
Hinge Verlustfunktion 3 2.5 y = +1 y = -1 Hinge(f;x,y) 2 1.5 1 0.5 0-2 -1.5-1 -0.5 0 0.5 1 1.5 2 f(x) 8 von 14
Klassifikation mit Hyperebenen (nicht trennbar) 6 4 2 x 2 0-2 -4-6 -3-2 -1 0 1 2 3 4 5 6 x 1 8 von 14
Klassifikation mit Hyperebenen (nicht trennbar) 6 4 2 x 2 0-2 -4-6 -3-2 -1 0 1 2 3 4 5 6 x 1 8 von 14
Nicht-linear trennbare Daten 2 1.5 1 x 2 0.5 0-0.5-1 -1.5-0.5 0 0.5 1 1.5 2 2.5 3 x 1 9 von 14
Nicht-linear trennbare Daten 2 1.5 1 x 2 0.5 0-0.5-1 -1.5-0.5 0 0.5 1 1.5 2 2.5 3 x 1 9 von 14
Nicht-linear trennbare Daten 0.8 0.6 0.4 0.2 0-0.2-0.4-0.6-0.8-10 -5 0 5 10 15 20 x 2 x 1 9 von 14
Nicht-lineare Trennbarkeit durch Merkmalstransformation Trennung nicht-linearer Daten durch Transformation φ R n R d φ kann jede beliebige Funktion sein Bild von φ kann höher- oder niedrig-dimensionaler als X sein φ soll möglichst einfach zu berechnen sein (!!) Daten sollen im Bildraum von φ möglichst linear trennbar sein Wo kommt φ her?? Oft: Abstand im neuen Raum einfacher zu berechnen als φ 10 von 14
Nicht-lineare Trennbarkeit durch Merkmalstransformation Trennung nicht-linearer Daten durch Transformation φ R n R d φ kann jede beliebige Funktion sein Bild von φ kann höher- oder niedrig-dimensionaler als X sein φ soll möglichst einfach zu berechnen sein (!!) Daten sollen im Bildraum von φ möglichst linear trennbar sein Wo kommt φ her?? Oft: Abstand im neuen Raum einfacher zu berechnen als φ 10 von 14
Optimierung mit Nebenbedingungen Lagrange-Dualität: min f(β) β s.t. g(β) c min β s.t. α 0 max f(β) α(g(β) c) α 11 von 14
Optimierung mit Nebenbedingungen Lagrange-Dualität: min f(β) β s.t. g(β) c min β s.t. α 0 max f(β) α(g(β) c) α 11 von 14
Duales Problem und Stützvektoren Lagrange-Dual der : s.t. max α N i=1 N α i 1 N 2 α iα j y i y j φ(x), φ(x ) i=1 α i y i = 0 0 α i C, 1 i N N i=1 j=1 Neues Problem hat nur N Parameter (ist das gut?) Original Gewichte: β = N i=1 α iy i x i Datenpunkte mit α i > 0 heißen Stützvektor (Support-Vector) 12 von 14
Duales Problem und Stützvektoren Lagrange-Dual der : s.t. max α N i=1 N α i 1 N 2 α iα j y i y j φ(x), φ(x ) i=1 α i y i = 0 0 α i C, 1 i N N i=1 j=1 Neues Problem hat nur N Parameter (ist das gut?) Original Gewichte: β = N i=1 α iy i x i Datenpunkte mit α i > 0 heißen Stützvektor (Support-Vector) 12 von 14
Duales Problem und Stützvektoren Lagrange-Dual der : s.t. max α N i=1 N α i 1 N 2 α iα j y i y j φ(x), φ(x ) i=1 α i y i = 0 0 α i C, 1 i N N i=1 j=1 Neues Problem hat nur N Parameter (ist das gut?) Original Gewichte: β = N i=1 α iy i x i Datenpunkte mit α i > 0 heißen Stützvektor (Support-Vector) 12 von 14
Klassifikation mit Hyperebenen 6 4 2 0-2 -4-6 -8-10 -12-2 -1 0 1 2 3 4 5 6 x 2 x 1 12 von 14
Kernel Trick Anstatt φ(x) für jeden x auszurechnen, Finde Funktion K, mit K(x, x ) = φ(x), φ(x ) K heißt Kernel oder Kernfunktion φ(x) (und φ(x )) muss nie explizit berechnet werden! φ muss nicht bekannt sein!! K γ,δ,... (x, x ) kann Parameter haben 13 von 14
Kernel Trick Anstatt φ(x) für jeden x auszurechnen, Finde Funktion K, mit K(x, x ) = φ(x), φ(x ) K heißt Kernel oder Kernfunktion φ(x) (und φ(x )) muss nie explizit berechnet werden! φ muss nicht bekannt sein!! K γ,δ,... (x, x ) kann Parameter haben 13 von 14
Kernfunktionen K Linear (x, x ) = x, x K Poly,k,c (x, x ) = ( x, x + c) k K Gauss,γ (x, x ) = exp ( 1 γ x x 2 2) Graph Kernel (common subgraphs, Bäume, Pfade) String Kernel (gemeinsame Zeichenketten, gemeinsame Parsebäume) 14 von 14