Einf[PleaseinsertPrerenderUnicode{ü}intopreamble]hrung in...

Post on 15-Aug-2019

215 views 0 download

transcript

MotivationSupport Vector MachinesBilderkennung (Beispiel)

Einfuhrung in Support Vector Machines (SVM)

Till Kroeger

Januar 31, 2011

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

MotivationSupport Vector MachinesBilderkennung (Beispiel)

Table of contents

Motivation

Support Vector Machines

Bilderkennung (Beispiel)

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

MotivationSupport Vector MachinesBilderkennung (Beispiel)

VektorreprasentationKlassifikation

Outline

Motivation

Support Vector Machines

Bilderkennung (Beispiel)

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

MotivationSupport Vector MachinesBilderkennung (Beispiel)

VektorreprasentationKlassifikation

Perceptron - 2

Figure: Nicht linear separierbar

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

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)

MotivationSupport Vector MachinesBilderkennung (Beispiel)

Input Space vs. Feature SpaceKernelResultat

Outline

Motivation

Support Vector Machines

Bilderkennung (Beispiel)

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

MotivationSupport Vector MachinesBilderkennung (Beispiel)

LIBSVM LibraryWahl des Kernels und ParameterResultat

Das bag of feature Model

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

MotivationSupport Vector MachinesBilderkennung (Beispiel)

LIBSVM LibraryWahl des Kernels und ParameterResultat

Apple Logos vs. Schwane

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

MotivationSupport Vector MachinesBilderkennung (Beispiel)

LIBSVM LibraryWahl des Kernels und ParameterResultat

Fragen

Fragen?

Till Kroeger Einfuhrung in Support Vector Machines (SVMs)

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)