Welche Stichprobenmethode eignet sich am besten, um die Leistung eines Klassifikators für einen bestimmten Datensatz zu bewerten und mit anderen Klassifikatoren zu vergleichen? Kreuzvalidierung scheint Standard zu sein, aber ich habe gelesen, dass Methoden wie .632-Bootstrap eine bessere Wahl sind.
Als Follow-up: Hat die Auswahl der Leistungsmetrik Einfluss auf die Antwort (wenn ich AUC anstelle von Genauigkeit verwende)?
Mein letztendliches Ziel ist es, mit einiger Sicherheit sagen zu können, dass eine maschinelle Lernmethode für einen bestimmten Datensatz einer anderen überlegen ist.
Antworten:
Ein wichtiger Unterschied zu den üblichen Methoden der Cross-Validierung und der Out-of-Bootstrap-Validierung besteht darin, dass die meisten Benutzer die Cross-Validierung nur einmal anwenden (dh jeder Fall wird genau einmal getestet), während die Out-of-Bootstrap-Validierung mit einer großen Anzahl durchgeführt wird von Wiederholungen / Iterationen. In dieser Situation unterliegt die Kreuzvalidierung aufgrund der Instabilität des Modells einer höheren Varianz. Dies kann jedoch vermieden werden, indem z. B. eine iterierte / wiederholte fache Kreuzvalidierung verwendet wird. Wenn dies getan wird, scheint der Gesamtfehler beider Resampling-Schemata in der Praxis zumindest für die spektroskopischen Datensätze, mit denen ich gearbeitet habe, derselbe zu sein.k
Von einer einmaligen Kreuzvalidierung wird abgeraten, da es keine Möglichkeit gibt, die Varianz des Modellinstabilitätstyps zu verringern, und es gibt einige Klassifikatoren und Probleme, bei denen eine enorme pessimistische Tendenz besteht.
Der .632-Bootstrap macht einen vernünftigen Job, solange der eingemischte Resampling-Fehler nicht zu optimistisch ist. (ZB für die Daten, mit denen ich arbeite, sehr breite Matrizen mit vielen Variablen, funktioniert es nicht sehr gut, da die Modelle anfällig für schwerwiegende Überanpassungen sind). Dies bedeutet auch, dass ich die Verwendung von .632-Bootstrap zum Vergleichen von Modellen unterschiedlicher Komplexität vermeiden würde . Mit .632+ Bootstrap habe ich keine Erfahrung: Wenn eine Überanpassung auftritt und diese ordnungsgemäß erkannt wird, entspricht sie der ursprünglichen Schätzung, dass der Bootstrap nicht ordnungsgemäß funktioniert. Ich halte mich also an die einfache Überprüfung meiner Daten oder die wiederholte Überprüfung meiner Daten.
Literatur:
(ein Klassiker )
Dougherty und Braga-Neto haben eine Reihe von Publikationen zum Thema , z
Dougherty, ER et al. : Leistung von Fehlerschätzern für die Klassifikation Current Bioinformatics, 2010, 5, 53-67
Beleites, C. et al. : Varianzreduktion bei der Schätzung von Klassifizierungsfehlern mit spärlichen Datensätzen Chemom Intell Lab Syst, 2005, 79, 91 - 100.
Wir haben einen Vergleich zwischen nur einmaliger oder wiederholter Kreuzvalidierung und einem Vergleich mit Out-of-Bootstrap und .632 Bootstrap auch für besonders breite Daten mit Multi-Kollinearitäten.
Kim, J.-H .: Schätzung der Klassifizierungsfehlerrate: Wiederholte Kreuzvalidierung, wiederholtes Aussetzen und Bootstrap, Computational Statistics & Data Analysis, 2009, 53, 3735 - 374 Stelltk
außerdem fest, dass wiederholte / iterierte fache Kreuzvalidierung und Out-of-Bootstrap haben eine ähnliche Leistung (im Gegensatz zur einmaligen Kreuzvalidierung).
Auswahl der Metrik:
Genauigkeit (von der @FrankHarrell Ihnen mitteilt, dass es sich um eine schlechte Wahl handelt, da es sich nicht um eine ordnungsgemäße Bewertungsregel handelt ) unterliegt einer hohen Varianz, da sie jeden Fall als vollständig richtig oder vollständig falsch zählt, auch wenn der Klassifikator z. B. nur 60 vorausgesagt hat % hintere Wahrscheinlichkeit, dass der Testfall zu der fraglichen Klasse gehört. Eine geeignete Bewertungsregel ist z. B. der Brier-Score, der eng mit dem mittleren quadratischen Fehler in der Regression zusammenhängt.
Mittlere quadratische Fehleranaloga sind für Proportionen wie Genauigkeit, Empfindlichkeit, Spezifität und Vorhersagewerte verfügbar: Beleites, C. et al. : Validierung von Soft-Classification-Modellen unter Verwendung von Teilklassenmitgliedschaften: Ein erweitertes Konzept von Sensitivität & Co. zur Einstufung von Astrozytomgeweben, Chemom Intell Lab Syst, 2013, 122, 12 - 22; DOI: 10.1016 / j.chemolab.2012.12.003 (Zusammenfassungsseite mit Link auch zum Preprint)
Verwenden Sie einen gepaarten Test, um dies zu bewerten. Schauen Sie sich McNemars Test an, um die Proportionen zu vergleichen.
Die Antwort darauf wird durch die Wahl der Metrik beeinflusst. Da regressionsartige Fehlermaßnahmen nicht den "Härtungs" -Schritt haben, Entscheidungen mit einem Schwellenwert abzuschneiden, weisen sie häufig eine geringere Varianz als ihre Klassifizierungsgegenstücke auf. Metriken wie die Genauigkeit, die im Grunde genommen Proportionen sind, erfordern eine große Anzahl von Testfällen, um die Überlegenheit eines Klassifikators gegenüber einem anderen festzustellen.
Fleiss: "Statistische Methoden für Quoten und Anteile" enthält Beispiele (und Tabellen) für den ungepaarten Vergleich von Anteilen. Um Ihnen einen Eindruck davon zu geben, was ich mit "großen Stichproben" meine , sehen Sie sich das Bild in meiner Antwort auf diese andere Frage an . Gepaarte Tests wie McNemar benötigen weniger Testfälle, aber IIRC ist immer noch im besten Fall die Hälfte (?) Der Stichprobengröße, die für den ungepaarten Test benötigt wird.
Um die Leistung eines Klassifikators zu charakterisieren (gehärtet), benötigen Sie normalerweise eine Arbeitskurve mit mindestens zwei Werten, z. B. den ROC (Sensitivität vs. Spezifität) oder dergleichen.
Ich verwende selten die allgemeine Genauigkeit oder AUC, da meine Anwendungen normalerweise Einschränkungen aufweisen, z. B. dass die Empfindlichkeit wichtiger als die Spezifität ist, oder bestimmte Grenzen für diese Maßnahmen eingehalten werden sollten. Wenn Sie sich für Summenmerkmale mit einer Zahl entscheiden, stellen Sie sicher, dass der Arbeitspunkt der Modelle, die Sie betrachten, tatsächlich in einem vernünftigen Bereich liegt.
Stellen Sie sicher, dass Sie die relative Häufigkeit der in der Anwendung auftretenden Klassen berücksichtigen, um Genauigkeits- und andere Leistungsmessungen zu erhalten, die die Leistung für mehrere Klassen gemäß den Referenzetiketten zusammenfassen Trainings- oder Testdaten.
Provost, F. et al. : Der Fall gegen die Genauigkeitsschätzung für den Vergleich von Induktionsalgorithmen im Verlauf der fünfzehnten internationalen Konferenz über maschinelles Lernen, 1998
Bearbeiten: Vergleichen mehrerer Klassifikatoren
Ich habe eine Weile über dieses Problem nachgedacht, bin aber noch nicht zu einer Lösung gekommen (noch habe ich jemanden getroffen, der eine Lösung hatte).
Folgendes habe ich bisher:
Das Problem ist, dass Sie sehr schnell auf massive Mehrfachvergleichssituationen stoßen.
Sie können jedoch sagen, dass mehrere Vergleiche bei den vorliegenden Anwendungen die Situation nicht wirklich verschlechtern, da ich selten genug Testfälle habe, um auch nur einen einzigen Vergleich zu ermöglichen ...
Ich denke, die Optimierung von Modellhyperparametern ist eine spezialisierte Version des allgemeinen Modellvergleichsproblems, das für den Anfang möglicherweise leichter zu lösen ist. Es gibt jedoch Gerüchte, wonach die Qualität von Modellen in hohem Maße vom Fachwissen des Herstellers abhängt, möglicherweise sogar mehr als von der Wahl des Modelltyps
Für den Moment habe ich entschieden, dass "Optimierung die Wurzel allen Übels ist" und stattdessen einen ganz anderen Ansatz gewählt:
Ich entscheide so weit wie möglich durch Expertenwissen über das vorliegende Problem. Das erlaubt es tatsächlich, die Dinge ein wenig einzugrenzen, so dass ich oft einen Modellvergleich vermeiden kann. Wenn ich Modelle vergleichen muss, versuche ich, sehr offen und klar zu sein und die Leute an die Unsicherheit der Leistungsschätzung zu erinnern, und dass insbesondere der Vergleich mehrerer Modelle bei AFAIK immer noch ein ungelöstes Problem ist.
Edit 2: gepaarte Tests
Unter Modellen können Sie Vergleiche zwischen zwei verschiedenen Modellen anstellen (was eine massive Mehrfachvergleichssituation ist). Ich weiß nicht, wie ich das richtig machen soll. Allerdings ist das gepaart1n 12( n2- n ) des Tests bezieht sich nur auf die Tatsache, dass alle Modelle mit genau den gleichen Testfällen getestet werden, Sie können die Fälle einerseits in "einfache" und "schwierige" Fälle aufteilen, für die alle Modelle zu einem korrekten (oder falsche Vorhersage. Sie helfen nicht, zwischen den Modellen zu unterscheiden. Auf der anderen Seite gibt es die "interessanten" Fälle, die von einigen, aber nicht von anderen Modellen korrekt vorhergesagt werden. Nur diese "interessanten" Fälle müssen für die Beurteilung der Überlegenheit berücksichtigt werden, dabei helfen weder die "einfachen" noch die "schwierigen" Fälle. (So verstehe ich die Idee hinter McNemars Test).
Für den massiv mehrfachen Vergleich zwischen Modellen besteht meines Erachtens ein Problem darin, dass Sie, wenn Sie nicht viel Glück haben, je mehr Modelle Sie vergleichen, desto weniger Fälle von den weiteren Überlegungen ausschließen können: Auch wenn alle Modelle in ihrer Art wirklich gleich sind Insgesamt wird es immer unwahrscheinlicher, dass ein Fall von Modellen immer richtig (oder immer falsch) vorhergesagt wird .nn n
quelle
Sie müssen den Bootstrap (.632, .632+) nur modifizieren, weil die ursprüngliche Untersuchung eine diskontinuierliche, nicht korrekte Bewertungsregel (Anteil richtig klassifiziert) verwendet hat. Bei anderen Genauigkeitswerten funktioniert der normale Optimismus-Bootstrap normalerweise einwandfrei. Weitere Informationen finden Sie unter http://biostat.mc.vanderbilt.edu/RmS#Studies_of_Methods_Used_in_the_T
Durch falsche Bewertungsregeln werden Sie bei der Auswahl der Features und deren Gewichtung in die Irre geführt. Mit anderen Worten, alles, was schief gehen kann, wird schief gehen.
quelle
Aus 'Applied Predictive Modeling., Khun. Johnson . S.78
"Kein Resampling-Verfahren ist einheitlich besser als das andere. Die Auswahl sollte unter Berücksichtigung mehrerer Faktoren getroffen werden. Wenn die Stichprobengröße klein ist, empfehlen wir die wiederholte 10-fache Kreuzvalidierung aus mehreren Gründen; die Bias- und Varianz-Eigenschaften sind gut und gegeben Bei der Stichprobengröße sind die Berechnungskosten nicht groß. Wenn das Ziel darin besteht, zwischen Modellen zu wählen, anstatt den besten Leistungsindikator zu erhalten, kann die Verwendung eines der Bootstrap-Verfahren als überzeugend angesehen werden, da diese eine sehr geringe Varianz aufweisen. Bei großen Stichproben werden die Unterschiede zwischen den Resampling-Methoden weniger ausgeprägt und die Rechenleistung steigt. " p. 78
Darüber hinaus wird bei der Wahl von zwei ähnlichen Ergebnissen im Allgemeinen das besser interpretierbare Modell bevorzugt. Als Beispiel (aus demselben Text) hatte ein SVM-Klassifikator unter Verwendung des 10-fachen CV eine Genauigkeitsschätzung von 75% mit Resamplergebnissen zwischen 66 und 82%. Dieselben Parameter wurden für einen logistischen Regressionsklassifikator mit einer Genauigkeit von 74,9% und demselben Resample-Bereich verwendet. Das einfachere logistische Regressionsmodell ist möglicherweise vorzuziehen, da sich die Ergebnisse leichter interpretieren lassen.
quelle