Prof. Dr. Katharina Morik | Wissensentdeckung in Datenbanken SoSe 2008
Stützvektormethode (SVM)
! Maximieren der Breite einer separierenden Hyperebene – maximum margin method
! Transformation des Datenraums durch Kernfunktion
! StrukturelleRisikominimierung
! Vladimir Vapnik „The Nature of Statistical Learning Theory“
Springer Vg. 1995
! W.N. Wapnik, A. Tscherwonenkis „Theorie der Zeichenerkennung“
Akademie Vg. 1979
! Christopher Burges "A Tutorial on Support Vector Machines for Pattern Recognition" in: Data Mining and Knowledge Discovery2, 1998, 121-167
Prof. Dr. Katharina Morik | Wissensentdeckung in Datenbanken SoSe 2008
Erinnerung: Funktionslernen
Gegeben:
Beispiele X in LE
! die anhand einer Wahrscheinlichkeitsverteilung P auf X erzeugt wurden und
! mit einem Funktionswert Y = t(X) versehen sind (alternativ: Eine Wahrscheinlichkeitsverteilung P(Y|X) der möglichen Funktionswerte).
H die Menge von Funktionen in LH.
Ziel: Eine Hypothese h(X) ! H, die das erwartete Fehlerrisiko R(h) minimiert.
Risiko: =
!
x
x P h x Q h
R( ) ( , ) ( )
Fakultät für Informatik LS 8
technische universität dortmund
Beispiel: Funktionenlernen
! H = { fa | fa(x) = 1 für x " a, fa(x) = -1 sonst, a!#}
! R(f0) = 0,25 + 0 + 0,20 = 0,45
! R(f1,5) = 0 + 0 + 0,20 = 0,20
! R(f3,5) = 0 + 0,5 + 0,05 = 0,55
1 2 3
50%
0%
0%
25%
5%
20%
+
$
Fakultät für Informatik LS 8
technische universität dortmund
Reale Beispiele
! Klassifikation: Q(x,h) = 0, falls t(x) = h(x), 1 sonst
! Textklassifikation (x = Worthäufigkeiten)
! Handschriftenerkennung (x = Pixel in Bild)
! Vibrationsanalyse in Triebwerken (x = Frequenzen)
! Intensivmedizinische Therapie (x = Vitalzeichen)
! Regression: Q(x,h) = (t(x)-h(x))2
! Zeitreihenprognose (x = Zeitreihe, t(x) = nächster Wert)
Prof. Dr. Katharina Morik | Wissensentdeckung in Datenbanken SoSe 2008
Erinnerung: Minimierung des beobachteten Fehlers
Funktionslernaufgabe nicht direkt lösbar. Problem:
! Die tatsächliche Funktion t(X) ist unbekannt.
! Die zugrunde liegende Wahrscheinlichkeit ist unbekannt.
Ansatz:
! eine hinreichend große Lernmenge nehmen und für diese den Fehler minimieren.
%Empirical Risk Minimization
Prof. Dr. Katharina Morik | Wissensentdeckung in Datenbanken SoSe 2008
Beispiel
Fakultät für Informatik LS 8
technische universität dortmund
Beispiel II
Fakultät für Informatik LS 8
technische universität dortmund
Probleme der ERM
! Aufgabe ist nicht eindeutig beschrieben: Mehrere Funktionen mit minimalem Fehler existieren. Welche wählen?
! Overfitting: Verrauschte Daten und zu wenig Beispiele führen zu falschen Ergebnissen.
Prof. Dr. Katharina Morik | Wissensentdeckung in Datenbanken SoSe 2008
Beispiel III
Prof. Dr. Katharina Morik | Wissensentdeckung in Datenbanken SoSe 2008
Einführung
! Bernhard Schölkopf, Alexander Smola „Learning with Kernels“ MIT Press 2002
! Zwei-Klassen-Problem:
! Trainingsdaten (x1, y1), ..., (xm, ym), xm!X, ym !{+1, -1}
! Ähnlichkeit eines neuen xi bestimmt yi
! Ähnlichkeitsmaß k: X & X " # (x, x‘) " k(x, x‘)
z.B. Skalarprodukt x*x‘:=(...+ [x]i [x‘]i +... )
Fakultät für Informatik LS 8
technische universität dortmund
Grundbegriffe
! Skalarprodukt x*y: Seien x und y Vektoren aus
! Euklidsche Länge (Betrag) eines Vektors ||x||:
! Hyperebene H: Sei w'0 der Normalenvektor und b!# der bias
[ ][ ]
i p ii y
x y
x
!
=
=
1
*
!p
[ ]
21
1
* 2!!
"
#
$$%
&
=
=
'
= p i
xi
x x x
{ * 0 }
) ,
( w b = x w x + b = H
Fakultät für Informatik LS 8
technische universität dortmund
Warum Skalarprodukt?
! Cosinus des Winkels zwischen x und x‘, wenn beide Vektoren auf die Länge 1 normiert sind.
! Abstand zwischen x und x‘ ist Länge des Differenzvektors.
! Voraussetzung: Beispiele sind Vektoren.
! Überführung in einen Raum mit Skalarprodukt ( : X"H
! Wenn X bereits ein Raum mit Skalarprodukt ist, kann nicht- lineare Abbildung ( auch sinnvoll sein.
Prof. Dr. Katharina Morik | Wissensentdeckung in Datenbanken SoSe 2008
Einfachster Lernalgorithmus
! Beispiele in einem Raum mit Skalarprodukt.
! Durchschnitt einer Klasse:
in der Mitte liegt Punkt c:=(c+ + c-)/2
Vektor x-c verbindet neues Beispiel und c
! Ähnlichkeit zum Durchschnitt einer Klasse:
Winkel zwischen w:=c+ - c- und x-c
! Berechnen über Skalarprodukt!
{ }
{
!
}!
"
" =
"
+ + = +
=
=
1 1
1 1
i i
y i
i y i
i
m x c
m x c
Anzahl positiver Beispiele: m+
Prof. Dr. Katharina Morik | Wissensentdeckung in Datenbanken SoSe 2008
Lernalgorithmus im Bild
+ +
+ +
$
$
c+ $ c-
w
c x x-c
Fakultät für Informatik LS 8
technische universität dortmund
Lernalgorithmus in Formeln
( )
( )
( )
( ) ( )
( )
( ) ( )
( ) ( ) ( )
( ) ( )
(
x c x c b)
sign
c c c
x c x sign
c c c c c c c x c x sign
c c c
c x sign
w c x sign y
+
!
"
!
=
#$
& % '
( ! " ! + "
=
#$
& % '
( ! " ! " " ! + + !
=
"
! +
"
=
!
"
=
"
+
+
"
"
+
"
+
"
"
+ +
"
+
"
+
"
+
2 2
2 2
2 1
2 1 2 1 2
1 2 1 2 /
Fakultät für Informatik LS 8
technische universität dortmund
Entscheidungsfunktion
Wir setzen nun die Mittelwerte für c+ und c- ein:
( ) ( )
!!"
#
$$
%
&
+ '
=
!!
"
#
$$
%
&
+ '
=
( (
( (
' ' = +
+ =
' ' = +
+ =
b x x m k
x x m k
sign
b x m x
x m x
sign y
i i
i i
y i
i y
i
i
y i
i y
i i
} { }
{
} { }
{
1 , 1 ,
1 * 1 *
Das neue Beispiel wird also mit allen Trainingsbeispielen verglichen.
Prof. Dr. Katharina Morik | Wissensentdeckung in Datenbanken SoSe 2008
Fast...
... wäre das schon die Stützvektormethode. Aber:
! Einfach den Mittelpunkt der Beispiele einer Klasse zu berechnen ist zu einfach, um ein ordentliches w zu bekommen.
! Man erhält so nicht die optimale Hyperebene.
Prof. Dr. Katharina Morik | Wissensentdeckung in Datenbanken SoSe 2008
Die optimale Hyperebene
! Beispiele heißen linear trennbar, wenn es eine Hyperebene H gibt, die die positiven und negativen Beispiele voneinander trennt.
! H heißt optimale Hyperebene, wenn ihr Abstand d zum nächsten positiven und zum nächsten negativen Beispiel maximal ist.
! Satz: Es existiert eine eindeutig bestimmte optimale Hyperebene.
H
d d
Fakultät für Informatik LS 8
technische universität dortmund
Grundbegriffe II
! Der Normalenvektor steht senkrecht auf allen Vektoren der Hyperebene. Es gilt:
!"
!#
$
<
=
>
+
Raum negativen im
x falls
H auf x falls
Raum positiven im
x falls b
x w
0 0 0
*
Fakultät für Informatik LS 8
technische universität dortmund
Bild
$
$
$ $
+
+ +
w
$
$
$
+
+ w*x+b=+1 w*x+b=-1
w*x+b=0
Skalieren von w und b, so dass
|w*x+b|=1 für alle Beispiele am nächsten zur Hyperebene.
Prof. Dr. Katharina Morik | Wissensentdeckung in Datenbanken SoSe 2008
Separierende Hyperebene
! Beispiele in Form von Vektoren x aus #p und Klassifikation y=+1 (positive Beispiele) oder
y=-1 (negative Beispiele) E={ [x1,y1], [x2,y2], ..., [xm,ym]}
! Separierende Hyperebene H:
positive Beispiele im positiven Halbraum, negative Beispiele im negativen Halbraum, x*w+b=0 für Punkte auf der Hyperebene.
! Der Abstand von H zum Ursprung ist b / ||w||
! Die Separierbarkeit erfüllen viele Hyperebenen.
Prof. Dr. Katharina Morik | Wissensentdeckung in Datenbanken SoSe 2008
Margin für separierbare Beispiele
! Abstand d+ von H zum nächsten positiven Beispiel
! Abstand d- von H zum nächsten negativen Beispiel
! Margin: d+ + d-
! H1
! H2
zusammengefasst:
! Der Abstand von H1 zum Ursprung ist |1-b | / ||w||
! Der Abstand von H2 zum Ursprung ist |–1-b | / ||w||
! d+ = d- = 1 / ||w|| und margin = 2 / ||w||
(
*)
1 0:
1 1
*
1 1
*
>
! +
"
!
=
!
# +
+
= +
$ +
b x w y x
y bei b
w x
y bei b
w x
i i i
i i
i i
Fakultät für Informatik LS 8
technische universität dortmund
Margin
! H1 und H2 sind parallel, haben denselben Normalenvektor w.
! Per Konstruktion liegt kein Beispiel zwischen H1 und H2.
! Um 2 / ||w|| zu maximieren, müssen wir
||w|| minimieren.
! Die Nebenbedingungen müssen eingehalten werden:
H
d d
H1
H2 +
$
( * ) 1 0
: + " !
# i y
ix
iw b
Fakultät für Informatik LS 8
technische universität dortmund
Minimieren der Länge
! Um die geometrische Breite zu maximieren, müssen wir die Länge von w minimieren.
Wir können genauso gut w*w minimieren.
! So finden wir nun eine eindeutige Hyperebene aus den vielen möglichen trennenden.
! Für alle Beispiele ist sie richtig: f(xi)>0 gdw. yi>0
! Wir können sie anwenden, um neue unklassifizierte Beobachtungen zu klassifizieren:
f(x)=w*x+b
das Vorzeichen gibt die Klasse an.
w 1
Prof. Dr. Katharina Morik | Wissensentdeckung in Datenbanken SoSe 2008
Optimierungsaufgabe
! Minimiere ||w||2
! so dass für alle i gilt:
f(xi) = w*xi+b " 1 für yi = 1 und f(xi) = w*xi+b ) -1 für yi = -1
! Äquivalente Nebenbedingungen: yi*f(xi) –1 " 0
! Konvexes, quadratisches Optimierungsproblem % eindeutig in O(n3) für n Beispiele lösbar.
! Satz: ||w|| = 1/d, d = Breite der optimalen Hyperebene bzgl.
der Beispiele.
Prof. Dr. Katharina Morik | Wissensentdeckung in Datenbanken SoSe 2008
Lagrange-Funktion
! Sei das Optimierungsproblem gegeben, f(w) zu minimieren unter der Nebenbedingung gi(w)"0 i=1,...,m, dann ist die Lagrange-Funktion
! Dabei muss gelten
! Für Ungleichheitsbedingungen werden *-Multiplikatoren eingeführt, Gleichheitsbedingungen werden direkt eingesetzt.
! Es ist leichter, Vektor * zu bestimmen, als direkt nach der Erfüllung der Bedingungen zu suchen.
!
="
=
m i
i
i
g w
w f w
L
1
) ( )
( ) ,
( # #
0
i!
"
Fakultät für Informatik LS 8
technische universität dortmund
Optimierungsfunktion als Lagrange
! Minimiere L(w,b,*)!
! Eine optimale Lösung zeichnet sich durch die folgenden notwendigen Bedingungen an * aus:
! L soll bezüglich w und b minimiert, bezüglich * maximiert werden.
( )
(
* 1)
2 ) 1 , , (
1
2! + !
=
"
=
b w x y w
b w
L m i i
i
#i
#
i i m i
iyx
w
!
=
=
1
" 0
1
!
== i m i
iy
"
Fakultät für Informatik LS 8
technische universität dortmund
Karush-Kuhn-Tucker Bedingungen
! Für das primale Optimierungsproblem gelten die KKT Bedingungen gdw. w, b, * die Lösung ist.
i Beispiele, v Attribute der Beispiele=Komponenten der Vektoren
( )
( )
(
* 1)
0:
0 :
0 1
*
0 )
, , (
,..., 1 0
) , ,
( ,
=
! +
"
#
"
#
! +
=
!
$ =
$
=
=
!
$ =
$
%
%
b x w y i
i b w x y
y b
w bL
d v
x y w
b w w L
i i i
i i i
i i i i
v i i i v v
&
&
&
&
&
&
Prof. Dr. Katharina Morik | Wissensentdeckung in Datenbanken SoSe 2008
Duales Problem
! Die Gleichheitsbedingungen werden in L(w,b,*) eingesetzt.
! Der duale Lagrange-Ausdruck L(*) soll maximiert werden.
! Das Minimum des ursprünglichen Optimierungsproblems tritt genau bei jenen Werten von w,b,* auf wie das Maximum des dualen Problems.
Prof. Dr. Katharina Morik | Wissensentdeckung in Datenbanken SoSe 2008
Anschaulich?
! Wir wollen w minimieren, also +w=0, also Minimum von w in Richtung des Gradienten suchen.
! Die Nebenbedingungen sind entweder weit ab oder der auf ihnen liegende nächste Punkt zum Minimum gibt das Minimum unter Einhaltung der Nebenbedingungen an.
Yi(w*xi+b)=1
unbeschränkt Nebenbedingung beschränkt
Fakultät für Informatik LS 8
technische universität dortmund
Umformung
( )
[ ]
( )
!
!
!
!
!
!
!
!
=
=
=
=
=
=
=
=
+
"
=
+
"
"
=
+ +
"
=
"
+
"
m i
i m
i i i i
m i
i m
i i i m
i i i i
m
i i
i i m
i i
i i m
i i
w x y w
w
b y w
x y w
w
b w x y w
w
b w x y w
w
1 1
1 1
1
1 1
1
* 2 *
1
* 2 *
1
* 2 *
1
1
* 2 *
1
#
#
#
#
#
#
#
#
Bei gutem * muss gelten
!
=
=
m i
i iy
1
0 "
Fakultät für Informatik LS 8
technische universität dortmund
Umformung II
! Es gilt für optimalen Vektor * wir ersetzen
! Mit den Nebenbedingungen:
und *i"0
!
==
m i
i i iyx w
1
"
!
==
m i
i iy
1
0 "
!!
!
!
!!
!!
!
!
= =
=
=
= =
= =
=
=
"
+
=
+
"
=
+
"
m i
m j
j i j i j i m
i i
m i
i m
i m j
j i j i j i m
i m j
j i j i j i
m i
i m
i i i i
x x y y
x x y y x
x y y
w x y w
w
1 1
1
1
1 1
1 1
1 1
2 * 1
* 2 *
1
* 2 *
1
#
#
#
#
#
#
#
#
#
#
Prof. Dr. Katharina Morik | Wissensentdeckung in Datenbanken SoSe 2008
SVM Optimierungsproblem
! Maximiere
unter 0 ) *i für alle i und ,*iyi = 0
! Für jedes Beispiel gibt es ein * in der Lösung.
! 0 = *i heißt, dass das Beispiel xi im passenden Halbraum liegt.
! 0 < *i heißt, dass das Beispiel xi auf H1 oder H2 liegt (Stützvektor).
! Es gilt w = ,*iyixi,
! Also f(x) = ,*iyi(xi*x)+b
! Also ist der beste Normalenvektor w eine Linearkombination von Stützvektoren (*i'0).
( )
!!
!
= = ="
#
=
n i
n j
j i j i j i n
i
i yy x x
L
1 1
2 1 1
)
($ $ $$
Prof. Dr. Katharina Morik | Wissensentdeckung in Datenbanken SoSe 2008
Was wissen wir jetzt?
! Maximieren des Margins einer Hyperebene ergibt eine eindeutige Festlegung der optimalen trennenden Hyperebene.
! Dazu minimieren wir die Länge des Normalenvektors w.
! Formulierung als Lagrange-Funktion
! Formulierung als duales Optimierungsproblem
! Das Lernergebnis ist eine Linearkombination von Stützvektoren.
! Mit den Beispielen müssen wir nur noch das Skalarprodukt rechnen.
Fakultät für Informatik LS 8
technische universität dortmund
Nicht linear trennbare Daten
! In der Praxis sind linear trennbare Daten selten.
! 1. Ansatz: Entferne eine minimale Menge von Datenpunkten, so dass die Daten linear trennbar werden (minimale Fehlklassifikation).
! Problem: Algorithmus wird exponentiell.
?
Fakultät für Informatik LS 8
technische universität dortmund
Weich trennende Hyperebene
! Wähle C!#>0 und minimiere
! so dass für alle i gilt:
f(xi) = w*xi+b " 1--i für yi = 1 und f(xi) = w*xi+b ) -1+-i für yi = -1
! Äquivalent: yi*f(xi) " 1- -i
!
=+
n i
C
iw
1
2
"
+1 f
- -
Prof. Dr. Katharina Morik | Wissensentdeckung in Datenbanken SoSe 2008
Bedeutung von - und *
f(x)=0 f(x)=1 f(x)=-1
-=0, *=0
->1, *=C 0<-<1, 0<*<C -=0, 0)*<C