Kann mir bitte jemand den Unterschied zwischen den Kerneln in SVM erklären:
Linear
Polynom
Gaußscher (RBF)
Sigmoid
Denn wie wir wissen, wird der Kernel verwendet, um unseren Eingaberaum in einen hochdimensionalen Merkmalsraum abzubilden. Und in diesem Merkmalsraum finden wir die linear trennbare Grenze.
Wann und warum werden sie verwendet (unter welchen Bedingungen)?
Der lineare Kernel ist das, was Sie erwarten würden, ein lineares Modell. Ich glaube, der Polynomkern ist ähnlich, aber die Grenze hat eine definierte, aber willkürliche Reihenfolge
(zB Reihenfolge 3: ).a=b1+b2⋅X+b3⋅X2+b4⋅X3
RBF verwendet normale Kurven um die Datenpunkte und summiert diese, sodass die Entscheidungsgrenze durch eine Art von Topologiebedingung definiert werden kann, z. B. Kurven, bei denen die Summe über einem Wert von 0,5 liegt. (siehe dieses Bild )
Ich bin mir nicht sicher, was der Sigmoid-Kernel ist, es sei denn, er ähnelt dem logistischen Regressionsmodell, bei dem eine logistische Funktion zum Definieren von Kurven verwendet wird, bei denen der logistische Wert größer als ein bestimmter Wert ist (Modellierungswahrscheinlichkeit), z. B. 0,5 wie bei der normalen Fall.
Also können wir die linear trennbare Hyperebene (Grenze) erhalten, wenn wir den linearen Kernel verwenden? und wenn wir Polynom oder RBF-Kernel verwenden, könnte die (für Polynom) Hyperlane ein Kreis von gruppierten Klassen (für RBF) und Kurve sein? ist das richtig?? scikit-learn.org/stable/modules/svm.html
user3378327
Jeder der Kerne arbeitet für hochdimensionale Versionen ihrer jeweiligen Grenzen. Beantwortet das deine Frage? Sie sind für keinen mir bekannten Kernel auf drei Dimensionen beschränkt.
John Yetter
Ich möchte es nur klarstellen. Die Grenze mit linearem Kernel ist also linear? Für RBF ist wie ein Kreis der gruppierten Klasse? und für Polynom kann es Kurve basierend auf dem Grad des Polynoms sein?
User3378327
Ich würde nicht sagen, dass RBF ein Kreis gruppierter Klassen ist. Meines Wissens wendet es eine Funktion an, die auf einer Normalverteilung an jedem Datenpunkt basiert, und summiert diese Funktionen. Dann wird eine Grenze durch die Kurve gebildet, die einen bestimmten Wert für diese Funktion darstellt. Wenn jemand, der zu einer SVM-Bibliothek beigetragen hat, eingreifen könnte, könnte dies helfen. Ich denke, dass Ihr Verständnis der beiden anderen Kernel korrekt ist.
John Yetter
U sagte, dass der Linier-Kernel das ist, was ich mit dem Kernel erwartet hatte (um eine linear trennbare Klasse zu erhalten). und mit dem SVM-Klassifikator nannten wir es LINIER SVM. Aber wie wäre es, wenn wir die linear trennbaren Daten ohne Kernel in SVM erhalten könnten? Wie nennen wir es? Immer noch Linier SVM oder Non Linier SVM?
user3378327
11
Sich auf Grundkenntnisse des Lesers über Kernel verlassen.
K(X,Y)=XTY
K(X,Y)=(γ⋅XTY+r)d,γ>0
K(X,Y)=exp(∥X−Y∥2/2σ2)exp(−γ⋅∥X−Y∥2),γ>0
Sigmoidkern: , ähnlich der Sigmoidfunktion in der logistischen Regression.K(X,Y)=tanh(γ⋅XTY+r)
Die Informationen in Ihrer Antwort sind zwar korrekt, aber ich glaube nicht, dass sie die hier aufgeworfene Frage beantworten. Dies ist eher darauf ausgerichtet, was der praktische Unterschied zwischen ihnen ist, dh wann die eine oder die andere zu verwenden ist.
Firebug
1
Erstaunlicherweise sind diese einfachen Definitionen schwer zu bekommen. Sie sollten als Erstes vorgestellt werden, wenn es um Unterschiede bei den Kerneln geht, doch es gibt weit verbreitete Fehler, sie anzugeben.
Cammil
Gibt es eine offizielle Quelle für diese? (Ich habe sie getestet und sie scheinen korrekt zu sein, aber ich möchte sie zitieren können.)
Christian Eriksson
6
Diese Frage kann aus theoretischer und praktischer Sicht beantwortet werden. Aus dem theoretischen No-Free-Lunch-Theorem geht hervor, dass es keine Garantie dafür gibt, dass ein Kernel besser funktioniert als der andere. Das ist a priori, Sie wissen nie, noch können Sie herausfinden, welcher Kernel besser funktioniert.
Aus praktischer Sicht konsultieren Sie die folgende Seite:
Sich auf Grundkenntnisse des Lesers über Kernel verlassen.
Sigmoidkern: , ähnlich der Sigmoidfunktion in der logistischen Regression.K(X,Y)=tanh(γ⋅XTY+r)
Hier sind , und Kernparameter.r d γ
quelle
Diese Frage kann aus theoretischer und praktischer Sicht beantwortet werden. Aus dem theoretischen No-Free-Lunch-Theorem geht hervor, dass es keine Garantie dafür gibt, dass ein Kernel besser funktioniert als der andere. Das ist a priori, Sie wissen nie, noch können Sie herausfinden, welcher Kernel besser funktioniert.
Aus praktischer Sicht konsultieren Sie die folgende Seite:
Wie wähle ich den Kernel für SVM aus?
quelle
Während darüber nachgedacht wird, wofür ein Kernel "gut" ist oder wann er verwendet werden sollte, gibt es keine festen Regeln.
Wenn Ihr Klassifikator / Regressor mit einem bestimmten Kernel eine gute Leistung erbringt, sollten Sie gegebenenfalls zu einem anderen wechseln.
Informationen zur Leistung Ihres Kernels, insbesondere wenn es sich um ein Klassifizierungsmodell handelt, erhalten Sie möglicherweise anhand einiger Visualisierungsbeispiele, z. B. https://gist.github.com/WittmannF/60680723ed8dd0cb993051a7448f7805
quelle