Vor- und Nachteile von SVM

18

Kann mir jemand die Vor- und Nachteile der Klassifikation SVM erklären, die sie von anderen Klassifikatoren unterscheidet?

Lakesh
quelle
3
In welchem ​​zusammenhang Für welchen Zweck? Mit welcher Art von SVM? Für welche Art von Daten?

Antworten:

33

Es gibt vier Hauptvorteile: Erstens hat es einen Regularisierungsparameter, der den Benutzer zum Nachdenken über die Vermeidung einer Überanpassung veranlasst. Zweitens wird der Kernel-Trick verwendet, sodass Sie über das Engineering des Kernels Expertenwissen über das Problem aufbauen können. Drittens wird eine SVM durch ein konvexes Optimierungsproblem (keine lokalen Minima) definiert, für das es effiziente Methoden gibt (z. B. SMO). Schließlich handelt es sich um eine Annäherung an eine Grenze der Testfehlerrate, und dahinter verbirgt sich eine umfangreiche Theorie, die nahelegt, dass dies eine gute Idee sein sollte.

Die Nachteile sind, dass die Theorie nur die Bestimmung der Parameter für einen gegebenen Wert der Regularisierungs- und Kernelparameter und die Wahl des Kernels wirklich abdeckt. In gewisser Weise verlagert die SVM das Problem der Überanpassung von der Optimierung der Parameter zur Modellauswahl. Leider können Kernelmodelle sehr empfindlich darauf reagieren, das Modellauswahlkriterium zu übertreffen, siehe

GC Cawley und NLC Talbot, Überanpassung bei der Modellauswahl und anschließende Auswahlverzerrung bei der Leistungsbewertung, Journal of Machine Learning Research, 2010. Research, vol. 11, S. 2079-2107, Juli 2010. ( pdf )

Beachten Sie jedoch, dass dieses Problem nicht nur bei Kernel-Methoden auftritt. Die meisten Methoden des maschinellen Lernens weisen ähnliche Probleme auf. Der im SVM verwendete Scharnierverlust führt zu Sparsamkeit. Die optimale Auswahl der Kernel- und Regularisierungsparameter führt jedoch häufig dazu, dass alle Daten Unterstützungsvektoren sind. Wenn Sie wirklich einen spärlichen Kernel-Rechner benötigen, verwenden Sie etwas, das von Anfang an spärlich ausgelegt war (anstatt ein nützliches Nebenprodukt zu sein), wie den Informativen Vektor-Rechner. Die Verlustfunktion, die für die Stützvektorregression verwendet wird, weist keine offensichtliche statistische Interpretation auf, häufig kann Expertenwissen über das Problem in der Verlustfunktion codiert werden, z. B. Poisson oder Beta oder Gauß. Ebenso wollen Sie bei vielen Klassifizierungsproblemen die Wahrscheinlichkeit einer Klassenzugehörigkeit,

Mehr kann ich mir nicht vorstellen.

Dikran Beuteltier
quelle
Was ist mit den Herausforderungen bei der Klassifizierung mehrerer Klassen mit SVMs?
Vass
1
@ Vaas guter Punkt, in der Vergangenheit habe ich den DAGSVM-Algorithmus verwendet und festgestellt, dass es ziemlich effektiv ist. Probleme mit mehreren Klassen scheinen im SVM-Framework keine so elegante Lösung zu haben. Die logistische Regression mit mehreren Klassen wäre wahrscheinlich der ähnlichste Ansatz, der "elegant" geblieben ist.
Dikran Marsupial