einf[pleaseinsertprerenderunicode{ü}intopreamble]hrung in...

70
Motivation Support Vector Machines Bilderkennung (Beispiel) Einf¨ uhrung in Support Vector Machines (SVM) Till Kroeger Januar 31, 2011 Till Kroeger Einf¨ uhrung in Support Vector Machines (SVMs)

Upload: phungdien

Post on 15-Aug-2019

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

Einfuhrung in Support Vector Machines (SVM)

Till Kroeger

Januar 31, 2011

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 2: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

Table of contents

Motivation

Support Vector Machines

Bilderkennung (Beispiel)

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 3: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

VektorreprasentationKlassifikation

Outline

Motivation

Support Vector Machines

Bilderkennung (Beispiel)

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 4: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

VektorreprasentationKlassifikation

Vektorreprasentation

I Datenpunkte (Dokumente, Bilder, Suchanfragen, etc) konnenals Vektoren dargestellt werden.

I Einzelne Features entsprechen den numerischen Werteneinzelner Komponenten des Vektors.z.B.:v = (3, 2, 5, . . . , 9)v = (3 ∗ oil, 2 ∗ iraq, 5 ∗ bush, . . . , 9 ∗ war)

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 5: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

VektorreprasentationKlassifikation

Vektorreprasentation

I Datenpunkte (Dokumente, Bilder, Suchanfragen, etc) konnenals Vektoren dargestellt werden.

I Einzelne Features entsprechen den numerischen Werteneinzelner Komponenten des Vektors.

z.B.:v = (3, 2, 5, . . . , 9)v = (3 ∗ oil, 2 ∗ iraq, 5 ∗ bush, . . . , 9 ∗ war)

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 6: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

VektorreprasentationKlassifikation

Vektorreprasentation

I Datenpunkte (Dokumente, Bilder, Suchanfragen, etc) konnenals Vektoren dargestellt werden.

I Einzelne Features entsprechen den numerischen Werteneinzelner Komponenten des Vektors.z.B.:v = (3, 2, 5, . . . , 9)v = (3 ∗ oil, 2 ∗ iraq, 5 ∗ bush, . . . , 9 ∗ war)

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 7: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

VektorreprasentationKlassifikation

Vektorreprasentation - 2

Klassifikation von Datenpunkten

I Datenpunkte als Tupel (xi, yi ), i = 1, ...,N, xi ∈ Rm

I mit Klassen yi ∈ −1, 1 (fur binare Klassifikation)

Wozu dient diese Formalismus?

1. Aufteilung meiner Datenbasis in Ubungs- und Testdaten.

2. Jeder Datenpunkte bekommt eine Klasse zugewiesen (imTraining bekannt, im Testing unbekannt).

3. Lerne Classifier

4. Klassifiziere Testdaten auf Basis der Information aus denbisher gesehen Trainingsdaten.

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 8: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

VektorreprasentationKlassifikation

Vektorreprasentation - 2

Klassifikation von Datenpunkten

I Datenpunkte als Tupel (xi, yi ), i = 1, ...,N, xi ∈ Rm

I mit Klassen yi ∈ −1, 1 (fur binare Klassifikation)

Wozu dient diese Formalismus?

1. Aufteilung meiner Datenbasis in Ubungs- und Testdaten.

2. Jeder Datenpunkte bekommt eine Klasse zugewiesen (imTraining bekannt, im Testing unbekannt).

3. Lerne Classifier

4. Klassifiziere Testdaten auf Basis der Information aus denbisher gesehen Trainingsdaten.

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 9: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

VektorreprasentationKlassifikation

Vektorreprasentation - 3

Figure: http://learning.cis.upenn.edu/cis520_fall2009/index.

php?action=home

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 10: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

VektorreprasentationKlassifikation

Klassifikation

Wie kann ich entscheiden ob ein neuer Datenpunkt zu +1 oder −1gehort?

Ahnlichkeitsmaß fur Vektoren:

〈a,b〉 =N∑i=1

aibi = ‖a‖‖b‖cos(γ)

Wann das Skalarprodukt null? Wann ist es Maximal?Minimal: 〈a,b〉 = 0 =⇒ a ⊥ bMaximal: a ‖ b , γ = 0

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 11: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

VektorreprasentationKlassifikation

Klassifikation

Wie kann ich entscheiden ob ein neuer Datenpunkt zu +1 oder −1gehort?Ahnlichkeitsmaß fur Vektoren:

〈a,b〉 =N∑i=1

aibi = ‖a‖‖b‖cos(γ)

Wann das Skalarprodukt null? Wann ist es Maximal?Minimal: 〈a,b〉 = 0 =⇒ a ⊥ bMaximal: a ‖ b , γ = 0

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 12: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

VektorreprasentationKlassifikation

Klassifikation

Wie kann ich entscheiden ob ein neuer Datenpunkt zu +1 oder −1gehort?Ahnlichkeitsmaß fur Vektoren:

〈a,b〉 =N∑i=1

aibi = ‖a‖‖b‖cos(γ)

Wann das Skalarprodukt null? Wann ist es Maximal?

Minimal: 〈a,b〉 = 0 =⇒ a ⊥ bMaximal: a ‖ b , γ = 0

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 13: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

VektorreprasentationKlassifikation

Klassifikation

Wie kann ich entscheiden ob ein neuer Datenpunkt zu +1 oder −1gehort?Ahnlichkeitsmaß fur Vektoren:

〈a,b〉 =N∑i=1

aibi = ‖a‖‖b‖cos(γ)

Wann das Skalarprodukt null? Wann ist es Maximal?Minimal: 〈a,b〉 = 0 =⇒ a ⊥ bMaximal: a ‖ b , γ = 0

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 14: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

VektorreprasentationKlassifikation

Klassifikation - 2

Klassifikationsmoglichkeiten:

I Clustering und Mittelwertbildung auf Trainingsdaten.Vergleiche neue Datenpunkte mittels Skalarprodukt mit demClustercenter.

I Naıve Bayes: arg maxy p(x , y) ≈ p(y) ∗∏i p(xi |y)

I Perceptron: Finde eine Hyperebene welche die Trainingsdatenbestmoglich teilt.

I (SVMs)

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 15: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

VektorreprasentationKlassifikation

Klassifikation - 2

Klassifikationsmoglichkeiten:

I Clustering und Mittelwertbildung auf Trainingsdaten.Vergleiche neue Datenpunkte mittels Skalarprodukt mit demClustercenter.

I Naıve Bayes: arg maxy p(x , y) ≈ p(y) ∗∏i p(xi |y)

I Perceptron: Finde eine Hyperebene welche die Trainingsdatenbestmoglich teilt.

I (SVMs)

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 16: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

VektorreprasentationKlassifikation

Klassifikation - 2

Klassifikationsmoglichkeiten:

I Clustering und Mittelwertbildung auf Trainingsdaten.Vergleiche neue Datenpunkte mittels Skalarprodukt mit demClustercenter.

I Naıve Bayes: arg maxy p(x , y) ≈ p(y) ∗∏i p(xi |y)

I Perceptron: Finde eine Hyperebene welche die Trainingsdatenbestmoglich teilt.

I (SVMs)

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 17: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

VektorreprasentationKlassifikation

Klassifikation - 2

Klassifikationsmoglichkeiten:

I Clustering und Mittelwertbildung auf Trainingsdaten.Vergleiche neue Datenpunkte mittels Skalarprodukt mit demClustercenter.

I Naıve Bayes: arg maxy p(x , y) ≈ p(y) ∗∏i p(xi |y)

I Perceptron: Finde eine Hyperebene welche die Trainingsdatenbestmoglich teilt.

I (SVMs)

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 18: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

VektorreprasentationKlassifikation

Klassifikation - 2

Klassifikationsmoglichkeiten:

I Clustering und Mittelwertbildung auf Trainingsdaten.Vergleiche neue Datenpunkte mittels Skalarprodukt mit demClustercenter.

I Naıve Bayes: arg maxy p(x , y) ≈ p(y) ∗∏i p(xi |y)

I Perceptron: Finde eine Hyperebene welche die Trainingsdatenbestmoglich teilt.

I (SVMs)

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 19: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

VektorreprasentationKlassifikation

Hyperebene

Hyperebene: lineare, Entscheidungsgrenze im Feature Space.

“Entscheidungsgrenze”: Definition der Hyperebene:

〈w, x〉+ b = 0

und einer Entscheidungsfunktion

y = sgn(〈w, x〉+ b)

Im n-dim. Raum: n − 1 dim. Hyperebene

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 20: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

VektorreprasentationKlassifikation

Hyperebene

Hyperebene: lineare, Entscheidungsgrenze im Feature Space.

“Entscheidungsgrenze”: Definition der Hyperebene:

〈w, x〉+ b = 0

und einer Entscheidungsfunktion

y = sgn(〈w, x〉+ b)

Im n-dim. Raum: n − 1 dim. Hyperebene

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 21: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

VektorreprasentationKlassifikation

Hyperebene

Hyperebene: lineare, Entscheidungsgrenze im Feature Space.

“Entscheidungsgrenze”: Definition der Hyperebene:

〈w, x〉+ b = 0

und einer Entscheidungsfunktion

y = sgn(〈w, x〉+ b)

Im n-dim. Raum: n − 1 dim. Hyperebene

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 22: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

VektorreprasentationKlassifikation

Hyperebene - 2

Figure: http://en.wikipedia.org/wiki/File:

Svm_max_sep_hyperplane_with_margin.png

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 23: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

VektorreprasentationKlassifikation

Hyperebene - 3

“Linearitat”: vollstandig linear separierbar sind Daten genau dannwenn es kein x gibt fur das gilt:

y (〈w, x〉+ b) < 0

Das heißt, es gibt keinen Datenpunkt, der auf der falschen Seiteder Hyperebene liegt, welche durch einen konstanten Vektordefiniert wird.

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 24: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

VektorreprasentationKlassifikation

Perceptron

http://isl.ira.uka.de/neuralNetCourse/2004/VL_11_5/

Perceptron.html

Figure: Linear Separierbar

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 25: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

VektorreprasentationKlassifikation

Perceptron - 2

Figure: Nicht linear separierbar

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 26: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

VektorreprasentationKlassifikation

Demonstration SVM, LIBSVM

http://www.csie.ntu.edu.tw/~cjlin/libsvm/

Figure: nicht linear separierbar, in SVM

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 27: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

Input Space vs. Feature SpaceKernelResultat

Outline

Motivation

Support Vector Machines

Bilderkennung (Beispiel)

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 28: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

Input Space vs. Feature SpaceKernelResultat

Input Space vs. Feature Space

I Fur nicht linear separierbareDaten: keine Hyberebene imFeature Space!

I Losung: Transferiere Daten inhoher-dimensionalen Featuremittels Φ und finde Hyberebenein H.

Φ : X → H, x → φ(x)

I Ab jetzt: unterscheide zw. InputSpace und Feature Space! a

aScholkopf, Smola, Learning with

kernels, Cambridge (Mass.), London 2002,p. 16.

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 29: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

Input Space vs. Feature SpaceKernelResultat

Input Space vs. Feature Space - 2

Wie sieht so eine Abbildung aus?

z.B.:Φ : R2 → R3

(x1, x2) 7→ (x1, x2, x1x2)

x ′ = (2, 2), Φ(x ′) = (1, 2, 4)

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 30: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

Input Space vs. Feature SpaceKernelResultat

Input Space vs. Feature Space - 2

Wie sieht so eine Abbildung aus?z.B.:

Φ : R2 → R3

(x1, x2) 7→ (x1, x2, x1x2)

x ′ = (2, 2), Φ(x ′) = (1, 2, 4)

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 31: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

Input Space vs. Feature SpaceKernelResultat

Input Space vs. Feature Space - 2

Wie sieht so eine Abbildung aus?z.B.:

Φ : R2 → R3

(x1, x2) 7→ (x1, x2, x1x2)

x ′ = (2, 2), Φ(x ′) = (1, 2, 4)

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 32: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

Input Space vs. Feature SpaceKernelResultat

Input Space vs. Feature Space - 3

Figure: Hyperebene im Feature Space und im Input Space.1

1Scholkopf, Smola, Learning with kernels, p. 29.

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 33: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

Input Space vs. Feature SpaceKernelResultat

Definition eines Kernels

I Entscheidungsfunktion im Feature Raum:

y = sgn(〈w, φ(x)〉+ b), w, φ(x) ∈ H

I Die funktion y ist linear in H, aber nicht (immer) linear in X!

I Da wir w im Feature Raum nicht direkt berechnen wollen,definieren wir uns eine Hilfsfunktion:Definiere Kernel (Skalarprodukt im Feature Space) :

k(x , x ′) = 〈φ(x), φ(x ′)〉

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 34: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

Input Space vs. Feature SpaceKernelResultat

Definition eines Kernels

I Entscheidungsfunktion im Feature Raum:

y = sgn(〈w, φ(x)〉+ b), w, φ(x) ∈ H

I Die funktion y ist linear in H, aber nicht (immer) linear in X!

I Da wir w im Feature Raum nicht direkt berechnen wollen,definieren wir uns eine Hilfsfunktion:Definiere Kernel (Skalarprodukt im Feature Space) :

k(x , x ′) = 〈φ(x), φ(x ′)〉

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 35: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

Input Space vs. Feature SpaceKernelResultat

Definition eines Kernels - 2

Wir konnen als Kernel mehrere (pos. def.) Ahnlichkeitsmaßeauswahlen:

I Linear kernel:k(x, x′) = 〈x, x′〉

I Polynomial kernel:

k(x, x′) = (γ 〈x, x′〉+ coef )p

I Radial Basis Function kernel:

k(x, x′) = exp(−γ (x− x′)2)

I Sigmoid Kernel:

k(x, x′) = tanh(γ 〈x, x′〉+ coef )

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 36: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

Input Space vs. Feature SpaceKernelResultat

Definition eines Kernels - 3

Was konnen wir damit erreichen?

I Wir konnen 〈w, φ(x)〉 in der Entscheidungsfunktion y durchdie Kernel Funktion k(x, x′) ersetzen:

y(x) =N∑

n=1

αnynk(xn, x) + b

I D.h. die Klasse eines Testpunktes x kann durch die lineareKombination der Trainingspunkte bestimmt werden!

I Die Abbildung Φ ist hier nicht mehr enthalten!

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 37: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

Input Space vs. Feature SpaceKernelResultat

Definition eines Kernels - 3

Was konnen wir damit erreichen?

I Wir konnen 〈w, φ(x)〉 in der Entscheidungsfunktion y durchdie Kernel Funktion k(x, x′) ersetzen:

y(x) =N∑

n=1

αnynk(xn, x) + b

I D.h. die Klasse eines Testpunktes x kann durch die lineareKombination der Trainingspunkte bestimmt werden!

I Die Abbildung Φ ist hier nicht mehr enthalten!

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 38: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

Input Space vs. Feature SpaceKernelResultat

Definition eines Kernels - 3

Was konnen wir damit erreichen?

I Wir konnen 〈w, φ(x)〉 in der Entscheidungsfunktion y durchdie Kernel Funktion k(x, x′) ersetzen:

y(x) =N∑

n=1

αnynk(xn, x) + b

I D.h. die Klasse eines Testpunktes x kann durch die lineareKombination der Trainingspunkte bestimmt werden!

I Die Abbildung Φ ist hier nicht mehr enthalten!

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 39: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

Input Space vs. Feature SpaceKernelResultat

Definition eines Kernels - 3

Was konnen wir damit erreichen?

I Wir konnen 〈w, φ(x)〉 in der Entscheidungsfunktion y durchdie Kernel Funktion k(x, x′) ersetzen:

y(x) =N∑

n=1

αnynk(xn, x) + b

I D.h. die Klasse eines Testpunktes x kann durch die lineareKombination der Trainingspunkte bestimmt werden!

I Die Abbildung Φ ist hier nicht mehr enthalten!

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 40: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

Input Space vs. Feature SpaceKernelResultat

Herleitung - Kurzfassung

Wir wahlen (im Feature Space) unser w so, dass

〈w, xn〉+ b = +1, fur ein Beispiel der Klasse +1

〈w, xn〉+ b = −1, fur ein Beispiel der Klasse -1

w ist Hyperebene und lineare Entscheidungsgrenze!

Maximiere den den Abstand der Datenpunkte welche am nahstenan w liegen. Wahle d− = d+ = 1

‖w‖ und minimiere ‖w‖.

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 41: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

Input Space vs. Feature SpaceKernelResultat

Herleitung - Kurzfassung

Wir wahlen (im Feature Space) unser w so, dass

〈w, xn〉+ b = +1, fur ein Beispiel der Klasse +1

〈w, xn〉+ b = −1, fur ein Beispiel der Klasse -1

w ist Hyperebene und lineare Entscheidungsgrenze!

Maximiere den den Abstand der Datenpunkte welche am nahstenan w liegen. Wahle d− = d+ = 1

‖w‖ und minimiere ‖w‖.

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 42: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

Input Space vs. Feature SpaceKernelResultat

Herleitung - Kurzfassung - 2

Constraint Optimization Problem:

Minimiere

arg minw,b1

2‖w‖2

unter den Bedingungen

yn(〈w, xn〉+ b) ≥ 1 , ∀n

Kann mittels Lagrange Multiplikatoren gelost werden.

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 43: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

Input Space vs. Feature SpaceKernelResultat

Lagrange Multiplikatoren

Finde das Minimum der Lagrange Funktion:

L(w, b, α) =1

2‖w‖2 −

N∑i=1

αi [yi (〈w, xi〉+ b)− 1]

...(Partielle Ableitungen + Dunkle Magie)...

Resultat: Alle Datenpunkte xi tauchen im Resultat nur imSkalarprodukt mit anderen Datenpunkten auf. Der Kernel k(x , x ′)kann anstelle dieses Produktes verwendet werden. DerHyperebenvektor w wird nicht gebraucht!

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 44: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

Input Space vs. Feature SpaceKernelResultat

Lagrange Multiplikatoren

Finde das Minimum der Lagrange Funktion:

L(w, b, α) =1

2‖w‖2 −

N∑i=1

αi [yi (〈w, xi〉+ b)− 1]

...(Partielle Ableitungen + Dunkle Magie)...

Resultat: Alle Datenpunkte xi tauchen im Resultat nur imSkalarprodukt mit anderen Datenpunkten auf. Der Kernel k(x , x ′)kann anstelle dieses Produktes verwendet werden. DerHyperebenvektor w wird nicht gebraucht!

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 45: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

Input Space vs. Feature SpaceKernelResultat

Resultat

I Wir konnen 〈w, φ(x)〉 in der Entscheidungsfunktion y durchdie Kernel Funktion k(x, x′) ersetzen:

y(x) =N∑

n=1

αnynk(xn, x) + b

I Die αn werden mittels der Lagrange Funktion berechnet(quadratisches Optimierungsproblem)

I Wir brauchen den Hyperebenvektor w nicht!

I Wir mussen die Abbildung φ nicht kennen. Sie wird implizit“mitberechnet”!

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 46: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

Input Space vs. Feature SpaceKernelResultat

Resultat

I Wir konnen 〈w, φ(x)〉 in der Entscheidungsfunktion y durchdie Kernel Funktion k(x, x′) ersetzen:

y(x) =N∑

n=1

αnynk(xn, x) + b

I Die αn werden mittels der Lagrange Funktion berechnet(quadratisches Optimierungsproblem)

I Wir brauchen den Hyperebenvektor w nicht!

I Wir mussen die Abbildung φ nicht kennen. Sie wird implizit“mitberechnet”!

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 47: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

Input Space vs. Feature SpaceKernelResultat

Resultat

I Wir konnen 〈w, φ(x)〉 in der Entscheidungsfunktion y durchdie Kernel Funktion k(x, x′) ersetzen:

y(x) =N∑

n=1

αnynk(xn, x) + b

I Die αn werden mittels der Lagrange Funktion berechnet(quadratisches Optimierungsproblem)

I Wir brauchen den Hyperebenvektor w nicht!

I Wir mussen die Abbildung φ nicht kennen. Sie wird implizit“mitberechnet”!

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 48: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

LIBSVM LibraryWahl des Kernels und ParameterResultat

Outline

Motivation

Support Vector Machines

Bilderkennung (Beispiel)

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 49: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

LIBSVM LibraryWahl des Kernels und ParameterResultat

Das bag of feature Model

I Wir nehmen an, dass jedes Objekt als eine Menge(ungeordneter) Features aus einem gemeinsamen Vokabularreprasentiert werden kann.

I Jedes Objekt wird als Vektor dargestellt.

I Die Komponenten des Vektors reprasentieren die Frequenzeneinzelner Features. z.B.:

Nti(:, 1) = [4, 8, 0, 0, 4, 13, ..., 14] (apple)

Nti(:, 13) = [2, 0, 0, 6, 0, 0, ..., 6] (swan)

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 50: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

LIBSVM LibraryWahl des Kernels und ParameterResultat

Das bag of feature Model

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 51: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

LIBSVM LibraryWahl des Kernels und ParameterResultat

Apple Logos vs. Schwane

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 52: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

LIBSVM LibraryWahl des Kernels und ParameterResultat

Implementierung

Implementierungsschritte

I Unterteilung in Test-, und Trainingsdaten, Crossvalidation

I Extraktion von SIFT Features fur jedes Bild

I Durchschnittlich 65000 Interest Points im Vokabular

I Quantisierung der Features um die Vokabulargroße zureduzieren mittels KMeans (k=100)

Aufgabe: Vergleiche Naıve Bayes Classification mit SVMClassification

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 53: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

LIBSVM LibraryWahl des Kernels und ParameterResultat

Implementierung

Implementierungsschritte

I Unterteilung in Test-, und Trainingsdaten, Crossvalidation

I Extraktion von SIFT Features fur jedes Bild

I Durchschnittlich 65000 Interest Points im Vokabular

I Quantisierung der Features um die Vokabulargroße zureduzieren mittels KMeans (k=100)

Aufgabe: Vergleiche Naıve Bayes Classification mit SVMClassification

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 54: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

LIBSVM LibraryWahl des Kernels und ParameterResultat

Implementierung

Implementierungsschritte

I Unterteilung in Test-, und Trainingsdaten, Crossvalidation

I Extraktion von SIFT Features fur jedes Bild

I Durchschnittlich 65000 Interest Points im Vokabular

I Quantisierung der Features um die Vokabulargroße zureduzieren mittels KMeans (k=100)

Aufgabe: Vergleiche Naıve Bayes Classification mit SVMClassification

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 55: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

LIBSVM LibraryWahl des Kernels und ParameterResultat

Implementierung

Implementierungsschritte

I Unterteilung in Test-, und Trainingsdaten, Crossvalidation

I Extraktion von SIFT Features fur jedes Bild

I Durchschnittlich 65000 Interest Points im Vokabular

I Quantisierung der Features um die Vokabulargroße zureduzieren mittels KMeans (k=100)

Aufgabe: Vergleiche Naıve Bayes Classification mit SVMClassification

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 56: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

LIBSVM LibraryWahl des Kernels und ParameterResultat

Implementierung

Implementierungsschritte

I Unterteilung in Test-, und Trainingsdaten, Crossvalidation

I Extraktion von SIFT Features fur jedes Bild

I Durchschnittlich 65000 Interest Points im Vokabular

I Quantisierung der Features um die Vokabulargroße zureduzieren mittels KMeans (k=100)

Aufgabe: Vergleiche Naıve Bayes Classification mit SVMClassification

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 57: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

LIBSVM LibraryWahl des Kernels und ParameterResultat

LIBSVM Bibliothek

LIBSVM, Version 3.0, Sep. 2010,2

Von Chih-Chung Chang, Chih-Jen Lin, Chih-Wei Hsu,National Taiwan University,

I C++ Bibliothek mit wrapper for Matlab

I Unterstutzung fur lineare, polynomiale, rbf, sigmoid Kernels.

I Syntax Beispiel fur Training:model = svmtrain(labels, data,′−t 0′); (linear kernel)

I Syntax Beispiel fur Testing:[predictlabel , accuracy , decvalues] =svmpredict(testlabels, testdata,model);

I Freie Parameter: Skalierung der Daten, Wahl des Kernels,Kernelparameter

2http://www.csie.ntu.edu.tw/~cjlin/libsvm/

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 58: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

LIBSVM LibraryWahl des Kernels und ParameterResultat

LIBSVM Bibliothek

LIBSVM, Version 3.0, Sep. 2010,2

Von Chih-Chung Chang, Chih-Jen Lin, Chih-Wei Hsu,National Taiwan University,

I C++ Bibliothek mit wrapper for Matlab

I Unterstutzung fur lineare, polynomiale, rbf, sigmoid Kernels.

I Syntax Beispiel fur Training:model = svmtrain(labels, data,′−t 0′); (linear kernel)

I Syntax Beispiel fur Testing:[predictlabel , accuracy , decvalues] =svmpredict(testlabels, testdata,model);

I Freie Parameter: Skalierung der Daten, Wahl des Kernels,Kernelparameter

2http://www.csie.ntu.edu.tw/~cjlin/libsvm/

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 59: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

LIBSVM LibraryWahl des Kernels und ParameterResultat

LIBSVM Bibliothek

LIBSVM, Version 3.0, Sep. 2010,2

Von Chih-Chung Chang, Chih-Jen Lin, Chih-Wei Hsu,National Taiwan University,

I C++ Bibliothek mit wrapper for Matlab

I Unterstutzung fur lineare, polynomiale, rbf, sigmoid Kernels.

I Syntax Beispiel fur Training:model = svmtrain(labels, data,′−t 0′); (linear kernel)

I Syntax Beispiel fur Testing:[predictlabel , accuracy , decvalues] =svmpredict(testlabels, testdata,model);

I Freie Parameter: Skalierung der Daten, Wahl des Kernels,Kernelparameter

2http://www.csie.ntu.edu.tw/~cjlin/libsvm/

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 60: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

LIBSVM LibraryWahl des Kernels und ParameterResultat

Wahl des Kernels und Parameter

Evaluierung des Kernels (Linear, Polynomial, Rbf, Sigmoid)

I ’Brute-force’ Suche im Parameterraum

I Beste Parameter geben hohsten Genauigkeitswert imCrossvalidation.

I Suche uber exponentielle Parameterverteilung (2x)

I Der polynomiale, rbf, sigmoid Kernel hat zwei Parameter undder lineare Kernel hat einen Parameter.

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 61: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

LIBSVM LibraryWahl des Kernels und ParameterResultat

Wahl des Kernels und Parameter

Evaluierung des Kernels (Linear, Polynomial, Rbf, Sigmoid)

I ’Brute-force’ Suche im Parameterraum

I Beste Parameter geben hohsten Genauigkeitswert imCrossvalidation.

I Suche uber exponentielle Parameterverteilung (2x)

I Der polynomiale, rbf, sigmoid Kernel hat zwei Parameter undder lineare Kernel hat einen Parameter.

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 62: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

LIBSVM LibraryWahl des Kernels und ParameterResultat

Wahl des Kernels und Parameter

Evaluierung des Kernels (Linear, Polynomial, Rbf, Sigmoid)

I ’Brute-force’ Suche im Parameterraum

I Beste Parameter geben hohsten Genauigkeitswert imCrossvalidation.

I Suche uber exponentielle Parameterverteilung (2x)

I Der polynomiale, rbf, sigmoid Kernel hat zwei Parameter undder lineare Kernel hat einen Parameter.

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 63: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

LIBSVM LibraryWahl des Kernels und ParameterResultat

Wahl des Kernels und Parameter

Evaluierung des Kernels (Linear, Polynomial, Rbf, Sigmoid)

I ’Brute-force’ Suche im Parameterraum

I Beste Parameter geben hohsten Genauigkeitswert imCrossvalidation.

I Suche uber exponentielle Parameterverteilung (2x)

I Der polynomiale, rbf, sigmoid Kernel hat zwei Parameter undder lineare Kernel hat einen Parameter.

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 64: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

LIBSVM LibraryWahl des Kernels und ParameterResultat

1. Linearer Kernel: k(x, y) = xTy

Parametersuche fur C = 2−20, ..., 215

Bestes Ergebnis: C = 1

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 65: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

LIBSVM LibraryWahl des Kernels und ParameterResultat

2. Polynomialer Kernel: k(x, y) = (γ xTy + coef )p

Suche im Parameterraum uber coef 0 = 2−15, ..., 210 andγ = 2−25, ..., 25

Bestes Resultat: γ = 23 and coef = 2−5

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 66: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

LIBSVM LibraryWahl des Kernels und ParameterResultat

3. Radial Basis Function kernel: exp(−γ (x− y)2)

Suche im Parameterraum uber C = 2−15, ..., 225 andγ = 2−25, ..., 210

Bestes Resultat: γ = 2−2 and C = 25, Bestes Gesamtergebnis !

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 67: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

LIBSVM LibraryWahl des Kernels und ParameterResultat

4. Sigmoid Kernel: tanh(γ xTy + coef )

Suche im Parameterraum uber coef = 2−25, ..., 20 andγ = 2−10, ..., 210

Bestes Resultat: γ = 2−3 and coef = 2−13

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 68: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

LIBSVM LibraryWahl des Kernels und ParameterResultat

Resultat

Vergleich: Naıve Bayes Classification vs. SVM Classification

I Losung mit Naıve Bayes: 12/20 Apple Logos und 12/16 Schwane richtigerkannt. (Durschn. Genauigkeit: 66 %)

I SVM Classification mit rbf Kernel: 18/20 Apple Logos und 14.5/16Schwane richtig erkannt. (Durschn. Genauigkeit: 90.27 %)

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 69: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

LIBSVM LibraryWahl des Kernels und ParameterResultat

Fragen

Fragen?

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

Page 70: Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in ...kontext.fraunhofer.de/haenelt/kurs/Referate/Kroeger-SupportVectorMachines.pdf · Motivation Support Vector Machines

MotivationSupport Vector MachinesBilderkennung (Beispiel)

LIBSVM LibraryWahl des Kernels und ParameterResultat

Referenzen

Referenzen

I Scholkopf, Smola, Learning with kernels, Cambridge (Mass.),London 2002.

I Weston, Jason, Extensions to the Support Vector Method,PhD Thesis, University of London, 1999.

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)