Kernel-Methode
# Kernel-Methode

Im maschinellen Lernen bezeichnen Kernel-Methoden eine Klasse an Algorithmen, die zur Mustererkennung verwendet werden. Kernel-Methoden verwenden sogenannte Kernelfunktionen. Eine Kernelfunktion transformiert eine Menge von bekannten Datenpunkten in eine Menge von höherdimensionalen Datenpunkten. Danach sucht eine Kernel-Methode in dem neuen, höherdimensionalen Raum nach einer Hyperebene, die die Datenpunkte korrekt klassifiziert. Die Abbildung zum Kernel-Trick zeigt ein einfaches Beispiel. Die Transformation durch eine Kernelfunktion erlaubt außerdem eine implizite Berechnung im höherdimensionalen Raum. Dadurch können Kernel-Methoden auf der Suche nach einer geeigneten Hyperebene hochdimensionale Räume benutzen, ohne die dafür benötigte Rechenzeit erheblich zu erhöhen. Bekannte Kernel-Methoden sind Support Vector Machines, Gaußprozesse und die Kernel-PCA.

## Formale Definition Kernel

Sei $X$ ein Eingaberaum. Eine Abbildung $K\colon X\times X\to \mathbb {R}$ heißt Kernel, wenn es einen Skalarproduktraum $(F,\langle \cdot ,\cdot \rangle )$ und eine Abbildung $\phi \colon X\to F$ in diesen Raum gibt mit: $K(x,y)=\langle \phi (x),\phi (y)\rangle \;\;\;\forall x,y\in X$.

$F$ heißt Featurespace oder Merkmalsraum, $\phi$ Featuremapping oder Merkmalsabbildung. Ein Kernel ist also eine Möglichkeit, das Skalarprodukt zweier Punkte $x,y$ im Merkmalsraum zu berechnen, ohne die potentiell sehr hochdimensionale Repräsentation $\phi (x),\phi (y)$ explizit ausrechnen zu müssen. Dieses Skalarprodukt im Merkmalsraum kann dann für Klassifizierungsalgorithmen wie Support Vector Machines verwendet werden.

In der Praxis muss der Featurespace nicht explizit bekannt sein, da Kernel durch den Satz von Mercer eine einfache Charakterisierung besitzen.

## Verschiedene Klassen von Kernel-Funktionen

Es gibt verschiedene Arten von Kerneln, die sich zum Teil über Parameter an die gegebene Problemstellung anpassen lassen:

* lineare Kernel $k(x,y)=\langle x,y\rangle$
* polynomiale Kernel $k(x,y)=\langle x,y\rangle ^{d}$, mit einem freien Parameter $d$
* Radiale-Basisfunktion-Kernel (RBF) $k(x,y)=\exp \left(-{\tfrac {||x-y||^{2}}{2\sigma ^{2}}}\right)$, wobei die Bandbreite $\sigma$ ein freier Parameter ist
* Fisher Kernel
* Graph Kernel
* Kernel smoother
* String Kernel
* Neural tangent Kernel
* Neural network Gaussian process (NNGP) Kernel

## Kernel-Trick

Bei Kernel-Methoden gibt es den Kernel-Trick, mit dem z. B. ein linearer Klassifikator erfolgreich auf nicht linear klassifizierbare Daten angewendet werden kann. Dies wird erreicht, indem man die Daten in einen höherdimensionalen Raum transformiert, in welchem man sich eine bessere lineare Separierbarkeit erhofft (siehe Bild). Dieser Vorgang kann als eine Art Feature-Engineering aufgefasst werden.

