Welche Merkmale oder Eigenschaften weisen darauf hin, dass ein bestimmtes Lernproblem mithilfe von Support-Vektor-Maschinen gelöst werden kann?
Mit anderen Worten, was ist es, was Sie dazu bringt, wenn Sie ein Lernproblem sehen: "Oh, ich sollte auf jeden Fall SVMs für dieses" "verwenden, anstatt neuronale Netze oder Entscheidungsbäume oder irgendetwas anderes?
supervised learning
Tag wurde entfernt, da SVMs auch bei unbeaufsichtigten Lernproblemen verwendet werden können .exception
Du meinst damit, dass es nur ein Tweak ist und nicht die Konvention, oder?Antworten:
SVM kann zur Klassifizierung (Unterscheidung zwischen mehreren Gruppen oder Klassen) und zur Regression (Erhalt eines mathematischen Modells zur Vorhersage von Dingen) verwendet werden. Sie können sowohl auf lineare als auch auf nichtlineare Probleme angewendet werden.
Bis 2006 waren sie der beste Allzweckalgorithmus für maschinelles Lernen. Ich habe versucht, ein Dokument zu finden, in dem viele Implementierungen der bekanntesten Algorithmen verglichen wurden: SVM, neuronale Netze, Bäume usw. Es hat mir nicht leid getan (Sie müssen mir glauben, was Schlimmes). In der Veröffentlichung war svm mit der Bibliothek libsvm der Algorithmus, der die beste Leistung erzielte.
2006 entwickelte Hinton Deep Learning und Neuronale Netze. Er hat den aktuellen Stand der Technik um mindestens 30% verbessert, was eine enorme Verbesserung darstellt. Deep Learning bietet jedoch nur für große Trainingssets eine gute Leistung. Wenn Sie einen kleinen Trainingssatz haben, würde ich vorschlagen, svm zu verwenden.
Außerdem finden Sie hier eine nützliche Infografik darüber, wann verschiedene Algorithmen für maschinelles Lernen von scikit-learn verwendet werden sollen. Nach meinem besten Wissen gibt es jedoch keine Einigkeit in der wissenschaftlichen Gemeinschaft darüber, ob ein Problem über X-, Y- und Z-Funktionen verfügt. Dann ist es besser, svm zu verwenden. Ich würde vorschlagen, verschiedene Methoden auszuprobieren. Bitte vergessen Sie auch nicht, dass svm oder neuronale Netze nur eine Methode zur Berechnung eines Modells sind. Es ist sehr wichtig, welche Funktionen Sie verwenden.
quelle
Nehmen wir an, wir befinden uns in einer Klassifizierungseinstellung.
Für das
svm
Feature Engineering ist Eckpfeiler:svm
Leistung leidet, wenn wir die Anzahl der Dimensionen schneller erhöhen als mit anderen Methoden (Baumensemble). Dies ist auf das eingeschränkte Optimierungsproblem zurückzuführen, dassvm
s unterstützt. Manchmal ist eine Funktionsreduzierung möglich, manchmal nicht. In diesem Fall können wir den Weg für eine effektive Nutzung von nicht wirklich ebnensvm
svm
wird wahrscheinlich mit einem Datensatz zu kämpfen haben, bei dem die Anzahl der Merkmale viel größer ist als die Anzahl der Beobachtungen. Dies kann wiederum verstanden werden, indem das eingeschränkte Optimierungsproblem betrachtet wird.svm
Algorithmus nicht standardmäßig verarbeitet .quelle