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?
machine-learning
svm
neural-networks
stackovergio
quelle
quelle
Antworten:
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:
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:
quelle
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.
quelle
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:
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.
quelle
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.
Ich werde Ihre anderen Punkte Schritt für Schritt durchgehen.
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).
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.
Bei SVMs müssen Sie auch Hyperparameter auswählen.
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.
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.
quelle
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
und
quelle