Kapitel 8: Kernel Methoden

Werbung
Kapitel 8: Kernel-Methoden
SS 2009
Maschinelles Lernen
und Neural Computation
150
Ausgangsbasis: Perceptron Learning Rule
wij  xi  if x j  y j
Target:
  xi  if x j  y j
 0  sonst
y j  " target"
• Rosenblatt (1962)
• Input wird dazugezählt
(abgezogen), wenn
Output falsch
(„mismatch-based“)
• Verwendung:
Klassifikation
SS 2009
Nach dem Lernschritt:
Maschinelles Lernen
und Neural Computation
151
Mathematische Formulierung
• Perceptron (1 Output):
• yi = +1/-1:
f x   wx T  w0
w  yi xi
f x    yi xi xT  w0
i
Inneres Produkt
(dot product)
• Daten kommen als inneres Produkt vor („duale
Darstellung“)
SS 2009
Maschinelles Lernen
und Neural Computation
152
Vor- und Nachteile des Perceptrons
• Vorteile:
– Globale Lösung garantiert (keine lokalen Minima)
– Leicht lösbar bzw. otpimierbar
• Nachteil:
– Auf lineare Separierbarkeit beschränkt
• Idee:
– Transformation der Daten auf einen Raum, in dem das
Problem linear trennbar ist
SS 2009
Maschinelles Lernen
und Neural Computation
153
Vergleiche Diskriminanzanalyse
• Allgemein linear:
p
gi x    wi yi x   w0
i 1
beliebige Vorverarbeitungsfunktionen, lineare Verknüpfung
• Neuronales Netz:

yi x   f w i x T

f ... Sigmoide
yi x   f w i  x  f ... Gauss
MLP
RBFN
NN implementiert adaptive Vorverarbeitung
nichtlinear in Parametern (w)
durch Approximationstheorem: beliebig nichtlineare Diskriminanzfunktion
SS 2009
Maschinelles Lernen
und Neural Computation
154
Kernels
• Ziel ist eine fix bestimmte Transformation xi→Φ(xi),
sodass das Problem linear trennbar ist (ev.
hochdimensional)
• Kernel: Funktion, die als inneres Produkt von Φs
darstellbar ist:
T
K x1 , x 2   Φx1 Φx 2 
• Φ muss nicht einmal bekannt sein
f x    yi K xi , x   w0
i
SS 2009
Maschinelles Lernen
und Neural Computation
155
Beispiel: Polynomischer Kernel
 
K x, z   xz
• 2 Dimensionen:
T 2
xz   x z
T 2
1
1  x2 z 2  
2
 x12 z12  x22 z 22  2 x1 x 2 z1 z 2 


 x , x , 2 x1 x2 z , z , 2 z1 z 2
2
1
2
2
 Φx Φz 
2
1
2
2

T

• Kernel entspricht tatsächlich einem inneren Produkt aus
Vektoren mit „Vorverarbeitung“
SS 2009
Maschinelles Lernen
und Neural Computation
156
Beispiel
• Durch Transformation wird Problem linear
trennbar
Ф
x22
x2
x1
x12
Ф-1
SS 2009
Maschinelles Lernen
und Neural Computation
157
Die Wirkung des Kernel-Tricks
• Einsatz des Kernels, z.B:

f x    yi K xi , x   w0   yi xi xT
i
 w
5
0
i
• 16x16-dimensionale Vektoren (z.B. Pixel-Bilder),
Polynom 5. Grades: Dimension = 1010
– Inneres Produkt zweier 10000000000-dim. Vektoren
• Berechnung erfolgt im niedrigdimensionalen Raum:
– Inneres Produkt zweier 256-dim. Vektoren
– 5-te Potenz
SS 2009
Maschinelles Lernen
und Neural Computation
158
Gauss‘scher Kernel
K x, z   e
 x  z / 2
2
• Ф nicht darstellbar, hat aber unendliche Dimension!
(wenn Trainingsset unbegrenzt groß sein kann)
• Folgt aus Mercer‘s Theorem:
K 1,1 K 1,2  K 1, m 
– Betrachte die Kernel-Matrix
über alle Trainingsbeispiele




 K 2,1 K 2,2  K 2, m  
K 







 K m,1 K m,2  K m, m 


– Berechne Eigenwerte und -funktionen, dann gilt:
K x, z    i  i x  i z 
i
– Für Gauss‘schen Kernel gilt: Kernel-Matrix hat vollen Rang!
Dimension so groß wie das Trainingsset
SS 2009
Maschinelles Lernen
und Neural Computation
159
Large Margin Classifier
• Hochdimensionaler Raum:
Overfitting leicht möglich
• Lösung: Suche
Entscheidungslinie
(Hyperebene) mit größtem
Abstand von den Punkten
wx T  b  0
wx T  b  1
• Optimierung:
Minimiere
w
2
2
(Maximiere d 
w
Abstand maximal
)
w
d
2
w
Randbedingung:


yi wx Ti  b  1  0
SS 2009
wx T  b  1
Maschinelles Lernen
und Neural Computation
160
Optimierung 1
• Quadratisches Optimierungsproblem
• Lösungsansatz: Lagrange-Multiplikanten
n
1
2
LP  w    i  yi wx Ti  b   1  min
2
i 1
• Randbedingung:  i  0
• 1. Ableitung nach w und b muss 0 sein. Das ergibt:
w    i yi x i
i
 y
i
i
0
i
SS 2009
Maschinelles Lernen
und Neural Computation
161
Optimierung 2
• Einsetzen der zuletzt ergebenen Terme:
1
LD    i    i j yi y j x i xTj  min
2 i, j
i
• „Duale“ Formulierung
• Wichtig: Daten stehen wieder als inneres Produkt (dot
product) im Term!
• Kernel-Trick kann wieder angewandt werden
1
LD    i    i j yi y j K x i , x j   min
2 i, j
i
SS 2009
Maschinelles Lernen
und Neural Computation
162
Optimierung 3
• Minimierung ist quadratisches
Programmierungsproblem
• Globales Minimum garantiert
• Methoden
– Chunking
nutzt die Tatsache dass viele αi=0
– Decomposition Methods
– Sequential Minimal Optimization (SMO)
löst eine Sequenz von Problemen der Größe 2
(Paare von Variablen)
SS 2009
Maschinelles Lernen
und Neural Computation
163
Support Vectors
• Support-Vectors: Punkte am Rand des Margins
• Bestimmen alleine die Lösung,
für alle anderen Punkte gilt: αi=0, können weggelassen
werden
Kernelfunktion
Rückprojektion
SS 2009
Support Vectors
Maschinelles Lernen
und Neural Computation
164
Daten mit Rauschen
• Bisherige Annahme: Problem ist exakt trennbar
• Bei Rauschen: Einführung von „Slack variables“:
weicht den strengen Margin etwas auf


yi wx Ti  b  1   i
i  0
Lernparameter
1
2
w  C   i  min
2
i

i
w
• Duales Problem (Lagrange) bleibt
gleich (bis auf Randbedingung)
LD    i 
i
1
 i j yi y j x i xTj  min

2 i, j
w
0  i  C
SS 2009
Maschinelles Lernen
und Neural Computation
165
Beispiel
Kernel: Polynom 3. Ordnung
SS 2009
Schätzung nur mit SupportVectors ergibt die selbe
Lösung:
Maschinelles Lernen
und Neural Computation
166
Bedingungen für Kernels
• Jede Funktion K(x,z), für die gilt
 K x, z  f x f z dxdz  0
• bzw.
 a a K x , x 
i
j
i
j
ai
f
für beliebige Trainingspunkte xi
i, j
ist eine Kernelfunktion („positive definite“ Kernels)
• Ist K1 und K2 ein Kernel, so sind auch
aK1 (für a>0)
K1+K2
K1*K2
Kernel
• Wahl des richtigen Kernels (Vorverarbeitung) ist entscheidend!
 Modellselektion notwendig
SS 2009
Maschinelles Lernen
und Neural Computation
167
SVM-Theorie: VC-Dimension
• „Shatter“: Wenn unter n Punkten alle 2n Klassifikationen
möglich sind
• VC-Dimension h … kleinstes m von Punkten, für die der
Lerner weniger als 2m Klassifikationen schafft
• Z.B.: VC-Dim(Perceptron)=k+1 (k … Inputdimension)
• Für komplexe Lerner kann oft nur Schranke angegeben
werden
SS 2009
Maschinelles Lernen
und Neural Computation
168
SVM-Theorie: Structural risk minimization
• Schranke für das „Risiko“ (Fehler)
Empirischer Fehler
am
Trainingsset
RR
Mit Wahrscheinlichkeit
Anzahl Trainingspunkte
1-δ
emp
 2n 
 
h ln
 1  ln  
h

4
 
n
Minimal möglicher Fehler
• Maximieren des Margins beschränkt VC-Dimension
• ||w|| kann als Regularisierungsterm betrachtet werden
• Gauss-Kernel: VC-Dim h=∞
SS 2009
Maschinelles Lernen
und Neural Computation
169
SVM und Neuronale Netze
• Gauss-Kernel: RBF
• Sigmoid-Kernel: MLP
K x, z   e
 x  z / 2
2

K x, z   tanh xzT  

• So viele „Hidden Units“ wie Trainingsmuster
• Allerdings andere Berechnung
• Raum ist ∞-dimensional
• SVM und Boosting: formaler Zusammenhang
vgl. Boosting: Punkte an der Entscheidungsgrenze
bekommen größte Bedeutung (wie SV)
SS 2009
Maschinelles Lernen
und Neural Computation
170
Andere Kernelverfahren
• Kernel-Trick funktioniert bei allen Methoden, in
denen Daten als inneres Produkt vorkommen
– Kernel-PCA
– Kernel-Fisher Diksriminante
– Kernel Regression
• Gauss‘sche Prozesse
SS 2009
Maschinelles Lernen
und Neural Computation
171
Zusammenfassung
• SVMs sind interessante Alternative zu klassischen neuronalen Netzen
• Kernel-Trick: Inneres Produkt von hochdimensionalen „Features“
(Vorverabeitung) kann niedrigdimensional berechnet werden
• Beschränken der VC-Dim. (Vermeidung von Overfitting): Large
Margin Classifier
• Lineares Modell, Quadratische Programmierung, Minimum garantiert
• Support Vectors: Punkte am Margin, sind alleine für Lösung
verantwortlich
• Aber: Overfitting dennoch möglich
• Modellselektion notwendig
• Wahl des geeigneten Kernels ist sehr wichtig!
SS 2009
Maschinelles Lernen
und Neural Computation
172
Herunterladen