In der Regel wird entschieden, ob ein linearer oder ein RBF-Kernel (auch bekannt als Gauß-Kernel) verwendet wird. Es sind zwei Hauptfaktoren zu berücksichtigen:
- Die Lösung des Optimierungsproblems für einen linearen Kernel ist viel schneller, siehe zB LIBLINEAR.
- Normalerweise ist die bestmögliche Vorhersageleistung für einen nichtlinearen Kernel besser (oder mindestens so gut wie die für einen linearen Kernel).
Es wurde gezeigt, dass der lineare Kernel eine entartete Version von RBF ist , daher ist der lineare Kernel niemals genauer als ein richtig eingestellter RBF-Kernel. Zitat des Abstracts aus dem Artikel, den ich verlinkt habe:
Die Analyse zeigt auch, dass bei vollständiger Modellauswahl unter Verwendung des Gaußschen Kernels keine Notwendigkeit besteht, lineare SVM zu berücksichtigen.
Eine grundlegende Faustregel wird in der praktischen Anleitung von NTU zur Unterstützung der Vektorklassifizierung kurz behandelt (Anhang C).
Wenn die Anzahl der Features groß ist, müssen Daten möglicherweise nicht auf einen höherdimensionalen Raum abgebildet werden. Das heißt, die nichtlineare Abbildung verbessert die Leistung nicht. Die Verwendung des linearen Kernels ist gut genug und man sucht nur nach dem Parameter C.
Ihre Schlussfolgerung ist mehr oder weniger richtig, aber Sie haben das Argument zurück. In der Praxis kann der lineare Kernel sehr gut arbeiten, wenn die Anzahl der Features groß ist (z. B. muss kein noch höherdimensionaler Feature-Raum zugeordnet werden). Ein typisches Beispiel hierfür ist die Dokumentklassifizierung mit Tausenden von Dimensionen im Eingaberaum.
In diesen Fällen sind nichtlineare Kernel nicht unbedingt wesentlich genauer als die linearen. Dies bedeutet im Grunde, dass nichtlineare Kernel an Attraktivität verlieren: Sie benötigen viel mehr Ressourcen, um mit wenig oder gar keinem Gewinn an Vorhersage-Leistung zu trainieren. Warum also die Mühe machen?
TL; DR
Versuchen Sie immer zuerst linear zu trainieren, da es viel schneller ist (UND-Test). Wenn die Genauigkeit ausreicht, klopfen Sie sich für eine gute Arbeit auf den Rücken und fahren Sie mit dem nächsten Problem fort. Wenn nicht, versuchen Sie es mit einem nichtlinearen Kernel.