Zum Hauptinhalt springen

Kapitel 7 – Kernel-Trick

Folien: 📄 10_kern.pdf · Woche 5, Prof. Franz

Worum geht es?​

Lineare Lernmaschinen (Perzeptron, lineare SVM, lineare Regression) sind einfach und gut verstanden, können aber nur lineare Zusammenhänge darstellen. Die Folien heißen „Kerninduzierte Merkmalsräume“ und zeigen, wie man diese Grenze überwindet, ohne den linearen Rahmen zu verlassen:

  1. Bilde die Daten mit einer Einbettung Φ\Phi in einen (oft sehr hoch- oder unendlichdimensionalen) Merkmalsraum ab und lerne dort linear.
  2. Schreibe den Lernalgorithmus in der dualen Form, in der die Daten nur in Skalarprodukten ⟨Φ(xi)⋅Φ(xj)⟩\langle\Phi(\mathbf{x}_i)\cdot\Phi(\mathbf{x}_j)\rangle vorkommen.
  3. Ersetze diese Skalarprodukte durch eine Kernfunktion k(xi,xj)k(\mathbf{x}_i,\mathbf{x}_j), die man direkt im Eingaberaum ausrechnet. Φ\Phi wird nie explizit gebraucht. Das ist der Kernel-Trick.

Das Mercer-Theorem beantwortet schließlich die Frage, welche Funktionen kk überhaupt als Kern taugen: genau die, deren Gram-Matrix auf jeder endlichen Punktmenge positiv semidefinit ist.

Dieses Kapitel baut direkt auf der Soft-Margin-SVM und ihrem dualen Problem aus Kapitel 6 auf. Die kernalisierte lineare Regression aus Kapitel 4 ist ein weiteres Beispiel für dieselbe Idee.

Aufbau des Kapitels​

AbschnittInhalt
7.1 MerkmalsräumeSkalarprodukt, lineare Maschinen und ihre Grenzen, Einbettung Φ\Phi, Beispiel Monome 2. Grades (Folien 4–8)
7.2 Duale DarstellungEinbettungsstärken, Repräsentertheorem, primal vs. dual, Skalarprodukt als Ähnlichkeit, duale SVM, Pegasos dual (Folien 9–13)
7.3 Der Kernel-TrickKernfunktion statt Skalarprodukt, Polynomkern Schritt für Schritt hergeleitet, Rechenaufwand (Folien 15–16)
7.4 Unendlichdimensionale MerkmalsräumeFolgenräume, lpl_p-Normen, Skalarprodukt auf l2l_2, lineare Maschinen mit unendlich vielen Merkmalen (Folien 17–20)
7.5 Mercer-KerneSymmetrie, Mercer-Theorem, positiv definite Kerne, Gram-Matrix mit Zahlenbeispielen (Folien 22–24)
7.6 Kernbeispiele und nichtlineare SVMPolynom-, Sigmoid-, Gaußkern und Parameter, Kombinationsregeln, Kerne für Strings, kernalisierte SVM (Folien 25–28)

Die wichtigsten Formeln auf einen Blick​

Formel
Kernfunktionk(x,y)=⟨Φ(x)⋅Φ(y)⟩k(\mathbf{x},\mathbf{y}) = \langle\Phi(\mathbf{x})\cdot\Phi(\mathbf{y})\rangle
duale Entscheidungsfunktionf(x)=∑i=1ℓαiyi k(xi,x)+bf(\mathbf{x}) = \sum_{i=1}^{\ell}\alpha_iy_i\,k(\mathbf{x}_i,\mathbf{x}) + b
Polynomkern(x⊤y)p(\mathbf{x}^\top\mathbf{y})^p bzw. (x⊤y+c)p(\mathbf{x}^\top\mathbf{y}+c)^p
Gaußkern (RBF)exp⁡(−∥x−y∥2/(2σ2))\exp\big(-\lVert\mathbf{x}-\mathbf{y}\rVert^2/(2\sigma^2)\big)
KernbedingungKij=k(xi,xj)K_{ij} = k(\mathbf{x}_i,\mathbf{x}_j) symmetrisch und v⊤Kv≥0\mathbf{v}^\top K\mathbf{v}\ge 0 für alle v\mathbf{v} und alle Punktmengen

Prüfungsrelevant / Selbsttest​

1. Was ist die zentrale Beobachtung, auf der der Kernel-Trick beruht?

Antwort

In der dualen Form vieler linearer Lernverfahren (Perzeptron, SVM, Kleinste-Quadrate-Regression, allgemein: Repräsentertheorem) kommen die Datenpunkte nur in Skalarprodukten ⟨xi⋅xj⟩\langle\mathbf{x}_i\cdot\mathbf{x}_j\rangle bzw. ⟨xi⋅x⟩\langle\mathbf{x}_i\cdot\mathbf{x}\rangle vor. Ersetzt man diese durch k(xi,xj)=⟨Φ(xi)⋅Φ(xj)⟩k(\mathbf{x}_i,\mathbf{x}_j) = \langle\Phi(\mathbf{x}_i)\cdot\Phi(\mathbf{x}_j)\rangle, arbeitet das Verfahren linear im Merkmalsraum, ohne dass Φ\Phi je berechnet wird. Siehe 7.3.

2. Zeige, dass k(x,z)=(x⊤z)2k(\mathbf{x},\mathbf{z}) = (\mathbf{x}^\top\mathbf{z})^2 für x,z∈R2\mathbf{x},\mathbf{z}\in\mathbb{R}^2 ein Skalarprodukt in einem Merkmalsraum ist. Wie sieht Φ\Phi aus?

Antwort

(x1z1+x2z2)2=x12z12+2x1x2z1z2+x22z22=⟨Φ(x)⋅Φ(z)⟩(x_1z_1+x_2z_2)^2 = x_1^2z_1^2 + 2x_1x_2z_1z_2 + x_2^2z_2^2 = \langle\Phi(\mathbf{x})\cdot\Phi(\mathbf{z})\rangle mit Φ(x)=(x12, 2x1x2, x22)⊤\Phi(\mathbf{x}) = (x_1^2,\ \sqrt2x_1x_2,\ x_2^2)^\top. Der Faktor 2\sqrt2 ist nötig, damit der gemischte Term mit Vorfaktor 2 herauskommt. Siehe 7.3.

3. Was ist der Unterschied zwischen primaler und dualer Darstellung, und wann lohnt sich die duale?

Antwort

Primal lernt man w\mathbf{w} mit so vielen Komponenten wie der Merkmalsraum Dimensionen hat. Dual lernt man α∈Rℓ\boldsymbol\alpha\in\mathbb{R}^\ell, einen Koeffizienten pro Trainingspunkt, mit w=∑iαiyiΦ(xi)\mathbf{w} = \sum_i\alpha_iy_i\Phi(\mathbf{x}_i). Die duale Form lohnt sich, wenn der Merkmalsraum sehr hoch- oder unendlichdimensional ist und die Anzahl der Trainingspunkte moderat. Siehe 7.2.

4. Welche Bedeutung haben die Einbettungsstärken αi\alpha_i beim Perzeptron?

Antwort

αi\alpha_i zählt, wie oft Beispiel xi\mathbf{x}_i beim Training falsch klassifiziert wurde. Es ist ein Maß für Schwierigkeit bzw. Informationsgehalt des Punktes: Leichte Punkte haben αi=0\alpha_i = 0, Punkte nahe der Grenze große αi\alpha_i.

5. Wie lautet die notwendige und hinreichende Bedingung dafür, dass eine Funktion k(x,y)k(\mathbf{x},\mathbf{y}) ein gültiger Kern ist? Warum ist sie notwendig?

Antwort

Für jede endliche Punktmenge x1,…,xl\mathbf{x}_1,\dots,\mathbf{x}_l muss die Gram-Matrix Kij=k(xi,xj)K_{ij} = k(\mathbf{x}_i,\mathbf{x}_j) symmetrisch und positiv semidefinit sein: v⊤Kv≥0\mathbf{v}^\top K\mathbf{v}\ge 0 für alle v∈Rl\mathbf{v}\in\mathbb{R}^l. Notwendig, weil für einen echten Kern v⊤Kv=∥∑iviΦ(xi)∥2≥0\mathbf{v}^\top K\mathbf{v} = \lVert\sum_iv_i\Phi(\mathbf{x}_i)\rVert^2 \ge 0 gilt. Siehe 7.5.

6. Ist k(x,y)=∥x−y∥2k(\mathbf{x},\mathbf{y}) = \lVert\mathbf{x}-\mathbf{y}\rVert^2 ein Kern? Begründe.

Antwort

Nein. Für x1=0x_1 = 0, x2=1x_2 = 1 ist K=(0110)K = \begin{pmatrix}0&1\\1&0\end{pmatrix}, und mit v=(1,−1)⊤\mathbf{v} = (1,-1)^\top folgt v⊤Kv=−2<0\mathbf{v}^\top K\mathbf{v} = -2 \lt 0. Ein Gegenbeispiel genügt. Siehe 7.5.

7. Welchen Einfluss hat der Parameter σ\sigma beim Gaußkern?

Antwort

σ\sigma ist die Breite der Gauß-Glocke, also die Reichweite der Ähnlichkeit. Kleines σ\sigma: Nur sehr nahe Punkte sind ähnlich, die Gram-Matrix nähert sich der Einheitsmatrix, die Entscheidungsgrenze wird zerklüftet, Gefahr der Überanpassung. Großes σ\sigma: Alle Punkte sind ähnlich, die Grenze wird glatt bis fast linear, Gefahr der Unteranpassung. In scikit-learn ist γ=1/(2σ2)\gamma = 1/(2\sigma^2). Siehe 7.6.

8. Sind k1+k2k_1 + k_2, k1⋅k2k_1\cdot k_2 und k1−k2k_1 - k_2 Kerne, wenn k1,k2k_1, k_2 Kerne sind?

Antwort

k1+k2k_1+k_2 ja (Summe zweier psd-Matrizen ist psd), k1⋅k2k_1\cdot k_2 ja (Folie 26, Einbettung über alle Produkte der Merkmale), k1−k2k_1 - k_2 im Allgemeinen nein, z. B. ist k1−2k1=−k1k_1 - 2k_1 = -k_1 auf der Diagonale negativ. Siehe 7.6.

9. Wie kann eine lineare Maschine in einem unendlichdimensionalen Merkmalsraum überhaupt berechnet werden?

Antwort

Primal bräuchte man unendlich viele Gewichte. Dual ist f(x)=∑i=1ℓαiyik(x,xi)+bf(\mathbf{x}) = \sum_{i=1}^{\ell}\alpha_iy_ik(\mathbf{x},\mathbf{x}_i) + b eine endliche Summe über die Trainingspunkte. Die unendliche Summe ∑iλiϕi(x)ϕi(y)\sum_i\lambda_i\phi_i(\mathbf{x})\phi_i(\mathbf{y}) steckt in der geschlossen berechenbaren Kernfunktion. Voraussetzung: ∑iλiϕi(x)2<∞\sum_i\lambda_i\phi_i(\mathbf{x})^2 \lt \infty für alle x\mathbf{x}. Siehe 7.4.

10. Warum überpasst die nichtlineare SVM trotz unendlichdimensionalem Merkmalsraum (z. B. Gaußkern) nicht zwangsläufig?

Antwort

Wegen der Maximierung der Trennbreite: Die Komplexität einer Trennebene mit großem Margin hängt nicht von der Raumdimension ab. Die SVM wählt unter allen trennenden Hyperebenen die mit größtem Margin, also die einfachste. Über CC und die Kernparameter (z. B. σ\sigma) steuert man den Kompromiss, sie werden per Kreuzvalidierung gewählt. Siehe 7.6.