KDnuggets (Deutsch)

Veröffentlicht in: Articles | 0
Von Sebastian Raschka, Michigan State University.

Bei einem beliebigen Datensatz wissen Sie normalerweise nicht, welcher Kernel am besten funktioniert. Ich empfehle, zuerst mit dem einfachsten Hypothesenraum zu beginnen – da Sie nicht viel über Ihre Daten wissen – und sich in Richtung der komplexeren Hypothesenräume zu arbeiten. Der lineare Kernel funktioniert also gut, wenn Ihr Datensatz linear trennbar ist; Wenn Ihr Datensatz jedoch nicht linear trennbar ist, wird ein linearer Kernel ihn nicht schneiden (fast im wörtlichen Sinne ;)).,

Der Einfachheit halber (und zu Visualisierungszwecken) nehmen wir an, dass unser Datensatz nur aus 2 Dimensionen besteht. Unten habe ich die Entscheidungsbereiche eines linearen SVM auf 2 Features des Iris-Datensatzes aufgetragen:

Das funktioniert einwandfrei. Und hier kommt der RBF-Kernel SVM:

Jetzt sieht es so aus, als würden sowohl Linear-als auch RBF-Kernel-SVM in diesem Datensatz gleich gut funktionieren. Warum also die einfachere, lineare Hypothese bevorzugen? Denken Sie an Occams Rasiermesser in diesem speziellen Fall., Lineares SVM ist ein parametrisches Modell, ein RBF-Kernel-SVM nicht, und die Komplexität des letzteren wächst mit der Größe des Trainingssatzes. Es ist nicht nur teurer, einen RBF-Kernel-SVM zu trainieren, sondern Sie müssen auch die Kernmatrix beibehalten, und die Projektion in diesen „unendlichen“ höherdimensionalen Raum, in dem die Daten linear trennbar werden, ist auch während der Vorhersage teurer. Darüber hinaus müssen Sie mehr Hyperparameter einstellen, sodass die Modellauswahl auch teurer ist! Und schließlich ist es viel einfacher, ein komplexes Modell zu überfit!,

Okay, was ich oben gesagt habe, klingt in Bezug auf Kernel-Methoden sehr negativ, hängt aber wirklich vom Datensatz ab. Wenn Ihre Daten beispielsweise nicht linear trennbar sind, ist es nicht sinnvoll, einen linearen Klassifikator zu verwenden:

In diesem Fall wäre ein RBF-Kernel so viel sinnvoller:

Auf jeden Fall würde ich mich nicht zu sehr um den Polynomkern kümmern. In der Praxis ist es aus Gründen der Effizienz (rechnerische als auch prädiktive) Leistungsgründe weniger nützlich., Die Faustregel lautet also: Verwenden Sie lineare SVMs (oder logistische Regression) für lineare Probleme und nichtlineare Kernel wie den radialen Basisfunktionskern für nichtlineare Probleme.

Der RBF Kernel SVM Decision Region ist eigentlich auch ein linearer Decision Region., Was RBF Kernel SVM tatsächlich tut, ist, nichtlineare Kombinationen Ihrer Features zu erstellen, um Ihre Samples in einen höherdimensionalen Feature-Space zu heben, in dem Sie eine lineare Entscheidungsgrenze verwenden können, um Ihre Klassen zu trennen:

Okay, oben habe ich Sie durch ein intuitives Beispiel geführt, in dem wir unsere Daten in 2 Dimensionen visualisieren können … aber was machen wir in einem realen Problem, dh einem Datensatz mit mehr als 2 Dimensionen? Hier wollen wir unsere objektive Funktion im Auge behalten: den Scharnierverlust minimieren., Wir würden eine Hyperparameter-Suche einrichten (z. B. Grid-Suche) und verschiedene Kernel miteinander vergleichen. Basierend auf der Verlustfunktion (oder einer Leistungsmetrik wie Genauigkeit, F1, MCC, ROC auc usw.) konnten wir feststellen, welcher kernel ist „angemessen“ für die gegebene Aufgabe.

Bio: Sebastian Raschka ist ein „Data Scientist“ und Machine-Learning-Enthusiasten mit einer großen Leidenschaft für Python & open source. Autor von ‚Python Machine Learning‘. Michigan State University.

Original. Übernahme mit freundlicher Genehmigung.,

Related:

  • Wann funktioniert Deep Learning besser als SVMs oder Random Forests?
  • Die Entwicklung der Klassifikation als Lernmaschine
  • Warum maschinelle Lernalgorithmen von Grund auf neu implementieren?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.