Was ist ein Kernel und was unterscheidet ihn von anderen Funktionen?

13

Es scheint viele Algorithmen für maschinelles Lernen zu geben, die auf Kernelfunktionen beruhen. SVMs und NNs, um nur zwei zu nennen. Was ist also die Definition einer Kernelfunktion und welche Voraussetzungen müssen erfüllt sein, damit sie gültig ist?

Franck Dernoncourt
quelle
5
Ich würde nicht sagen, dass NNs sich auf Kernelfunktionen verlassen - sie verlassen sich auf eine Übertragungsfunktion , um Nichtlinearität zu erreichen, aber dies ist nicht dasselbe wie eine Kernelfunktion
tdc

Antworten:

11

Für x, y auf S können bestimmte Funktionen K (x, y) als inneres Produkt (in der Regel in einem anderen Raum) ausgedrückt werden. K wird oft als Kernel oder Kernelfunktion bezeichnet. Das Wort Kernel wird in der gesamten Mathematik unterschiedlich verwendet, aber dies ist die häufigste Verwendung beim maschinellen Lernen.

Der Kernel-Trick ist eine Möglichkeit, Beobachtungen aus einer allgemeinen Menge S in einen inneren Produktraum V (ausgestattet mit seiner natürlichen Norm) abzubilden, ohne die Abbildung jemals explizit berechnen zu müssen, in der Hoffnung, dass die Beobachtungen in V eine sinnvolle lineare Struktur erhalten Dies ist wichtig für die Effizienz (sehr schnelle Berechnung von Punktprodukten in einem sehr großen dimensionalen Raum) und für die Praktikabilität (wir können lineare ML-Algorithmen in nichtlineare ML-Algorithmen umwandeln).

Damit eine Funktion K als gültiger Kernel betrachtet werden kann, muss sie die Bedingungen von Mercer erfüllen . In der Praxis bedeutet dies, dass wir sicherstellen müssen, dass die Kernelmatrix (Berechnung des Kernelprodukts für jeden Datenpunkt, den Sie haben) immer positiv und semidefinit ist. Dies stellt sicher, dass die Trainingszielfunktion konvex ist, eine sehr wichtige Eigenschaft.

carlosdc
quelle
Danke @carlosdc, aber ich fürchte, dass Sie versuchen, diesem alten Hund neue Tricks beizubringen. Vieles geht mir über den Kopf. Ich lese Mercers Bedingungen, aber ihre Bedeutung in der realen Welt geht mir verloren. Ich gehe davon aus, dass das Integral eines Kernels auf einen endlichen Wert beschränkt sein muss. Ist diese Annahme richtig?
1
Der Teil, dass das Ziel konvex ist, wenn die Kernmatrix PSD ist, hängt vom Ziel ab. Dies gilt für SVMs, aber bei Gaußschen Prozessen ist der Punkt, dass die Kernelmatrix eine gültige Kovarianzmatrix ist und somit invertierbar ist.
Bayerj
2

Von Williams, Christopher KI und Carl Edward Rasmussen. " Gaußsche Prozesse für maschinelles Lernen ". 3 (2006). Seite 80 .

xXxXR

Auch Kernel = Kernelfunktion.

Kernel, die in Algorithmen für maschinelles Lernen verwendet werden, erfüllen in der Regel mehr Eigenschaften, z. B. eine positive Semidefinitität.

Franck Dernoncourt
quelle
2

Ich werde versuchen, eine weniger technische Erklärung zu finden.

Beginnen Sie zunächst mit dem Skalarprodukt zwischen zwei Vektoren. Dies zeigt Ihnen, wie "ähnlich" die Vektoren sind. Wenn die Vektoren Punkte in Ihrem Datensatz darstellen, zeigt das Skalarprodukt an, ob sie ähnlich sind oder nicht.

In einigen (vielen) Fällen ist das Skalarprodukt jedoch nicht die beste Ähnlichkeitsmetrik. Beispielsweise:

  • Möglicherweise sind Punkte mit Produkten mit niedrigen Punktzahlen aus anderen Gründen ähnlich.
  • Möglicherweise sind Datenelemente als Punkte nicht gut dargestellt.

Anstatt also das Skalarprodukt zu verwenden, verwenden Sie einen "Kernel", der nur eine Funktion ist, die zwei Punkte annimmt und Ihnen ein Maß für ihre Ähnlichkeit gibt. Ich bin mir nicht hundertprozentig sicher, welche technischen Voraussetzungen eine Funktion erfüllen muss, um ein Kernel zu sein, aber das ist die Idee.

Eine sehr schöne Sache ist, dass der Kernel Ihnen dabei helfen kann, Ihr Domain-Wissen in das Problem einzubringen, in dem Sinne, dass Sie sagen können, dass zwei Punkte aus xyz-Gründen gleich sind, wenn Sie etwas über die Domain wissen.

rundes Quadrat
quelle