• Keine Ergebnisse gefunden

3.7 Support Vector Machines

N/A
N/A
Protected

Academic year: 2023

Aktie "3.7 Support Vector Machines"

Copied!
27
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

DATABASE

SYSTEMS

3.7 Support Vector Machines

SYSTEMS GROUP

Motivation: Lineare Separation

• Vektoren in Rd repräsentieren Objekte.

• Objekte gehören zu genau einer von jej g g j 2 Klassen

Kl ifik ti d h li S ti

Klassifikation durch lineare Separation:

• Suche Hyperebene, die beide Klassen

„maximal stabil“ voneinander

trennt.

O d b k t El t d S it

• Ordne unbekannte Elemente der Seite der Ebene zu, auf der sie sich

befinden.

trennende Hyperebene

(2)

DATABASE

SYSTEMS

Support Vector Machines

SYSTEMS GROUP

Probleme bei linearer Separation:

Probleme bei linearer Separation:

• Was ist die „maximal stabile“ Hyperebene und „ yp wie berechnet man sie effizient?

• Klassen nicht immer linear trennbar

• Klassen nicht immer linear trennbar.

• Berechnung von Hyperebenen nach Auswahl sehr aufwendig.

• Einschränkung auf 2 Klassen Einschränkung auf 2 Klassen.

• ...

Lösungen dieser Probleme

mit Support Vector Machines(SVMs ) [Vapnik 1979 u 1995]

mit Support Vector Machines(SVMs ) [Vapnik 1979 u. 1995].

(3)

DATABASE

SYSTEMS

Maximum Margin Hyperplane

SYSTEMS GROUP

Problem: Hyperebene die P

1

und P

2

trennt ist nicht eindeutig Problem: Hyperebene die P

1

und P

2

trennt ist nicht eindeutig.

Welche Hyperebene ist für die Separation die Beste ?

P2 P2

P1 P1

Kriterien:

• Stabilität beim Einfügen

• Abstand zu den Objekten beider Klassen j

(4)

DATABASE

SYSTEMS

Maximum Margin Hyperplane

SYSTEMS GROUP

Lineare Separation mit der Maximum Margin Hyperplane“

Lineare Separation mit der „Maximum Margin Hyperplane

Maximum Margin Hyperplane Abstand zu Punkten aus beiden Mengen ist maximal, d.h. mind. ξ.g , ξ

• Wahrscheinlichkeit, dass beim

Einfügen die trennende Hyperebene verschoben werden muss ist minimal

ξ

verschoben werden muss, ist minimal.

• generalisiert am besten.

Maximum Margin Hyperplane (MMH)

P2

ξ Maximum Margin Hyperplane (MMH)

ist „maximal stabil“

P1

R d ( i )

MMH ist nur von Punkten Pi abhängig, die Abstand ξ zur Ebene aufweisen.

Rand (margin) ξ

Pi heißt Support Vector

(5)

DATABASE

SYSTEMS

Maximum Margin Hyperplane

SYSTEMS GROUP

Zusammenfassung der Schreibweisen der benötigten Zusammenfassung der Schreibweisen der benötigten

algebraischen Konstrukte für Featurespace FS:

Skalarprodukt zweier Vektoren:

x , y , x , yFS

( )

d

z.B. kanonisches Skalarprodukt

∑ ( )

=

=

i

i

i

y

x y

x

1

,

Beschreibung einer Hyperebene:

( )

⎭⎬

⎩⎨

⎧ ∈ = +

= x FS w x b

b w

H , 0 ,

( )

1

Abstand eines Vectors zur Ebene:

( )

w x b

w w b

w H x

dist = , +

, ) 1

, ( ,

(6)

DATABASE SYSTEMS

Maximum Margin Hyperplane

SYSTEMS GROUP

Berechnung der Maximum Margin Hyperplane

1. Bedingung: kein Klassifikationsfehler (Klasse1: yi=1,Klasse 2:yi=-1)

⎫ [

,

]

0

0 ]

, [ )

1 (

0 ]

, [ )

1

(

⇔ + >

⎪⎭

⎪ ⎬

>

+

=

<

+

=

b x

w y

b x

w y

b x

w y

i i

i i

i i

2. Bedingung: Maximaler Rand (Margin) ]

, [ )

(yi i

⎪⎭

maximiere:

(

w x b

) (

Abstand von xi zur Ebene ) w

w

TR i xi

+

= ,

, min 1

ξ H(w,b)

oder

w w,

⎡ ⎟⎞

⎜⎛

maximiere: ξ , so dass

[ ]

für ∀i ∈ [1..n]

⎥⎥

⎢⎢

⎟ ≥

⎟⎟

⎜⎜

+ b ξ

x w w

w

yi , i

, 1

⎣ ⎝ ⎠

(7)

DATABASE

SYSTEMS

Maximum Margin Hyperplane

SYSTEMS GROUP

[ ]

maximiere ξ in 1

[ ]

; für ∀i ∈ [1..n]

+b ξ x

w w

w

yi , i

, 1

Setze = ξ : max. , mit ∀i ∈ [1..n]

w w,

1

w w

1

(

yi

(

ξ

(

w, xi + b

) )

ξ

)

⇒ max. , mit ∀i ∈ [1..n]

w w,

( )

( y

i

w

w,

,

w

x

i

+ b 1 )

w w,

1

Statt invertiere, quadriere und minimiere das Ergebnis:

( )

( )

w w,

1 ,

w w b

w

J ( , ) = , Primäres OP: minimiere ( , ) ,

unter Nebenbedingung für ∀i ∈ [1..n] sei

(

yi

(

w,xi +b

)

1

)

(8)

DATABASE

SYSTEMS

Maximum Margin Hyperplane

SYSTEMS GROUP

Zur Berechnung wird das primäre Optimierungsproblem in ein duales OP überführt

OP überführt.

(Umformulierung in Form mit Langrange Multiplikatoren nach Karush- Kuhn-Tucker)

j j i

i n

i

n

j

j i

n

i

i

y y x x

L ,

2 ) 1

(

1 1

1

⎟ −

⎜ ⎞

= ⎛ ∑ α ∑∑ α α

α

Duales OP: maximiere

i j

i 1

⎠ 2

1 1

= = =

unter Bedingung , 0 g g

∑ ∑

n

α

i

yi

=

0 , ≤ αii und

α

n

= i

i

i y

1

⇒ Lösung des Problems mit Algorithmen aus der Optimierungstheorie

⇒ Lösung des Problems mit Algorithmen aus der Optimierungstheorie

⇒ bis jetzt nur linear separierbarer Fall: Soft Margin Optimierung

⇒ Einführung von Kernelfunktionen zur Steigerung der Kapazität

(9)

DATABASE

SYSTEMS

Soft Margin

SYSTEMS GROUP

Behandlung nicht linear trennbarer Daten:

Soft Margin Optimierung

Daten nicht separierbar vollständige Separation ist nicht optimal

Trade-Off zwischen Trainingsfehler und Breite des Randes

(10)

DATABASE

SYSTEMS

Soft Margin

SYSTEMS GROUP

Betrachte beim Optimieren zusätzlich noch die Anzahl der Trainingsfehler.

P2

• ξi ist der Abstand von Pi zum Rand (wird auch Slack-Variable genannt)

ξ1 ξ2

P1

2 g

C reguliert den Einfluss eines einzelnen Trainingsvektors

ξ1 Trainingsvektors

Primäres OP :

1

n

b b di f i i

( )

d ξ

Primäres OP :

=

⋅ +

=

n

i

C

i

w w b

w J

1

2 , ) 1

, ,

( ξ ξ

minimiere

⇒ Primäres Optimierungsproblem unter weichen Grenzen (Soft Margin) unter Nebenbedingung für ∀i ∈ [1..n] sei und yi

(

w,xi +b

)

1ξi ξi ≥ 0

⇒ Primäres Optimierungsproblem unter weichen Grenzen (Soft Margin)

(11)

DATABASE

SYSTEMS

Soft Margin

SYSTEMS GROUP

Das duale OP mit Lagrange Multiplikatoren verändert sich wie folgt:

j j i

i

n n

j i

n

i

y y x x

L ,

2 ) 1

( ⎟ − ⋅ ⋅ ⋅ ⋅

⎜ ⎞

= ⎛ ∑ α ∑∑ α α

α

Duales OP: maximiere

i j

i 1

⎠ 2

1 1

= = =

mit Bedingung und 0

≤ α i

C

=

=

n

i

i

i y

1

α

0

= i 1

0 < α ii <C ⇔ Support Vektor mit pp ξξii = 0

• α i = C ⇔ Support Vektor mit ξi >0

• α i= 0 sonst ξ2

P

P2

ξ1

P1

Entscheidungsregel:

( ) ⎟⎟

⎜⎜ ⎝

⎛ ⋅ +

= ∑

SV x

i i i

i

b x

x y sign

x

h α ,

xiSV

(12)

DATABASE

SYSTEMS

Kernel Machines

SYSTEMS GROUP

Lernen bei nicht linear trennbaren Datenmengen g

Problem: Bei realen Problemen ist häufig keine lineare Separation mit hoher Klassifikationsgenauigkeit mehr möglich.

mit hoher Klassifikationsgenauigkeit mehr möglich.

Idee:

Transformiere Daten in einen nicht linearen Feature-Raum und ers che sie im ne en Ra m linear separieren

versuche sie im neuen Raum linear zu separieren.

(Erweiterung des Hypothesenraumes)

(13)

DATABASE

SYSTEMS

Kernel Machines

SYSTEMS GROUP

Erweiterung der Hypothesenraumes Erweiterung der Hypothesenraumes

Eingaberaum

erweiterter Feature Raum φ

⇒ Versuche jetzt in erweitertem Feature Raum linear zu separieren Beispiel:

a b c

a b c a a a b a c b b b c c c

hier: Eine Hyperebene im erweiterten Feature Raum ist

φ

hier: Eine Hyperebene im erweiterten Feature Raum ist ein Polynom 2. Grades im Eingaberaum.

(14)

DATABASE

SYSTEMS

Kernel Machines

SYSTEMS GROUP

( x x )

Eingaberaum:

x

(2 Attribute) im erweiterten Raum:

( x

1

, x

2

)

x =

( ) (

, , 2 1, 2 2, 2 1 2,1

)

2 2 2

1 x x x x x

x

x = ⋅ ⋅ ⋅ ⋅

φ

Eingaberaum: (2 Attribute)

(6 Attribute)

x

2

x

x

2

x

2

x

2

x

1 2

x

1

(15)

DATABASE

SYSTEMS

Kernel Machines

SYSTEMS GROUP

Einführung eines Kernels ⇔ (Implizite) Featuretransformation Einführung eines Kernels ⇔ (Implizite) Featuretransformation mittels φ ( ) x : FS

alt

⎯ ⎯→ FS

neu

) (

) 1 (

)

(

i j

n n

n

x x

y y

L α α ⎟ ⎞ − α ⋅ α ⋅ ⋅ ⋅ φ φ

⎜ ⎛

= ∑ ∑∑

Duales OP: maximiere

) (

), 2 (

) (

1 1

1

j j i

i

i j

j i

i

i

y y x x

L α α ⎟ α ⋅ α ⋅ ⋅ ⋅ φ φ

⎜ ⎠

= ⎝ ∑ ∑∑

= =

=

mit Bedingung und 0

∑ ∑

n

α

i

yi

=

0 ≤ α iC

= i

i i 1

Zusätzliche Featuretransformation wirkt sich nur auf das Skalarprodukt Zusätzliche Featuretransformation wirkt sich nur auf das Skalarprodukt der Trainingsvektoren aus. ⇒ Kernel K ist eine Funktion mit:

( )

( ) x

i

, x

j

( x

i

), ( x

j

)

K

φ

= φ φ

(16)

DATABASE

SYSTEMS

Kernel Machines

SYSTEMS GROUP

Wann ist eine Funktion K(x y) ein Kernel ? Wann ist eine Funktion K(x,y) ein Kernel ?

Wenn die Kernel-Matrix (Gram Matrix) KM

⎟⎟

⎜⎜

=

) (

) (

..

..

..

) , ( ..

) , ( )

(

1 1

1 n

K K

x x K x

x K K

KM

K(xn, x1) .. K(xn,xn) positiv (semi) definit ist, also keine negativen

Ei t b it t d i t K( ) i K l ( i h M ‘ Th )

Notwendige Bedingungen:

Eigenwerte besitzt, dann ist K(x,y) ein Kernel (siehe Mercer s Theorem)

g g g

• (Symmetrie)

(C h S h )

( )

x y x y y x K

( )

y x

Kφ , = φ( ),φ( ) = φ( ),φ( ) = φ ,

( )

2

( ) ( )

Kφ

( )

x, y 2

Kφ

( ) ( )

x, x

Kφ y, y (Cauchy-Schwarz)

Symmetrie und Cauchy-Schwarz sind keine hinreichenden Bedingungen!

(17)

DATABASE

SYSTEMS

Kernel Machines

SYSTEMS GROUP

einige Regeln zur Kombination vom Kerneln:

( ) ( ) ( )

x y K x y K x y

K ,

=

1 ,

2 ,

( ) ( ) ( ) ( )

x y K x

( )

y K x y

K ,

=

1 ,

+

2 ,

( )

x y a K

( )

x y

K ,

= ⋅

1 ,

( )

B

K

( )

x y xT B y

K ,

=

T

⋅ ⋅

für K1, K2 Kernelfunktionen, a eine positive Konstante und B eine symmetrische positiv semi-definite Matrix.

(18)

DATABASE

SYSTEMS

Kernel Machines

SYSTEMS GROUP

Beispiele für verwendete Kernel-Funktionen:

Beispiele für verwendete Kernel Funktionen:

• linear:

K(x, y) = x, y

• polynomiell:

y y)

(

( x y c )

d

y x

K ( , ) = , +

p y

• Radiale Basisfunktionen:

( )

⎟ ⎠

⎜ ⎞

⎛ − ⋅ −

= exp

2

) ,

( x y x y

K γ

⎜ ⎠

⎟ ⎞

⎜ ⎛ xy

2

• Gauss Kernel:

⎟ ⎟

⎜ ⎠

⎜ ⎜

=

2

exp 2 )

,

( σ

y x

y x K

• Sigmoid: K ( x , y ) = tanh ( γ x , y + c )

(19)

DATABASE

SYSTEMS

Kernel Machines

SYSTEMS GROUP

Polynomieller Kernel (Grad 2)

Radial Basis Kernel

(20)

DATABASE

SYSTEMS

Training einer SVM

SYSTEMS GROUP

zu lösen ist folgendes Problem: g

( )

n n

n

1

⎟ ⎞

⎜ ⎛ ∑ ∑∑

Duales OP: maximiere

( )

i j

j i

i j

j i

i

i

y y K x x

L ,

2 ) 1

(

1 1

1

⎟ −

⎜ ⎞

= ⎛ ∑ ∑∑

= =

=

α α

α α

mit Bedingung

n

α

y 0 und 0 ≤ α ≤ C mit Bedingung und 0

≤ α i C

=

=

i

i

i y

1

α

0

d

⎥ ⎤

⎢ ⎡

⎥ ⎤

⎢ ⎡

⎥ ⎤

⎢ ⎡

⎥ ⎤

⎢ ⎡

⎥ ⎤

⎢ ⎡

T

α α

T y y K(x , x ) .. y ynK(x , xn)

α

1 1 1 1 1 1 1 1 1 1 1

oder

⎥ ⎥

⎢ ⎦

⎢ ⎢

⎥ ⎥

⎢ ⎦

⎢ ⎢

⎥ ⎥

⎢ ⎦

⎢ ⎢

⎥ ⎥

⎢ ⎦

⎢ ⎢

⎥ ⎥

⎢ ⎦

⎢ ⎢

⎣ α

n

α

n yn y K xn x yn ynK xn xn

α

n ..

) , ( ..

) , (

..

..

..

2 ..

.. 1

1 ..

max

1 1

⎦ ⎣ ⎦

⎦ ⎣

n n yn y1 ( ) yn yn ( n) n

mit Bedingung

n

α

y

=

0 und 0 ≤ α iC mit Bedingung und 0

α

y 0 ≤ α i C

(21)

DATABASE

SYSTEMS

Training einer SVM

SYSTEMS GROUP

zur Lösung:

zur Lösung:

• Standardalgorithmen aus der Optimierungstheorie für konvexe quadratische Probleme

konvexe quadratische Probleme

• für große Trainingsmengen numerische Algorithmen

• für große Trainingsmengen numerische Algorithmen notwendig

• es existieren einige Spezialalgorithmen für SVM-Training:

• Chunking / Decompositiong p

• Sequential Minimal Optimisation (SMO)

(22)

DATABASE

SYSTEMS

Multi-Class SVMs

SYSTEMS GROUP

Bisher SVMs nur anwendbar auf 2 Klassen Probleme !!

Bisher SVMs nur anwendbar auf 2 Klassen Probleme !!

Idee Kombination mehrere 2 Klassen SVMs

Idee: Kombination mehrere 2-Klassen SVMs zu Klassifikatoren, die beliebig viele Klassen unterscheiden können

unterscheiden können.

Multi-Class SVMs 2 klassische Ansätze:

⇒ Unterscheide jede Klasse von allen anderen (1-versus-Rest)

⇒ Unterscheide je 2 Klassen (1-versus-1)

(1 versus 1)

(23)

DATABASE

SYSTEMS

1-versus-Rest Ansatz

SYSTEMS GROUP

Klassifikation A B C

y

A

A B C

SVMs:

y

A C

Klassifikation A B C

R ES

ξ T

B

C A B C

B

C

R E S T

T

1 -1 -1 ξA

ξB ξC O

x T x Klasse von O

• 1-versus-Rest Ansatz : 1 SVM für jede Klasse.

• SVM trennt jedes Klasse von Vereinigung aller anderen Klassen ab

aller anderen Klassen ab

• Klassifiziere O mit allen Basis-SVMs.

Multiple Klassenzugehörigkeit möglich (Multi-Classification)p g g g oder

Entscheidung für die Klasse,

bei der Abstand ξ am größten ist bei der Abstand ξ am größten ist.

(24)

DATABASE

SYSTEMS

1-versus-1 Ansatz

SYSTEMS GROUP

Kl ifik ti

y

A SVMs:

A C

y

A A B C

A

SVMs:

Klassifikation

B

C A B C AB

A-B A-C B-C

A C C

B

C

AB C

o

x C x 1 0 2

A B C

Voting-Vektor

• 1-versus-1 Ansatz : 1 SVM für jedes Paar von Klassen.

• Klassifikation von Objekt O:

• Klassifikation von Objekt O:

1. Klassifiziere O mit allen Basis-SVMs.

2 Zähle “Stimmen”(Votes) für jede Klasse 2. Zähle Stimmen (Votes) für jede Klasse.

• Maximale Anzahl an Votes => Ergebnis.

(25)

DATABASE SYSTEMS

Vergleich 1-versus-rest und 1-versus-1

SYSTEMS

GROUP

und 1 versus 1

Kriterium 1-versus-rest 1-versus-1 Aufwand Training linear zur Anzahl der

Klassen ( O(|K|) )

Quadratisch zur anzahl der Klassen ( O(|K|2) )

Aufwand

Klassifikation

linear zur Anzahl der Klassen ( O(|K|) )

Quadratisch zur Anzahl der Klassen ( O(|K|2) )

Verbesserung:

„Decision Directed Acyclic Graphs“

Klassifikation in O(|K|) [Pl Ch i i i i 1999]

[Platt,Christianini 1999]

Genauigkeit tendenziell schlechter tendenziell höher,

( i üb

(nutzt wissen über

unterschiedliche Klassen besser aus)

besser aus)

(26)

DATABASE

SYSTEMS

Support Vector Machines

SYSTEMS GROUP

Diskussion Diskussion

+ erzeugt Klassifikatoren mit hoher Genauigkeit + erzeugt Klassifikatoren mit hoher Genauigkeit

+ verhältnismäßig schwache Tendenz zu Overfitting (Begründung durch Generalisierungtheorie)

(Begründung durch Generalisierungtheorie) + effiziente Klassifikation neuer Objekte

+ kompakte Modelle + kompakte Modelle

t U tä d l T i i it

- unter Umständen lange Trainingszeiten - aufwendige Implementierung

- gefundene Modelle schwer zu deuten

(27)

DATABASE

SYSTEMS

Support Vector Machines

SYSTEMS GROUP

Literatur:

• C. Cortes, V. Vapnik: Support-vector networks.

Machine Learning, 20:273-297, November 1995.

• C.J.C. Burges: A tutorial on support vector machines for pattern recognition.

Data Mining and Knowledge Discovery, 2(2):121-167,1998.

• T Joachims: Text categorisation with Support Vector Machines

• T. Joachims: Text categorisation with Support Vector Machines.

in Proceedings of European Conference on Machine Learning (ECML), 1998.

• N. Cristianini, J Shawne-Taylor: An Introduction to Support Vector Machines and other kernel based learning methods

Machines and other kernel-based learning methods.

Cambridge University Press 2000.

Referenzen

ÄHNLICHE DOKUMENTE

Tochtergesellschaft in Frankreich mit 60 Mitarbeitern; seit Jahren Notlage und absehbare Schwierigkeiten für die Zukunft, die jetzt zum Handeln nötigen; Muttergesellschaft führt