Im maschinellen Lernen bezeichnen Kernel-Methoden eine Klasse von Algorithmen zur Mustererkennung. Diese Methoden nutzen sogenannte Kernelfunktionen, welche eine Menge von bekannten Datenpunkten in einen höherdimensionalen Raum transformieren. In diesem neuen Raum sucht die Kernel-Methode nach einer Hyperebene, die die Datenpunkte korrekt klassifiziert. Die Abbildung zum Kernel-Trick veranschaulicht ein einfaches Beispiel. Eine besondere Eigenschaft der Kernelfunktionen ist, dass sie eine implizite Berechnung im höherdimensionalen Raum ermöglichen. Dadurch können Kernel-Methoden bei der Suche nach einer geeigneten Hyperebene hochdimensionale Räume verwenden, ohne die Rechenzeit signifikant zu erhöhen.[1] Bekannte Kernel-Methoden sind unter anderem Support Vector Machines, Gauß-Prozesse und die Kernel-PCA.

Formale Definition Kernel

Bearbeiten

Sei ein Eingaberaum. Eine Abbildung heißt Kernel, wenn es einen Skalarproduktraum und eine Abbildung in diesen Raum gibt mit .

heißt Featurespace oder Merkmalsraum, Featuremapping oder Merkmalsabbildung. Ein Kernel ist also eine Möglichkeit, das Skalarprodukt zweier Punkte im Merkmalsraum zu berechnen, ohne die potentiell sehr hochdimensionalen Repräsentationen , 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 aufweisen.

Verschiedene Klassen von Kernel-Funktionen

Bearbeiten

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

  • lineare Kernel
  • polynomiale Kernel , mit einem freien Parameter
  • Radiale-Basisfunktion-Kernel (RBF) , wobei die Bandbreite ein freier Parameter ist
  • Fisher Kernel
  • Graph Kernel
  • Kernel Smoother
  • String Kernel
  • Neural Tangent Kernel
  • Neural Network Gaussian Process (NNGP) Kernel

Kernel-Trick

Bearbeiten

Bei Kernel-Methoden gibt es den Kernel-Trick, mit dem beispielsweise ein linearer Klassifikator erfolgreich auf nicht-linear trennbare Daten angewendet werden kann. Dies wird erreicht, indem die Daten in einen höherdimensionalen Raum transformiert werden, in dem eine bessere lineare Separierbarkeit erwartet wird (siehe Abbildung). Dieser Vorgang kann als eine Form des Feature-Engineering verstanden werden.

Gegeben seien die Abbildung und der Kernel . Dann kann eine SVM mit diesem Kernel K die roten und lila Datenpunkte durch eine Hyperebene trennen. Die zweidimensionalen Trainingspunkte werden durch in den dreidimensionalen Raum abgebildet, wo eine trennende Hyperebene leicht gefunden werden kann.

Literatur

Bearbeiten
  • Christopher M. Bishop: Pattern Recognition and Machine Learning. Information Science and Statistics, Springer-Verlag, 2008, ISBN 978-0387310732
  • Nello Cristianini, John Shawe-Taylor: Kernel Methods for Pattern Classification. Cambridge, 2004.
  • Bernhard Schölkopf, Alex Smola: Learning with Kernels. MIT Press, Cambridge, MA, 2002.
  • Thomas Hofmann, Bernhard Schölkopf, Alexander J Smola: Kernel methods in machine learning. In: Annals Statistics 36 (3) 2008: 1171–1220. PDF.
Bearbeiten

Einzelnachweise

Bearbeiten
  1. Paul Wilmott: Grundkurs Machine Learning. 1. Auflage. Rheinwerk Verlag GmbH, Bonn 2020, ISBN 978-3-8362-7598-9, S. 133.

📚 Artikel Terkait di Wikipedia

Rust (Programmiersprache)

Strukturen oder Tupel) enthalten. struct Person { age: u8, first_name: String, last_name: String, } impl Person { // Erzeuge ein neues Person-Objekt. // Diese

Graphical Kernel System

Graphical Kernel System (GKS) war der erste ISO-Standard für Computergrafik (ISO/IEC 7942), er wurde 1977 eingeführt. In Deutschland war er früher nach

Advanced Linux Sound Architecture

physisches oder ein logisches Kernel-Gerät, welches Klang aufnehmen, ausgeben oder kontrollieren kann. Jedes card kann über seine String-ID adressiert werden,

Einrückungsstil

Leerzeichen public class Hello { public static void main(String... args) { if (args.length > 0) { for (String arg : args) { System.out.println("Hello, " + arg

Ingo Molnár

6er-Kernel und der kernelbasierte Webserver Tux. Weitere wesentliche Beiträge zum Linux-Kernel sind Verbesserungen am Thread-System des Kernels (siehe

Ubuntu (Betriebssystem)

eigentlichen Kernel-Team betreuten Kernel-Module werden jetzt über Dynamic Kernel Module Support verwaltet, wodurch diese automatisch an die jeweilige Kernel-Version

Iproute2

QoS-Implementierung im Linux-Kernel), der aktuelle Maintainer ist Stephen Hemminger. iproute2 nutzt Linux’ Netlink-Schnittstelle, um direkt mit dem Kernel zu kommunizieren

SocketCAN

Netzwerkschicht, beigestellt von der Konzernforschung der Volkswagen AG zum Linux-Kernel als Open Source. Sie ist auch bekannt als Low Level CAN Framework (LLCF)