Upload
phungdien
View
215
Download
0
Embed Size (px)
Citation preview
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)