SVM, Überanpassung, Fluch der Dimensionalität

37

Mein Datensatz ist klein (120 Samples), die Anzahl der Features variiert jedoch von (1000-200.000). Obwohl ich eine Feature-Auswahl vornehme, um eine Untergruppe von Features auszuwählen, ist diese möglicherweise immer noch zu groß.

Meine erste Frage ist, wie SVM mit Überanpassung umgeht, wenn überhaupt.

Zweitens bin ich beim Studium der Überanpassung bei der Klassifizierung zu dem Schluss gekommen, dass auch Datensätze mit einer geringen Anzahl von Merkmalen überanpassbar sind. Wenn wir keine Merkmale haben, die mit dem Klassenetikett korrelieren, findet auf jeden Fall eine Überanpassung statt. Deshalb frage ich mich jetzt, wozu die automatische Klassifizierung gut ist, wenn wir nicht die richtigen Features für ein Klassenlabel finden können. Im Falle einer Dokumentklassifizierung würde dies bedeuten, dass ein Thesaurus mit Wörtern, die sich auf die Etiketten beziehen, manuell erstellt wird, was sehr zeitaufwendig ist. Ich denke, was ich damit sagen will, ist, dass es sehr schwierig ist, ein verallgemeinertes Modell zu erstellen, ohne die richtigen Funktionen von Hand auszuwählen.

Auch wenn die experimentellen Ergebnisse nicht zeigen, dass die Ergebnisse eine geringe oder keine Überanpassung aufweisen, wird dies bedeutungslos. Gibt es eine Möglichkeit, dies zu messen?

user13420
quelle

Antworten:

41

In der Praxis besteht der Grund dafür, dass SVMs selbst in Fällen, in denen die Anzahl der Attribute größer ist als die Anzahl der Beobachtungen, in der Regelmäßigkeit besteht. Der Schlüssel zur Vermeidung von Überanpassungen liegt in der sorgfältigen Abstimmung des Regularisierungsparameters und bei nichtlinearen SVMs in der sorgfältigen Auswahl des Kernels und der Abstimmung der Kernelparameter.C

C

GC Cawley und NLC Talbot, Verhinderung einer Überanpassung bei der Modellauswahl durch Bayes'sche Regularisierung der Hyperparameter, Journal of Machine Learning Research, Band 8, Seiten 841-861, April 2007. ( www )

und

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. ( www )

In beiden Veröffentlichungen wird die Kernel-Ridge-Regression anstelle der SVM verwendet, aber das gleiche Problem tritt ebenso leicht bei SVMs auf (auch für KRR gelten ähnliche Grenzen, sodass in der Praxis nicht so viele zur Auswahl stehen). In gewisser Weise lösen SVMs das Problem der Überanpassung nicht wirklich. Sie verlagern das Problem lediglich von der Modellanpassung zur Modellauswahl.

Es ist oft eine Versuchung, dem SVM das Leben ein wenig zu erleichtern, indem zuerst eine Art Funktionsauswahl durchgeführt wird. Dies macht die Sache im Allgemeinen noch schlimmer, da im Gegensatz zum SVM die Tendenz besteht, dass Merkmalsauswahlalgorithmen mit zunehmender Anzahl von Attributen eine stärkere Überanpassung aufweisen. Wenn Sie nicht wissen möchten, welche Attribute informativ sind, ist es in der Regel besser, den Schritt der Featureauswahl zu überspringen und nur die Regularisierung zu verwenden, um eine Überanpassung der Daten zu vermeiden.

Kurz gesagt, es gibt kein inhärentes Problem bei der Verwendung einer SVM (oder eines anderen regulierten Modells wie Ridge Regression, LARS, Lasso, elastisches Netz usw.) für ein Problem mit 120 Beobachtungen und Tausenden von Attributen, vorausgesetzt, die Regularisierungsparameter sind richtig eingestellt .

Dikran Beuteltier
quelle
Gibt es Papiere, die zeigen, dass Methoden zur Auswahl von Funktionen wie das auf Informationsgewinn basierende Ranking mit höherer Wahrscheinlichkeit überbewertet werden?
user13420
1
Nicht, dass ich wüsste, der Punkt war, dass die SVM einige theoretische Ergebnisse hat, die darauf hindeuten, dass sie aufgrund der Anzahl von Attributen resistent gegen Überanpassung sind, aber Feature-Auswahlmethoden haben das nicht einmal. FWIW, die Monographie von Miller über "Subset Selection in Regression", rät zur Verwendung von Regularisierungsmethoden, wenn nur Vorhersageleistung erforderlich ist. Es gibt einige offene Herausforderungen Merkmalsauswahl gewesen, die darauf hindeuten , dass Regularisierung neigt zu outperform Merkmalsauswahl (siehe nipsfsc.ecs.soton.ac.uk und causality.inf.ethz.ch/challenge.php ).
Dikran Beuteltier
Wie im ersten Absatz angegeben, sind SVMs in der Regel beständig gegen Überanpassung. Verwendet sie die Regularisierung (Parameter C) ? svmHat diese also standardmäßig die Regularisierungsparameter C ? Und ich bin mir nicht sicher , was Variablen , die von dieser kontrollierten C , Sie meinen , diese Schlupfvariablen ?
Avocado
10

Ich werde mit der zweiten und letzten Frage beginnen.

Das Problem der Verallgemeinerung ist offensichtlich wichtig, denn wenn die Ergebnisse des maschinellen Lernens nicht verallgemeinert werden können, sind sie völlig nutzlos.

Die Methoden zur Gewährleistung der Verallgemeinerung stammen aus der Statistik. Wir gehen normalerweise davon aus, dass Daten aus einer Wahrscheinlichkeitsverteilung generiert werden, die ihren Ursprung in der Realität hat. Wenn Sie beispielsweise ein Mann sind, der im Jahr 2000 geboren wurde, gibt es eine Wahrscheinlichkeitsverteilung für Gewicht / Größe / Augenfarbe, wenn Sie 10 Jahre alt sind. Diese Verteilung ergibt sich aus dem verfügbaren Genpool im Jahr 2000, möglichen Umweltfaktoren usw. Wenn Wir haben viele Daten, wir können etwas über diese zugrunde liegenden Verteilungen sagen, zum Beispiel, dass sie mit hoher Wahrscheinlichkeit Gauß oder multinomial sind. Wenn wir ein genaues Bild der Verteilung haben, können wir bei gegebener Größe, Gewicht und Augenfarbe eines 10-jährigen Kindes im Jahr 2010 eine gute Annäherung an die Wahrscheinlichkeit erhalten, dass das Kind männlich ist. Und wenn die Wahrscheinlichkeit nahe bei 0 oder 1 liegt, können wir einen guten Eindruck davon bekommen, was der Sex der Kinder wirklich ist.

kδk+ϵk+ϵ

Nun zurück zu SVM. Wenn Sie keine Kerne verwenden oder Kerne verwenden, die in endlich dimensionale Räume abgebildet werden, ist die sogenannte Vapnik-Chervonenkis-Dimension, die ein Maß für die Komplexität des Hypothesenraums ist, endlich, und mit dieser und genügend Übungsbeispielen können Sie dies mit high erreichen Die Wahrscheinlichkeit, dass der Fehler auf dem Test-Set nicht viel größer ist als der Fehler auf dem Training-Set. Wenn Sie Kernel verwenden, die auf unendlich dimensionale Merkmalsräume abgebildet werden, ist auch die Vapnik-Chervonenkis-Dimension unendlich, und was noch schlimmer ist, die Trainingsbeispiele allein können keine gute Verallgemeinerung garantieren, egal wie viele. Glücklicherweise erweist sich die Größe des Randes einer SVM als guter Parameter, um die Verallgemeinerung sicherzustellen. Mit großem Spielraum und Trainingsset können Sie sicherstellen, dass der Testfehler auch nicht viel größer als der Trainingsfehler ist.

sjm.majewski
quelle
7

Es gibt mindestens zwei Hauptquellen für Überanpassungen, die Sie in Betracht ziehen könnten.

  1. Überanpassung durch einen Algorithmus, der zu viel aus den verfügbaren Trainingsmustern abgeleitet hat. Dies lässt sich am besten durch Verwendung eines Maßes für die Verallgemeinerungsfähigkeit des Modells empirisch verhindern. Die Kreuzvalidierung ist eine solche beliebte Methode.

  2. Überanpassung, da die zugrunde liegende Verteilung unterabgetastet ist. In der Regel können Sie nur dann etwas dagegen unternehmen, wenn Sie mehr Daten erfassen oder Ihrem Modell Domänenwissen über das Problem hinzufügen können.

Bei 120 Stichproben und einer großen Anzahl von Merkmalen ist es sehr wahrscheinlich, dass Sie von 2 verunglimpft werden und möglicherweise auch zu 1 neigen.

Sie können etwas gegen 1 unternehmen, indem Sie die Auswirkung der Modellkomplexität auf die Test- und Trainingsfehler sorgfältig beobachten.

image_doctor
quelle
Aber wie erkennen wir, ob wir überanpassungsfähig sind? Wenn die Modelle bei der Kreuzvalidierung ziemlich gut abschneiden, machen sie das dann, weil es tatsächlich gut ist oder weil aufgrund von 1 oder 2 eine Überanpassung vorliegt? Auch bei Tausenden von Features wäre es umständlich, jedes Feature von Hand zu analysieren. Wenn eine Überanpassung nicht festgestellt werden kann, wie können wir dann einem Ergebnis der Kreuzvalidierung vertrauen?
user13420
1
Ohne zusätzliche Daten ist es sehr schwierig zu wissen, ob Sie mit einer unterabgetasteten Population überfordert sind. Sie können die Daten in drei Sätze unterteilen, indem Sie einen Validierungssatz zum Optimieren des Modells und dann einen separaten Testsatz zum Testen verwenden. Ein weiterer Ansatz besteht darin, die Modellkomplexität zu ändern und festzustellen, wie sich die Genauigkeit von Training und Testsatz ändert. Ein Anstieg des Testsatzfehlers zeigt an, dass das Modell in gewissem Maße über die Daten hinausgepasst wurde.
image_doctor
Durch wiederholte 50/50 Holdout-Versuche erhalten Sie ein Gefühl dafür, ob die Trainings- und Testsätze ausgewogen sind. Sie werden es wahrscheinlich nicht sein. Einige Modelle, wie z. B. KNN, erzielen auf dem Trainingsset eine perfekte Genauigkeit und sind daher in gewisser Weise übermäßig ausgestattet. Möglicherweise erreichen sie dennoch eine akzeptable Leistung auf dem Testset. Wie bei vielem im maschinellen Lernen hängt am Ende alles von den genauen Einzelheiten der Daten ab.
image_doctor
@image_doctor Können Sie näher auf "Ändern der Modellkomplexität" eingehen?
Keith Hughitt