Logistische Kernel-Regression vs. SVM


32

Wie allen bekannt ist, kann SVM die Kernel-Methode verwenden, um Datenpunkte in höhere Räume zu projizieren, sodass Punkte durch einen linearen Raum getrennt werden können. Wir können aber auch die logistische Regression verwenden, um diese Grenze im Kernelraum zu wählen. Was sind also die Vorteile von SVM? Da SVM ein spärliches Modell verwendet, bei dem nur diese Unterstützungsvektoren bei der Vorhersage einen Beitrag leisten, ist SVM dann schneller in der Vorhersage?


1
Hasties Folien sind das, was Sie suchen
Yibo Yang

Antworten:


28

KLRs und SVMs

  1. Die Klassifizierungsleistung ist in beiden Fällen nahezu identisch.
  2. KLR kann Klassenwahrscheinlichkeiten bereitstellen, während SVM ein deterministischer Klassifikator ist.
  3. KLR hat eine natürliche Ausweitung auf die Klassifizierung mehrerer Klassen, während es in SVM mehrere Möglichkeiten gibt, sie auf die Klassifizierung mehrerer Klassen auszudehnen (und es ist immer noch ein Forschungsgebiet, ob es eine Version gibt, die nachweislich überlegene Qualitäten gegenüber den anderen aufweist).
  4. Überraschenderweise oder nicht überraschenderweise hat KLR auch optimale Margin-Eigenschaften, die die SVMs genießen (zumindest im Grenzbereich)!

Betrachtet man das Obige, fühlt es sich fast so an, als ob man die logistische Regression des Kernels verwenden sollte. Es gibt jedoch bestimmte Vorteile, die SVMs genießen

  1. O(N3)O(N2k)k
  2. Der Klassifikator in SVM ist so konzipiert, dass er nur in Bezug auf die Unterstützungsvektoren definiert wird, wohingegen in KLR der Klassifikator über alle Punkte und nicht nur über die Unterstützungsvektoren definiert wird. Dies ermöglicht SVMs, einige natürliche Beschleunigungen (in Bezug auf effizientes Code-Schreiben) zu genießen, die für KLR schwer zu erreichen sind.

7
+1 Ich möchte jedoch hinzufügen, dass es nicht allzu schwierig ist, ein spärliches logistisches Kernel-Regressionsmodell zu erstellen, wenn Rechenkomplexität ein Problem darstellt, indem man die Basisvektoren sorgfältig auswählt, um den regulierten Verlust des Trainingssatzes oder andere Ansätze zu minimieren. Siehe zum Beispiel die Papiere auf der "Informative Vector Machine".
Dikran Beuteltier

4
Wenn Sie den Kernel und die Regularisierungsparameter einer SVM optimieren, erhalten Sie außerdem häufig ein Modell, bei dem praktisch alle Daten Unterstützungsvektoren sind. Die Sparsamkeit von SVMs ist ein glücklicher Zufall, es ist kein gutes Verkaufsargument der Technik, da es im Allgemeinen möglich ist, eine größere Sparsamkeit auf andere Weise zu erreichen.
Dikran Beuteltier

1
@DikranMarsupial Vielen Dank für den Zeiger auf Informative Vector Machine. Ich kenne einige Werke in Sparse KLR, aber bisher glaube ich nicht, dass sie für große Datensätze gut skalierbar sind. Die Veröffentlichung einer guten Implementierung von sparsamen KLRs, die benutzerfreundlich sind wie libSVM oder SVM Light, kann einen großen Beitrag zur Einführung leisten. Entschuldigung, wenn solche Implementierungen bereits existieren, aber mir ist keine bekannt. (BEARBEITEN: Ich denke, Sie meinten "Vektor-Maschine
importieren

2
Wenn Sie am Ende alle Datenpunkte als Unterstützungsvektoren haben, sind Sie überangepasst. Dies passiert mit RBF oft. In der Tat ist es eine der grundlegenden Aufgaben, die ich als Benutzer von SVM gelernt habe, zuallererst den Bruchteil der Punkte zu überprüfen, die als Unterstützungsvektoren ausgewählt wurden. Wenn es etwas mehr als 30% der Daten sind, lehne ich dieses Modell sofort ab.
TenaliRaman

3
Es ist nicht korrekt, dass alle Datenpunkte als SVs eine Überanpassung bedeuten. Wenn der Wert von C klein ist, gibt es wenig Abstriche bei den Slack-Variablen, dann können Sie einen sehr milden Klassifikator haben (der viele Fehler im Trainingssatz macht) und der Spielraum ist so groß, dass alle Daten Unterstützungsvektoren sind. Das Ablehnen nicht sparsamer Modelle ist keine gute Faustregel, da die SVM mit der besten Generalisierungsleistung manchmal nicht sparsam ist. Die Anzahl der SVs ist eine Obergrenze für den Auslassfehler, aber es ist in der Tat oft eine sehr lose Grenze!
Dikran Marsupial

15

Hier ist meine Sicht auf das Problem:

SVMs sind eine sehr elegante Methode zur Klassifizierung. Es gibt eine nette Theorie, eine schöne Mathematik, sie lassen sich gut verallgemeinern und sie sind auch nicht zu langsam. Versuchen Sie, sie für die Regression zu verwenden, und es wird chaotisch.

  • Hier ist eine Ressource zur SVM-Regression. Beachten Sie die zusätzlichen Parameter und die ausführliche Beschreibung der Optimierungsalgorithmen.

Die Gaußsche Prozess-Regression hat eine Menge der gleichen Kernel-Mathematik und eignet sich hervorragend für die Regression. Auch hier ist das sehr elegant und es ist nicht zu langsam. Versuchen Sie, sie für die Klassifizierung zu verwenden, und es fühlt sich ziemlich klobig an.

  • Hier ist ein Kapitel aus dem GP-Buch über Regression.

  • Hier ist zum Vergleich ein Kapitel über die Klassifizierung. Beachten Sie, dass Sie am Ende einige komplizierte Näherungen oder eine iterative Methode haben.

Eine schöne Sache bei der Verwendung von Hausärzten für die Klassifizierung ist jedoch, dass Sie eine prädiktive Verteilung erhalten und keine einfache Ja / Nein-Klassifizierung.


2
+1 GPs sind eine gute Alternative zu KLR (obwohl KLR häufig eine bessere Leistung bietet, da evidenzbasierte Modellauswahl bei falscher Modellspezifikation leicht schief gehen kann). Eine Kreuzvalidierung ist häufig vorzuziehen.
Dikran Beuteltier

7

Bitte besuchen Sie http://www.stanford.edu/~hastie/Papers/svmtalk.pdf

Einige Schlussfolgerungen: Die Klassifizierungsleistung ist sehr ähnlich. Hat begrenzende optimale Randeigenschaften. Stellt Schätzungen der Klassenwahrscheinlichkeiten bereit. Oft sind diese nützlicher als die Klassifizierungen. Verallgemeinert sich auf natürliche Weise auf die Klassifizierung der M-Klasse durch Kernel-Multi-Logit-Regression.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.