Neuronale Netze vs. Support Vector Machines: Sind die zweiten definitiv überlegen?

52

Viele Autoren von Artikeln, die ich gelesen habe, bejahen, dass SVMs eine überlegene Technik sind, um ihrem Regressions- / Klassifizierungsproblem zu begegnen. Oft besagt der Vergleich das

SVMs anstelle von NNs

  • Haben Sie eine starke Grundtheorie
  • Erreichen Sie das globale Optimum durch quadratische Programmierung
  • Haben Sie keine Probleme bei der Auswahl einer geeigneten Anzahl von Parametern
  • Sind weniger anfällig für Überanpassung
  • Benötigt weniger Speicher zum Speichern des Vorhersagemodells
  • Erzielen Sie besser lesbare Ergebnisse und eine geometrische Interpretation

Ist es ein allgemein akzeptierter Gedanke? Zitieren Sie nicht das No-Free-Lunch-Theorem oder ähnliche Aussagen, meine Frage bezieht sich auf die praktische Anwendung dieser Techniken.

Auf der anderen Seite, mit welcher Art von abstraktem Problem würden Sie definitiv mit NN konfrontiert sein?

stackovergio
quelle
4
Ich denke, die Frage könnte etwas weit gefasst sein. In der Praxis scheinen NNs mit der Wahl der NN-Struktur viel besser einstellbar zu sein, wohingegen SVMs weniger Parameter haben. Es gibt zwei Fragen: Wenn ein NN für die Lösung eines Problems optimal eingerichtet wäre, wie würde es sich gegen SVM behaupten? Und wie vergleicht sich SVM in den Händen eines Durchschnittspraktikers mit NN?
Patrick Caldon
2
@PatrickCaldon Ich verstehe Ihre Sichtweise, aber mehr zu behandelnde Parameter bedeuten nicht immer ein besseres Tool, wenn Sie nicht wissen, wie Sie sie in geeigneter Weise konfigurieren sollen. Auch wenn dies möglich ist, ist möglicherweise ein langes Studium erforderlich. oder Sie benötigen möglicherweise keine so breite Abstimmbarkeit für Ihre Anwendung
stackovergio
1
Das ist mein Punkt. Welche Frage hat das Tool im Idealfall bei bestimmten Problemen? oder wie funktioniert das tool für die meisten menschen die meiste zeit? Ich denke, die größte Komponente hier ist übrigens die Person. Aus diesem Grund denke ich, sind die relevanten Faktoren oft: Wie schwer ist es, jedes Werkzeug zu lernen? Gibt es Experten, die wissen, wie man es benutzt? usw. Das kann eine Menge erklären von "Ich habe gute Leistung von X"
Patrick Caldon
1
Soviel ich weiß, sind mehrschichtige Feedforward-ANN universelle Approximatoren, unabhängig von der Aktivierungsfunktion. Mir ist kein ähnliches Ergebnis für SVM bekannt, das meines Wissens viel mehr von der verwendeten Kernelfunktion abhängt.
Momo
2
In der Praxis finde ich NNs aufgrund der Trainingszeit etwas praktischer. Nichtlineare SVMs können mit großen N einfach nicht sehr gut umgehen. Beide Algorithmen können zu stark angepasst werden und beide müssen stark reguliert werden.
Shea Parkes

Antworten:

43

Es ist eine Frage von Kompromissen. SVMs sind gerade in , NNs waren früher in . Es gibt immer mehr Artikel, in denen Random Forests, Probabilistic Graphic Models oder Nonparametric Bayesian Methods beschrieben werden . Jemand sollte in Annals of Improbable Research ein Vorhersagemodell darüber veröffentlichen, welche Modelle als hip gelten.

Allerdings sind für viele bekanntermaßen schwierige überwachte Probleme die leistungsfähigsten Einzelmodelle ein NN-Typ, ein SVM-Typ oder ein problemspezifisches stochastisches Gradientenabstiegsverfahren, das unter Verwendung von Signalverarbeitungsverfahren implementiert wird.


Vorteile von NN:

  • Sie sind äußerst flexibel in Bezug auf die Datentypen, die sie unterstützen können. NNs leisten gute Arbeit darin, die wichtigen Funktionen aus praktisch jeder Datenstruktur zu lernen, ohne manuell Funktionen ableiten zu müssen.
  • NN profitiert weiterhin vom Feature-Engineering. Sie sollten z. B. ein Flächen-Feature haben, wenn Sie eine Länge und Breite haben. Das Modell wird bei gleichem Rechenaufwand eine bessere Leistung erbringen.

  • Für den Großteil des überwachten maschinellen Lernens müssen Sie Ihre Daten in einer Beobachtungsmatrix nach Merkmalen strukturieren, wobei die Beschriftungen als Vektor für Längenbeobachtungen dienen. Diese Einschränkung ist bei NN nicht erforderlich. Es gibt eine fantastische Arbeit mit strukturiertem SVM, aber es ist unwahrscheinlich, dass es jemals so flexibel sein wird wie NNs.


Vorteile von SVM:

  • Weniger Hyperparameter. Im Allgemeinen erfordern SVMs weniger Rastersuche, um ein einigermaßen genaues Modell zu erhalten. SVM mit einem RBF-Kernel funktioniert normalerweise recht gut.

  • Globales Optimum garantiert.


Nachteile von NN und SVM:

  • Für die meisten Zwecke sind sie beide Blackboxen. Es gibt einige Untersuchungen zur Interpretation von SVMs, aber ich bezweifle, dass es jemals so intuitiv sein wird wie GLMs. Dies ist in einigen Problembereichen ein ernstes Problem.
  • Wenn Sie eine Black Box akzeptieren, können Sie in der Regel einiges an Genauigkeit herausholen, indem Sie viele verschiedene Modelle mit unterschiedlichen Kompromissen einsacken / stapeln / steigern.

    • Zufällige Wälder sind attraktiv, weil sie ohne zusätzlichen Aufwand Vorhersagen für das Auspacken (Auspacken-Vorhersagen) erstellen können, sie sind sehr interpretierbar, sie haben einen guten Kompromiss zwischen Abweichung und Abweichung (ideal für Absackmodelle) und sie sind relativ robust gegenüber Selektionsbias. Blöd einfach eine parallele Implementierung von zu schreiben.

    • Probabilistische Grafikmodelle sind attraktiv, weil sie domänenspezifisches Wissen direkt in das Modell einfließen lassen und diesbezüglich interpretierbar sind.

    • Nichtparametrische (oder wirklich extrem parametrische) Bayes'sche Methoden sind attraktiv, weil sie Konfidenzintervalle direkt erzeugen. Sie arbeiten sehr gut bei kleinen Stichproben und sehr gut bei großen Stichproben. Dumm einfach, eine lineare Algebra-Implementierung von zu schreiben.

Jessica Mick
quelle
41
Mit dem jüngsten Aufstieg des tiefen Lernens können NNs "mehr in" als SVMs sein, würde ich sagen.
Bayerj
30

Die Antwort auf Ihre Frage lautet nach meiner Erfahrung "Nein". SVMs sind nicht eindeutig überlegen. Welche Methode am besten funktioniert, hängt von der Art des vorliegenden Datensatzes und von der relativen Kompetenz des Bedieners mit den einzelnen Werkzeugsätzen ab. Im Allgemeinen sind SVMs gut, weil der Trainingsalgorithmus effizient ist und einen Regularisierungsparameter hat, der Sie dazu zwingt, über Regularisierung und Überanpassung nachzudenken. Es gibt jedoch Datasets, in denen MLPs eine viel bessere Leistung als SVMs bieten (da sie ihre eigene interne Darstellung bestimmen können, anstatt sie von der Kernelfunktion vorab festlegen zu lassen). Eine gute Implementierung von MLPs (z. B. NETLAB) und Regularisierung oder ein frühes Stoppen oder eine Auswahl der Architektur (oder besser noch alle drei) können oft sehr gute Ergebnisse liefern und reproduzierbar sein (zumindest in Bezug auf die Leistung).

Die Modellauswahl ist das Hauptproblem bei SVMs. Die Auswahl des Kernels und die Optimierung der Kernel- und Regularisierungsparameter können häufig zu schwerwiegenden Überanpassungen führen, wenn Sie das Modellauswahlkriterium überoptimieren. Die Theorie, die der SVM zugrunde liegt, ist zwar ein Trost, der Großteil gilt jedoch nur für einen festen Kernel. Sobald Sie also versuchen, die Kernelparameter zu optimieren, gilt dies nicht mehr (z. B. das Optimierungsproblem, das beim Optimieren des Kernels gelöst werden muss) ist im Allgemeinen nicht konvex und kann durchaus lokale Minima haben.

Dikran Beuteltier
quelle
7
Dem stimme ich voll zu. Momentan trainiere ich SVMs und ANNs auf Gehirn-Computer-Schnittstellendaten und es gibt einige Datensätze, bei denen SVMs besser sind, und einige Datensätze, bei denen ANNs besser sind. Das Interessante ist: Wenn ich die Leistung über alle von mir verwendeten Datensätze mittle, erreichen SVMs und ANNs genau die gleiche Leistung. Dies ist natürlich kein Beweis. Es ist nur eine Anekdote. :)
Alfa
27

Ich werde nur versuchen, meine Meinung zu erklären, die die meisten meiner Freunde zu teilen schienen. Ich habe die folgenden Bedenken in Bezug auf NN, bei denen es überhaupt nicht um SVM geht:

  1. In einem klassischen NN ist die Anzahl der Parameter enorm hoch. Angenommen, Sie haben die Vektoren der Länge 100, die Sie in zwei Klassen klassifizieren möchten. Eine ausgeblendete Ebene in der Größe einer Eingabeebene führt zu mehr als 100000 freien Parametern. Stellen Sie sich vor, wie schlecht Sie sich überanpassen können (wie leicht es ist, in einem solchen Raum auf ein lokales Minimum zu fallen) und wie viele Trainingspunkte Sie benötigen, um dies zu verhindern (und wie viel Zeit Sie dann zum Trainieren benötigen).
  2. Normalerweise muss man ein echter Experte sein, um die Topologie auf einen Blick auszuwählen. Das heißt, wenn Sie gute Ergebnisse erzielen möchten, sollten Sie viele Experimente durchführen. Aus diesem Grund ist es einfacher, SVM zu verwenden und festzustellen, dass mit NN keine ähnlichen Ergebnisse erzielt werden können.
  3. Normalerweise sind NN-Ergebnisse nicht reproduzierbar. Selbst wenn Sie Ihr NN-Training zweimal durchführen, werden Sie wahrscheinlich aufgrund der Zufälligkeit eines Lernalgorithmus unterschiedliche Ergebnisse erhalten.
  4. Normalerweise haben Sie überhaupt keine Interpretation der Ergebnisse. Das ist ein kleines Problem, aber trotzdem.

Das bedeutet nicht, dass Sie NN nicht verwenden sollten, Sie sollten es nur vorsichtig verwenden. Zum Beispiel kann Convolutional NN für die Bildverarbeitung extrem gut sein, andere Deep NN erwiesen sich auch für andere Probleme als gut.

Hoffe, es wird helfen.

Dmitry Laptev
quelle
2
Um ANN-Ergebnisse reproduzierbar zu machen, setzen Sie die Zufallsfunktion.
Franck Dernoncourt
@Franck Das ist keine echte Reproduzierbarkeit.
Vernunft
17

Ich benutze neuronale Netze für das meiste Problem. Der Punkt ist, dass es in den meisten Fällen mehr um die Erfahrung des Benutzers als um das Modell geht. Hier sind einige Gründe, warum ich NNs mag.

  1. Sie sind flexibel. Ich kann jeden Verlust, den ich will, auf sie werfen: Scharnierverlust, Quadrat, Kreuzentropie, wie Sie es nennen. Solange es differenzierbar ist, kann ich sogar einen Verlust entwerfen, der genau meinen Bedürfnissen entspricht.
  2. Sie können probabilistisch behandelt werden: Bayesianische Neuronale Netze, Variations-Bayes, MLE / MAP, alles ist da. (Aber in einigen Fällen schwieriger.)
  3. Sie sind schnell. Die meisten MLPs bestehen aus zwei Matrixmultiplikationen und einer dazwischen angewendeten Nichtlinearitätskomponente. Schlage das mit einer SVM.

Ich werde Ihre anderen Punkte Schritt für Schritt durchgehen.

Haben Sie eine starke Grundtheorie

Ich würde sagen, NNs sind in diesem Fall genauso stark: da Sie sie in einem probabilistischen Rahmen trainieren. Dies ermöglicht die Verwendung von Priors und einer Bayes'schen Behandlung (z. B. mit Variationstechniken oder Approximationen).

Erreichen Sie das globale Optimum durch quadratische Programmierung

Für einen Satz von Hyperparametern. Die Suche nach gutem hps ist jedoch nicht konvex, und Sie wissen nicht, ob Sie auch das globale Optimum gefunden haben.

Haben Sie keine Probleme bei der Auswahl einer geeigneten Anzahl von Parametern

Bei SVMs müssen Sie auch Hyperparameter auswählen.

Benötigt weniger Speicher zum Speichern des Vorhersagemodells

Sie müssen die Support-Vektoren speichern. Die Aufbewahrung von MLPs durch SVMs ist in der Regel nicht billiger, dies hängt vom Einzelfall ab.

Erzielen Sie besser lesbare Ergebnisse und eine geometrische Interpretation

Die oberste Ebene eines MLP ist eine logistische Regression bei der Klassifizierung. Somit gibt es auch eine geometrische Interpretation (Trennung der Hyperebene) und eine probabilistische Interpretation.

bayerj
quelle
Warum muss ich Support-Vektoren speichern? Reicht es nicht aus, die Hyperebene / Maring von SVM zu speichern?
Julian
Das liegt daran, dass die Hyperebene durch Unterstützungsvektoren dargestellt wird. Um die Entfernung eines neuen Punktes zu berechnen, werden Sie diese durchlaufen.
Bayerj
0

In gewisser Weise hängen diese beiden großen Kategorien von Techniken des maschinellen Lernens zusammen. Obwohl es nicht perfekt ist, finden Sie im Folgenden zwei Artikel, die mir bei der Darstellung der Ähnlichkeiten bei diesen Techniken behilflich sind

Ronan Collobert und Samy Bengio. 2004. Verbindungen zwischen Perzeptronen, MLPs und SVMs. In Proceedings der einundzwanzigsten internationalen Konferenz über maschinelles Lernen (ICML '04). ACM, New York, NY, USA, 23-. DOI: https://doi.org/10.1145/1015330.1015415

und

Andras, Peter. (2002). Die Äquivalenz von Support Vector Machine und Regularization Neural Networks. Neuronale Verarbeitungsbuchstaben. 15. 97-104. 10.1023 / A: 1015292818897.

Paul
quelle