Kovarianzfunktionen oder Kernel - was genau sind sie?

13

Ich bin ziemlich neu auf dem Gebiet der Gaußschen Prozesse und wie sie im maschinellen Lernen angewendet werden. Ich lese und höre immer wieder, dass die Kovarianzfunktionen die Hauptattraktion dieser Methoden sind. Könnte jemand auf intuitive Weise erklären, was in diesen Kovarianzfunktionen vor sich geht?

Andernfalls, wenn Sie auf ein bestimmtes Lernprogramm oder Dokument verweisen könnten, in dem diese erklärt werden.

AnarKi
quelle
Kapitel 4. gaussianprocess.org/gpml '
Sycorax sagt Reinstate Monica
Wenn dies hauptsächlich ein Referenzanforderungsproblem ist, können Sie das Tag "references" hinzufügen. (Die Frage ist ziemlich weit gefasst, aber wenn Sie Menschen akzeptieren, die darauf hinweisen, was Sie lesen sollten, wird das Problem weitgehend gelöst.)
Silverfish

Antworten:

12

Vereinfacht ausgedrückt gibt eine Kern- oder Kovarianzfunktion die statistische Beziehung zwischen zwei Punkten x , x ' in Ihrem Eingaberaum an. das heißt, wie stark eine Änderung des Wertes des Gaußschen Prozesses (GP) bei x mit einer Änderung des GP bei x ' korreliert . In gewissem Sinne können Sie sich k ( , ) als Definition einer Ähnlichkeit zwischen Eingaben (*) vorstellen .k(x,x)x,xxxk(,)

Typische Kernel hängen einfach von der euklidischen Distanz (oder linearen Transformationen davon) zwischen Punkten ab, aber der Spaß beginnt, wenn Sie erkennen, dass Sie viel, viel mehr können.

Wie David Duvenaud es ausdrückt:

Kernel können über alle Arten von Datenstrukturen definiert werden: Text, Bilder, Matrizen und sogar Kernel. Früher war es ein einfacher Weg, ein NIPS-Papier mit einem Kernel für einen neuen Datentyp zu beschaffen.

Für einen einfachen Überblick über Kernel für Allgemeinmediziner empfehle ich wärmstens sein Kernel-Kochbuch und die darin enthaltenen Referenzen.


(*) Achten Sie, wie @Dikran Marsupial feststellt, darauf, dass das Gegenteil nicht zutrifft. Nicht alle Ähnlichkeitsmetriken sind gültige Kernel (siehe seine Antwort).

lacerbi
quelle
8

K(x,x)=ϕ(x)ϕ(x)ϕ() ist eine Funktion, die die Eingangsvektoren in den Merkmalsraum abbildet.

Warum muss der Kernel also in einem bestimmten Funktionsbereich als inneres Produkt interpretierbar sein? Der Grund dafür ist, dass es für lineare Modelle (wie z. B. logistische Regression) viel einfacher ist, theoretische Grenzen für die Generalisierungsleistung festzulegen, als für nichtlineare Modelle (wie z. B. ein neuronales Netzwerk). Die meisten linearen Modelle können so geschrieben werden, dass die Eingabevektoren nur in Form innerer Produkte auftreten. Dies bedeutet, dass wir ein nichtlineares Modell erstellen können, indem wir ein lineares Modell im Kernel-Feature-Space erstellen. Dies ist eine feste Transformation der Daten, sodass alle theoretischen Leistungsgrenzen für das lineare Modell automatisch auf das neue nichtlineare Kernelmodell * angewendet werden.

Ein wichtiger Punkt, der auf den ersten Blick schwer zu erfassen ist, besteht darin, dass wir nicht an einen Funktionsbereich denken, der für unsere spezielle Anwendung gut wäre, und dann einen Kernel entwerfen, der diesen Funktionsbereich entstehen lässt. Im Allgemeinen erstellen wir eine gute Ähnlichkeitsmetrik und prüfen dann, ob es sich um einen Kernel handelt (der Test ist unkompliziert. Wenn eine Matrix von paarweisen Bewertungen der Kernelfunktion an Punkten in der allgemeinen Position positiv und definitiv ist, handelt es sich um einen gültigen Kernel). .

Wenn Sie die Kernelparameter optimieren, um die Generalisierungsleistung zu optimieren, z. B. durch Minimierung des Kreuzvalidierungsfehlers, ist dies natürlich keine feste Transformation mehr, sondern eine Transformation, die aus den Daten gelernt und ein Großteil der schönen Theorie gerade ungültig geworden ist . Während der Entwurf von Kernel-Methoden eine Menge beruhigender Theorien enthält, gelten die Grenzen in der Praxis im Allgemeinen nicht für praktische Anwendungen - aber es ist beruhigend, da es fundierte Prinzipien gibt, die das Modell stützen.

Dikran Beuteltier
quelle
1
"ein Kernel (der Test ist einfach, wenn irgendeine Matrix von paarweisen Bewertungen der Kernelfunktion positiv ist, dann ist es ein gültiger Kernel)." Ich glaube, Sie müssen "an bestimmten Punkten" einbeziehen.
Mark L. Stone