Cross-Validierung oder Bootstrapping zur Bewertung der Klassifizierungsleistung?


24

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.


1
Bootstrap (mit Ersatz) kann für Ihren Trainingsdatensatz verwendet werden, z. B. anstelle einer (wiederholten) k-fachen Kreuzvalidierung. Siehe auch: Unterschiede zwischen Kreuzvalidierung und Bootstrapping zum Schätzen des Vorhersagefehlers , Grundlegendes zum Bootstrapping für die Validierung und Modellauswahl .
Chl

Antworten:


42

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:

  • Kohavi, R .: Eine Studie zur Kreuzvalidierung und zum Bootstrap für die Genauigkeitsschätzung und Modellauswahl Verfahren der künstlichen Intelligenz 14. Internationale gemeinsame Konferenz, 20. - 25. August 1995, Montréal, Québec, Kanada, 1995, 1137 - 1145.
    (ein Klassiker )

Dougherty und Braga-Neto haben eine Reihe von Publikationen zum Thema , z

Auswahl der Metrik:

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.

  • 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:

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 gepaart1n12(n2n)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 .nnn


Danke für deine ausführliche Antwort! Ich würde es wirklich begrüßen, wenn Sie auf den Punkt eingehen könnten, den Sie gemacht haben: " Verwenden Sie einen gepaarten Test, um das zu bewerten. Um die Proportionen zu vergleichen, schauen Sie sich McNemars Test an. " Ich sollte meine Frage leicht umformulieren: Ich möchte mehrere Maschinen vergleichen Lernmethoden auf einmal, nicht unbedingt nur Paare. Mir ist nicht sofort klar, wie gepaarte Tests dies erreichen könnten.
Kelvin_11

3
(+6) Nette Antwort.
Chl

Ich liebe dich für diesen Kommentar. Für die Bedeutung des multiplen Modellvergleichs - wie steht es mit der Varianzanalyse (ANOVA)? wie Kruskal – Wallis ?
Serendipity

1
@Serendipity: Ich weiß wirklich nicht genug über Kruskal-Wallis, um Ihnen hier eine Antwort zu geben. Ich vermute jedoch, dass ANOVA-ähnliche Methoden hier nicht erwünscht sind, da (1) sie nicht die gepaarte Natur der Daten verwenden und (2) im Vergleich zu den Mehrfachvergleichen an Leistung gewinnen, da die Nullhypothese nur "alle Modelle" ist "Gleiche Leistung erbringen" - Wenn dies abgelehnt wird, wissen Sie immer noch nicht, welche Algorithmen anders funktionieren . Es kann also nur verwendet werden, um negative Ergebnisse hervorzuheben (es spielt keine Rolle, welchen Algorithmus Sie wählen). Ich würde vermuten, dass es eine große Zone gibt, in der ANOVA nicht alle Modelle
anzeigt

... sind gleich, aber Sie haben nicht genügend Informationen, um die mehreren Vergleiche zu ermöglichen, die zur Identifizierung besserer Modelle erforderlich sind.
cbeleites unterstützt Monica am

6

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.


4

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.


4
Beachten Sie, dass die Varianz, die Sie durch Ausführen einer großen Anzahl von Bootstrap- / Kreuzvalidierungsiterationen / -wiederholungen reduzieren können , nur der Teil der Varianz ist, der durch die Instabilität der Ersatzmodelle verursacht wird. Sie können durch Kreuzvalidierung messen, ob dies ein wesentlicher Beitrag zur Gesamtvarianz ist, da jede Stichprobe genau einmal während eines Laufs getestet wird. Die Abweichung aufgrund der endlichen Stichprobengröße wird daher nicht im Vergleich der Durchschnittswerte der vollständigen Kreuzvalidierungsläufe angezeigt . Für die "harte" Klassifizierung können Sie die Varianz aufgrund der endlichen Stichprobengröße aus der Binomialverteilung berechnen.
cbeleites unterstützt Monica

@cbeleites: Können Sie bitte kurz erläutern, was Sie damit meinen, dass "jede Stichprobe bei jedem Lauf genau einmal getestet wird, damit die Varianz aufgrund der endlichen Stichprobengröße nicht im Vergleich der Durchschnittswerte der vollständigen Kreuzvalidierungsläufe auftaucht." (Referenzen sind auch in Ordnung!) (+1 klar)
usεr11852 sagt Reinstate Monic

@ usεr11852: Jeder Fall wird genau einmal pro Kreuzvalidierungslauf getestet. Stellen Sie sich eine Tabelle mit n_sample xr CV-Laufergebnissen vor. Wenn wir stabile Vorhersagen haben, sind alle r Vorhersagen für den gleichen Fall gleich. Dh es gibt keine Varianz entlang der Reihen. Verschiedene Fälle können jedoch unterschiedliche Vorhersagen erhalten (es sei denn, wir haben z. B. eine Genauigkeit von 100%): Wir haben Varianz entlang der Spalten. Die Standardauswertung der iterierten / wiederholten Kreuzbewertung besteht nun darin, die Spaltenmittelwerte zu vergleichen. Für eine stabile Modelle sind dies genau das gleiche, obwohl wir tun Varianz entlang der Säulen, also zwischen den Fällen.
cbeleites unterstützt Monica am

(Wenn die Modelle / Vorhersagen instabil sind, erhalten wir unterschiedliche Vorhersagen durch unterschiedliche Ersatzmodelle und sehen auch die Varianz entlang der Zeilen. Außerdem einige zusätzliche Varianz entlang der Spalten, da jede Spalte im k-fachen Lebenslauf k unterschiedliche Ersatzmodelle abdeckt. ) Für die Messung der Modell- / Vorhersagestabilität (in) ist es möglicherweise noch direkter, die Varianz entlang der Zeilen zu ermitteln, dh die Varianz der Vorhersagen verschiedener Ersatzmodelle für denselben Fall.
cbeleites unterstützt Monica am

1
@cbeleites: Vielen Dank für die Klarstellung. Ich kann jetzt den Punkt schätzen, den Sie mehr machen.
usεr11852 sagt Reinstate Monic
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.