• Keine Ergebnisse gefunden

Wissensentdeckung in Datenbanken Support Vector Machine Nico Piatkowski und Uwe Ligges

N/A
N/A
Protected

Academic year: 2022

Aktie "Wissensentdeckung in Datenbanken Support Vector Machine Nico Piatkowski und Uwe Ligges"

Copied!
45
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

SVM

Wissensentdeckung in Datenbanken

Support Vector Machine

Nico Piatkowski und Uwe Ligges

Informatik—Künstliche Intelligenz Computergestützte Statistik Technische Universität Dortmund

30.05.2017

(2)

SVM

Überblick

Was bisher geschah...

Modellklassen Verlustfunktionen

Numerische Optimierung Regularisierung

Überanpassung SQL, Häufige Mengen Klassifikation

Heute

SVM

(3)

SVM

Überblick

Was bisher geschah...

Modellklassen Verlustfunktionen

Numerische Optimierung Regularisierung

Überanpassung SQL, Häufige Mengen Klassifikation

Heute

SVM

(4)

-12 -10 -8 -6 -4 -2 0 2 4 6

-2 -1 0 1 2 3 4 5 6

x 2

x

SVM

Klassifikation mit Hyperebenen

(5)

-12 -10 -8 -6 -4 -2 0 2 4 6

-2 -1 0 1 2 3 4 5 6

x 2

x

SVM

Klassifikation mit Hyperebenen

(6)

-12 -10 -8 -6 -4 -2 0 2 4 6

-2 -1 0 1 2 3 4 5 6

x 2

x

SVM

Klassifikation mit Hyperebenen

(7)

-12 -10 -8 -6 -4 -2 0 2 4 6

-2 -1 0 1 2 3 4 5 6

x 2

x

SVM

Klassifikation mit Hyperebenen

(8)

-12 -10 -8 -6 -4 -2 0 2 4 6

-2 -1 0 1 2 3 4 5 6

x 2

x

SVM

Klassifikation mit Hyperebenen

(9)

-12 -10 -8 -6 -4 -2 0 2 4 6

-2 -1 0 1 2 3 4 5 6

x 2

x

SVM

Klassifikation mit Hyperebenen

(10)

-12 -10 -8 -6 -4 -2 0 2 4 6

-2 -1 0 1 2 3 4 5 6

x 2

x

SVM

Klassifikation mit Hyperebenen

(11)

-12 -10 -8 -6 -4 -2 0 2 4 6

-2 -1 0 1 2 3 4 5 6

x 2

x

SVM

Klassifikation mit Hyperebenen

(12)

-12 -10 -8 -6 -4 -2 0 2 4 6

-2 -1 0 1 2 3 4 5 6

x 2

x

SVM

Klassifikation mit Hyperebenen

(13)

-12 -10 -8 -6 -4 -2 0 2 4 6

-2 -1 0 1 2 3 4 5 6

x 2

x

SVM

Klassifikation mit Hyperebenen

(14)

-12 -10 -8 -6 -4 -2 0 2 4 6

-2 -1 0 1 2 3 4 5 6

x 2

x

SVM

Klassifikation mit Hyperebenen

(15)

SVM

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 ))

sign ( β 0 + ⟨ β, x ⟩) = ⎧⎪⎪⎪ ⎪⎨

⎪⎪⎪⎪ ⎩

+ 1 β 0 > −∥ β ∥ 2 ∥ x ∥ 2 cos ∢( β, x )

− 1 β 0 < −∥ β ∥ 2 ∥ x ∥ 2 cos ∢( β, x ) 0 sonst

∥ x ∥ 2 durch Daten bestimmt, β 0 und β werden gelernt

(16)

SVM

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 ))

sign ( β 0 + ⟨ β, x ⟩) = ⎧⎪⎪⎪ ⎪⎨

⎪⎪⎪⎪ ⎩

+ 1 β 0 > −∥ β ∥ 2 ∥ x ∥ 2 cos ∢( β, x )

− 1 β 0 < −∥ β ∥ 2 ∥ x ∥ 2 cos ∢( β, x ) 0 sonst

∥ x ∥ 2 durch Daten bestimmt, β 0 und β werden gelernt

(17)

SVM

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 ))

sign ( β 0 + ⟨ β, x ⟩) = ⎧⎪⎪⎪ ⎪⎨

⎪⎪⎪⎪ ⎩

+ 1 β 0 > −∥ β ∥ 2 ∥ x ∥ 2 cos ∢( β, x )

− 1 β 0 < −∥ β ∥ 2 ∥ x ∥ 2 cos ∢( β, x ) 0 sonst

∥ x ∥ 2 durch Daten bestimmt, β 0 und β werden gelernt

(18)

SVM

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 ))

sign ( β 0 + ⟨ β, x ⟩) = ⎧⎪⎪⎪ ⎪⎨

⎪⎪⎪⎪ ⎩

+ 1 β 0 > −∥ β ∥ 2 ∥ x ∥ 2 cos ∢( β, x )

− 1 β 0 < −∥ β ∥ 2 ∥ x ∥ 2 cos ∢( β, x ) 0 sonst

∥ x ∥ 2 durch Daten bestimmt, β 0 und β werden gelernt

(19)

SVM

Hyperebenenbestimmung als Optimierungsproblem (I)

Datensatz D = {( y 1 , x 1 ) , ( y 2 , x 2 ) , . . . , ( y N , x N )}

Idealisiert:

min β 0 ,β

1 2 ∥ β ∥ 2 2

s.t. y i = sign ( β 0 + ⟨ β, x i ⟩) ∀ 1 ≤ i ≤ N Pragmatisch:

min β 0 ,β

1 2 ∥ β ∥ 2 2

s.t. y i ( β 0 + ⟨ β, x i ⟩) ≥ 1 ∀ 1 ≤ i ≤ N

(20)

SVM

Hyperebenenbestimmung als Optimierungsproblem (I)

Datensatz D = {( y 1 , x 1 ) , ( y 2 , x 2 ) , . . . , ( y N , x N )}

Idealisiert:

min β 0 ,β

1 2 ∥ β ∥ 2 2

s.t. y i = sign ( β 0 + ⟨ β, x i ⟩) ∀ 1 ≤ i ≤ N Pragmatisch:

min β 0 ,β

1 2 ∥ β ∥ 2 2

s.t. y i ( β 0 + ⟨ β, x i ⟩) ≥ 1 ∀ 1 ≤ i ≤ N

(21)

SVM

Hyperebenenbestimmung als Optimierungsproblem (I)

Datensatz D = {( y 1 , x 1 ) , ( y 2 , x 2 ) , . . . , ( y N , x N )}

Idealisiert:

min β 0 ,β

1 2 ∥ β ∥ 2 2

s.t. y i = sign ( β 0 + ⟨ β, x i ⟩) ∀ 1 ≤ i ≤ N Pragmatisch:

min β 0 ,β

1 2 ∥ β ∥ 2 2

s.t. y i ( β 0 + ⟨ β, x i ⟩) ≥ 1 ∀ 1 ≤ i ≤ N

(22)

-12 -10 -8 -6 -4 -2 0 2 4 6

-2 -1 0 1 2 3 4 5 6

x 2

x

SVM

Klassifikation mit Hyperebenen

(23)

-12 -10 -8 -6 -4 -2 0 2 4 6

-2 -1 0 1 2 3 4 5 6

x 2

x

SVM

Klassifikation mit Hyperebenen

(24)

-6 -4 -2 0 2 4 6

-3 -2 -1 0 1 2 3 4 5 6

x 2

x

SVM

Klassifikation mit Hyperebenen (nicht trennbar)

(25)

SVM

Klassifikation als Optimierungsproblem (II)

min

β 0 ,β,ζ

1

2 ∥ β ∥ 2 2 + C

N

i = 1

ζ i

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 ⟩)}

(26)

SVM

Klassifikation als Optimierungsproblem (II)

min

β 0 ,β,ζ

1

2 ∥ β ∥ 2 2 + C

N

i = 1

ζ i

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 ⟩)}

(27)

SVM

Klassifikation als Optimierungsproblem (III)

ζ i = max { 0, 1 − y i ( β 0 + ⟨ β, x i ⟩)}

Einsetzen in Zielfunktion:

min β 0 ,β

1

2 ∥ β ∥ 2 2 + C

∑ N i = 1

max { 0, 1 − y i ( β 0 + ⟨ β, x i ⟩)

Minimierung der l 2 -regularisierten Hinge-Verlustfunktion Hinge ( β 0 ,β; D)+ λR 2 ( β ) = 1

∣D∣ ∑ ( x,y )∈D

max { 0, 1 − yf β 0 ( x )}+ λ ∥ β ∥ 2 2

(28)

SVM

Klassifikation als Optimierungsproblem (III)

ζ i = max { 0, 1 − y i ( β 0 + ⟨ β, x i ⟩)}

Einsetzen in Zielfunktion:

min β 0 ,β

1

2 ∥ β ∥ 2 2 + C

∑ N i = 1

max { 0, 1 − y i ( β 0 + ⟨ β, x i ⟩)

Minimierung der l 2 -regularisierten Hinge-Verlustfunktion Hinge ( β 0 ,β; D)+ λR 2 ( β ) = 1

∣D∣ ∑ ( x,y )∈D

max { 0, 1 − yf β 0 ( x )}+ λ ∥ β ∥ 2 2

(29)

0 0.5 1 1.5 2 2.5 3

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

Hinge(f; x , y )

y = +1 y = -1

SVM

Hinge Verlustfunktion

(30)

-6 -4 -2 0 2 4 6

-3 -2 -1 0 1 2 3 4 5 6

x 2

x

SVM

Klassifikation mit Hyperebenen (nicht trennbar)

(31)

-6 -4 -2 0 2 4 6

-3 -2 -1 0 1 2 3 4 5 6

x 2

x

SVM

Klassifikation mit Hyperebenen (nicht trennbar)

(32)

-1.5 -1 -0.5 0 0.5 1 1.5 2

-0.5 0 0.5 1 1.5 2 2.5 3

x 2

x

SVM

Nicht-linear trennbare Daten

(33)

-1.5 -1 -0.5 0 0.5 1 1.5 2

-0.5 0 0.5 1 1.5 2 2.5 3

x 2

x

SVM

Nicht-linear trennbare Daten

(34)

-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

SVM

Nicht-linear trennbare Daten

(35)

SVM

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 φ

(36)

SVM

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 φ

(37)

SVM

Optimierung mit Nebenbedingungen

Lagrange-Dualität:

min β f ( β ) s.t. g ( β ) ≥ c

min β max

α f ( β ) − α ( g ( β ) − c )

s.t. α ≥ 0

(38)

SVM

Optimierung mit Nebenbedingungen

Lagrange-Dualität:

min β f ( β ) s.t. g ( β ) ≥ c

min β max

α f ( β ) − α ( g ( β ) − c )

s.t. α ≥ 0

(39)

SVM

Duales Problem und Stützvektoren

Lagrange-Dual der SVM:

max α

∑ N i = 1

α i − 1 2 α i α j

∑ N i = 1

∑ N j = 1

y i y j ⟨ φ ( x ) , φ ( x )⟩

s.t.

∑ N i = 1

α i y i = 0

0 ≤ α i ≤ C, ∀ 1 ≤ i ≤ N

Neues Problem hat “nur” N Parameter (ist das gut?) Original Gewichte: β = ∑ N i = 1 α i y i x i

Datenpunkte mit α i > 0 heißen Stützvektor (Support-Vector)

(40)

SVM

Duales Problem und Stützvektoren

Lagrange-Dual der SVM:

max α

∑ N i = 1

α i − 1 2 α i α j

∑ N i = 1

∑ N j = 1

y i y j ⟨ φ ( x ) , φ ( x )⟩

s.t.

∑ N i = 1

α i y i = 0

0 ≤ α i ≤ C, ∀ 1 ≤ i ≤ N

Neues Problem hat “nur” N Parameter (ist das gut?) Original Gewichte: β = ∑ N i = 1 α i y i x i

Datenpunkte mit α i > 0 heißen Stützvektor (Support-Vector)

(41)

SVM

Duales Problem und Stützvektoren

Lagrange-Dual der SVM:

max α

∑ N i = 1

α i − 1 2 α i α j

∑ N i = 1

∑ N j = 1

y i y j ⟨ φ ( x ) , φ ( x )⟩

s.t.

∑ N i = 1

α i y i = 0

0 ≤ α i ≤ C, ∀ 1 ≤ i ≤ N

Neues Problem hat “nur” N Parameter (ist das gut?) Original Gewichte: β = ∑ N i = 1 α i y i x i

Datenpunkte mit α i > 0 heißen Stützvektor (Support-Vector)

(42)

-12 -10 -8 -6 -4 -2 0 2 4 6

-2 -1 0 1 2 3 4 5 6

x 2

x

SVM

Klassifikation mit Hyperebenen

(43)

SVM

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

(44)

SVM

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

(45)

SVM

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)

Referenzen

ÄHNLICHE DOKUMENTE

Informatik—Künstliche Intelligenz Computergestützte Statistik Technische Universität

Erster Ordnung, mit Gradient Einfache Implementierung Geringer Ressourcenverbrauch Vergleichsweise langsame Konvergenz Zweiter Ordnung, mit Hesse-Matrix. Hoher

Relationale Datenbanken ≡ Menge von Tabellen Relationales Datenbankmanagementsystem erlaubt Anfrage und Manipulation von Daten mittels Structured Query Language (SQL).

Nutzung eine Ordnung auf den Items um jeder Transaktionen einen eindeutigen String zuzuordnen Häufigkeiten identischer Teilstrings können dann in einem Prefixbaum

Informatik—Künstliche Intelligenz Computergestützte Statistik Technische Universität Dortmund..

baumberechnung sind die empirischen (aus den Daten bestimmte) Mutual- Informations zwischen den Knoten Gefundener Baum hat minimale. Kullback-Leibler Divergenz zum optimalen

Erste Schichten: Allgemein, lokale Representation Tiefe Schichten: Spezifisch,

The Elements of Statistical Learning; 14.3.6, 14.3.7 Graphical Models, Exponential Families, and Variational Inference; Example 3.5.. Merkmalsauswahl, Greedy Selection,