Sie sind auf Seite 1von 22

Kurze praktische Einführung

in Support Vector Machines

Dipl.-Inf. Matthias Rupp

Beilstein Professur für Chemieinformatik


Johann Wolfgang Goethe-Universität

Praktikum Moleküldesign, SS 2006

Matthias Rupp Kurze praktische Einführung in Support Vector Machines


Gliederung

Theorie Praxis
Maschinelles Lernen Weka
Überblick SVMs Literatur
Lineare Trennung
Linear nicht trennbarer Fall
Nichtlineare Trennung
Literatur

Matthias Rupp Kurze praktische Einführung in Support Vector Machines


Maschinelles Lernen
Überblick SVMs
Lineare Trennung
Theorie
Linear nicht trennbarer Fall
Nichtlineare Trennung
Literatur

Maschinelles Lernen

Was Klassifikation, Regression, Erkennung von Mustern


Wozu Einordnung neuer Daten, Vorhersagen, Modellbildung
Wie Auswahl/Anpassung eines Modells, welches die
Daten erklärt

Viele Modelle:
I Künstliche Neuronale Netze
I Entscheidungsbäume
I Support Vector Machines
I ...

Matthias Rupp Kurze praktische Einführung in Support Vector Machines


Maschinelles Lernen
Überblick SVMs
Lineare Trennung
Theorie
Linear nicht trennbarer Fall
Nichtlineare Trennung
Literatur

Beispiel
Binäre Klassifikation in zwei Dimensionen:

Matthias Rupp Kurze praktische Einführung in Support Vector Machines


Maschinelles Lernen
Überblick SVMs
Lineare Trennung
Theorie
Linear nicht trennbarer Fall
Nichtlineare Trennung
Literatur

Beispiel
Binäre lineare Klassifikation in zwei Dimensionen:

Matthias Rupp Kurze praktische Einführung in Support Vector Machines


Maschinelles Lernen
Überblick SVMs
Lineare Trennung
Theorie
Linear nicht trennbarer Fall
Nichtlineare Trennung
Literatur

Support Vector Machines

I Anfänge in den 1960er Jahren (Vapnik, Chervonenkis)


I COLT-92 Veröffentlichung von Boser, Guyon, Vapnik
I Mittlerweile eigenständiges Gebiet

I Andere Anwendungen des zu Grunde liegenden Prinzips,


z.B. nichtlineare PCA, Dichteschätzungen, Ausreißertests

Matthias Rupp Kurze praktische Einführung in Support Vector Machines


Maschinelles Lernen
Überblick SVMs
Lineare Trennung
Theorie
Linear nicht trennbarer Fall
Nichtlineare Trennung
Literatur

Lineare Trennung

I Viele Lösungen (trennende Geraden) möglich


I Welche ist die beste?

I Mittige Trennung der naheliegendsten Punkte


I Maximaler Margin ( Rand“, Bandbreite“)
” ”

Matthias Rupp Kurze praktische Einführung in Support Vector Machines


Maschinelles Lernen
Überblick SVMs
Lineare Trennung
Theorie
Linear nicht trennbarer Fall
Nichtlineare Trennung
Literatur

Beispiel
Mittige Trennung der naheliegendsten Punkte:

Matthias Rupp Kurze praktische Einführung in Support Vector Machines


Maschinelles Lernen
Überblick SVMs
Lineare Trennung
Theorie
Linear nicht trennbarer Fall
Nichtlineare Trennung
Literatur

Beispiel
Maximaler Margin:

"positiver Halbraum"

"negativer Halbraum"

Matthias Rupp Kurze praktische Einführung in Support Vector Machines


Maschinelles Lernen
Überblick SVMs
Lineare Trennung
Theorie
Linear nicht trennbarer Fall
Nichtlineare Trennung
Literatur

Ein Optimierungsproblem

I Beide Lösungen sind äquivalent


I Großer Margin ist gut für neue Datenpunkte
I Konvexes quadratisches Minimierungsproblem:
1
min ||w ||2 mit yi (hw , xi i − b) ≥ 1
w ,b 2

=> Maximierung des


kleinsten Abstands zur Hyperebene
Matthias Rupp Kurze praktische Einführung in Support Vector Machines
Maschinelles Lernen
Überblick SVMs
Lineare Trennung
Theorie
Linear nicht trennbarer Fall
Nichtlineare Trennung
Literatur

Linear nicht trennbarer Fall


Was passiert, wenn die beiden Klassen nicht linear trennbar sind?

Matthias Rupp Kurze praktische Einführung in Support Vector Machines


Maschinelles Lernen
Überblick SVMs
Lineare Trennung
Theorie
Linear nicht trennbarer Fall
Nichtlineare Trennung
Literatur

Reduzierte konvexe Hülle

nX o
Vorher: H = αi xi 0 ≤ αi ≤ 1

i
nX o
Nachher: Hc = αi xi 0 ≤ αi ≤ C

i

−→ Die konvexe Hülle schrumpft“ zusammen,



wobei sich die Form ändert
−→ Lineare Trennung wieder möglich

Matthias Rupp Kurze praktische Einführung in Support Vector Machines


Maschinelles Lernen
Überblick SVMs
Lineare Trennung
Theorie
Linear nicht trennbarer Fall
Nichtlineare Trennung
Literatur

Beispiel
Reduzierte konvexe Hülle (schematisch) erlaubt lineare Trennung:

Matthias Rupp Kurze praktische Einführung in Support Vector Machines


Maschinelles Lernen
Überblick SVMs
Lineare Trennung
Theorie
Linear nicht trennbarer Fall
Nichtlineare Trennung
Literatur

Nichtlineare Trennung

Was tun bei Datensätzen, die nicht linear trennbar sind?

Matthias Rupp Kurze praktische Einführung in Support Vector Machines


Maschinelles Lernen
Überblick SVMs
Lineare Trennung
Theorie
Linear nicht trennbarer Fall
Nichtlineare Trennung
Literatur

Nichtlineare Trennung
Idee: Füge nichtlineare Funktionen der Datenpunkte hinzu.
Beispiel: (x, y ) 7→ (x, y , x 2 + y 2 )

7→

Matthias Rupp Kurze praktische Einführung in Support Vector Machines


Maschinelles Lernen
Überblick SVMs
Lineare Trennung
Theorie
Linear nicht trennbarer Fall
Nichtlineare Trennung
Literatur

Kernel

I Lösen des Optimierungsproblems (Finden der besten Geraden)


benötigt nur Auswertungen innerer Produkte der Datenpunkte
I Erinnerung: Inneres Produkt enthält Informationen über
Länge und Winkel der Vektoren (geometrische Information!)
I Kernel sind Funktionen, die inneren Produkten in einem
anderen (höherdimensionalen) Raum entsprechen:
κ(x, y ) = hφ(x), φ(y )i

Matthias Rupp Kurze praktische Einführung in Support Vector Machines


Maschinelles Lernen
Überblick SVMs
Lineare Trennung
Theorie
Linear nicht trennbarer Fall
Nichtlineare Trennung
Literatur

Kernel

I Standard Kernel:
I Linearer Kernel: κ(x, y ) = hx, y i
I Polynomieller Kernel: κ(x, y ) = (hx, y i + 1)d
2
I Exponentieller Kernel: κ(x, y ) = exp(− ||x−y ||
2σ )

Matthias Rupp Kurze praktische Einführung in Support Vector Machines


Maschinelles Lernen
Überblick SVMs
Lineare Trennung
Theorie
Linear nicht trennbarer Fall
Nichtlineare Trennung
Literatur

Literatur

I Bernhard Boser, Isabelle Guyon, Vladimir Vapnik: A training


algorithm for optimal margin classifiers, COLT 92,
pp. 144–152, Pittsburgh, ACM.
I Kristin Bennett, Colin Campbell: Support Vector Machines:
Hype or Hallelujah?, SIGKDD Explorations 2(2): 1–13, 2000,
ACM.
I John Shawe-Taylor, Nello Cristianini: Kernel Methods for
Pattern Analysis, Cambridge University Press, 2004.

Matthias Rupp Kurze praktische Einführung in Support Vector Machines


Weka
Praxis
Literatur

Weka

Weka (Gallirallus australis): Weka (Waikato Environment for


Knowledge Analysis):

Matthias Rupp Kurze praktische Einführung in Support Vector Machines


Weka
Praxis
Literatur

Features

I Vorverarbeitung der Daten


I Klassifikation und Regression
I Clustering
I Feature Selection
I Visualisierung

I Implementiert in Java
I Verwendung in eigenen Programmen möglich (GPL)
I Einbindung eigener Filter, Klassifikatoren möglich

Matthias Rupp Kurze praktische Einführung in Support Vector Machines


Weka
Praxis
Literatur

Praktische Hinweise

I Dateiformate: ARFF, CSV und weitere


I Vorgehensweise:
I Import von Smiles (*.smi) Dateien in MOE
I Berechnen von Deskriptoren in MOE
I Export aus MOE heraus im CSV Format
(Komma als Trenner, keine Anführungszeichen)
I Import in Weka
I Durchführen der Experimente
I SVMs unter SMO (Sequential Minimal Optimization)
I Bestimmen der Parameter C sowie d, σ, . . .

Matthias Rupp Kurze praktische Einführung in Support Vector Machines


Weka
Praxis
Literatur

Literatur

I Ian Witten, Eibe Frank: Data Mining, Morgan Kaufmann


Publishers, 2005.
I Eibe Frank: Machine Learning with WEKA, Folien, Waikato
university, Neuseeland.
I Mark Hall: WEKA, Folien, Waikato Universität, Neuseeland.
I WekaDoc Wiki, weka.sourceforge.net/wekadoc.

Matthias Rupp Kurze praktische Einführung in Support Vector Machines