Interne versus externe Kreuzvalidierung und Modellauswahl

26

Mein Verständnis ist, dass wir mit Kreuzvalidierung und Modellauswahl versuchen, zwei Dinge anzusprechen:

P1 . Schätzen Sie den zu erwartenden Bevölkerungsverlust beim Training mit unserer Stichprobe

P2 . Messen Sie und berichten Sie unsere Unsicherheit dieser Schätzung (Varianz, Konfidenzintervalle, Verzerrung, etc.)

Es scheint üblich zu sein, wiederholte Kreuzvalidierungen durchzuführen, da dies die Varianz unseres Schätzers verringert.

In Bezug auf Berichterstellung und Analyse ist meines Erachtens die interne Validierung besser als die externe Validierung, weil:

Es ist besser zu berichten:

  • Die Statistiken unseres Schätzers, z. B. Konfidenzintervall, Varianz, Mittelwert usw. für die vollständige Stichprobe (in diesem Fall die CV-Stichprobe).

als Berichterstattung:

  • Der Verlust unseres Schätzers bei einer Hold-out-Teilmenge der ursprünglichen Stichprobe, da:

    (i) Dies wäre eine einzelne Messung ( auch wenn wir unseren Schätzer mit CV auswählen )

    (ii) Unser Schätzer für diese einzelne Messung wäre an einem Satz (z. B. dem CV-Satz) trainiert worden, der kleiner ist als unsere ursprüngliche Stichprobe, da wir Platz für den Hold-Out-Satz schaffen müssen. Dies führt zu einer voreingenommeneren (pessimistischen) Schätzung in P1 .

Ist das richtig? Wenn nicht warum?

Hintergrund:

Es ist einfach, Lehrbücher zu finden, in denen empfohlen wird, die Stichprobe in zwei Sätze zu unterteilen:

  • Das CV- Set, das anschließend und wiederholt in Zug- und Validierungs- Sets unterteilt wird.
  • Das Hold-Out- Set (Test-Set), das nur am Ende verwendet wird, um die Leistung des Schätzers zu melden

Meine Frage ist ein Versuch, die Vorzüge und Vorteile dieses Lehrbuchansatzes zu verstehen, da unser Ziel darin besteht, die Probleme P1 und P2 zu Beginn dieses Beitrags wirklich anzusprechen . Aus meiner Sicht ist die Berichterstattung über das Hold-Out-Test-Set eine schlechte Praxis, da die Analyse der CV-Stichprobe aussagekräftiger ist.

Geschachtelte K-Falte vs. wiederholte K-Falte:

Grundsätzlich kann man Hold-out mit regulärem K-Falz kombinieren , um geschachtelte K-Falz zu erhalten . Dies würde es uns ermöglichen, die Variabilität unseres Schätzers zu messen, aber es scheint mir, dass bei der gleichen Anzahl von trainierten Gesamtmodellen (Gesamtanzahl von Falten) wiederholte K-Faltungen Schätzer ergeben würden, die weniger verzerrt und genauer sind als verschachtelte K- falten. Um das zu sehen:

  • Wiederholte K-Faltung verwendet einen größeren Anteil unserer Gesamtstichprobe als geschachtelte K-Faltung für dieselbe K (dh, dies führt zu einer geringeren Verzerrung).
  • 100 Iterationen ergeben nur 10 Messungen unseres Schätzers in verschachtelter K-Falte (K = 10), 100 Messungen in K-Falte (mehr Messungen führen zu einer geringeren Varianz in P2 )

Was ist falsch an dieser Argumentation?

Amelio Vazquez-Reina
quelle
1
Ich habe Ihren Titel so angepasst, dass er spezifischer auf das abgestimmt ist, was Sie wissen möchten. Ich denke, dass Sie eher die Informationen erhalten, die Sie auf diese Weise benötigen. Wenn Sie nicht einverstanden sind, können Sie es jederzeit wieder ändern. Beachten Sie auch, dass dieser Thread aufgrund der hohen Anzahl von Bearbeitungen automatisch CW wird. Wenn Sie nicht möchten, dass es CW ist, weisen Sie den Moderator darauf hin. es sollte möglich sein, das umzukehren (denke ich).
gung - Wiedereinsetzung von Monica
1
Danke @gung. Meine einzige Sorge ist, dass manche Leute das Halten mit dem zweifachen Lebenslauf verwechseln könnten. Ich denke, dass der interne und der externe Lebenslauf klarer sind als in Steyerberg03
Amelio Vazquez-Reina,

Antworten:

20

Lassen Sie mich ein paar Punkte zu den netten Antworten hinzufügen, die bereits hier sind:

Verschachtelte K-Faltung vs wiederholte K-Faltung: Verschachtelte und wiederholte K-Faltung sind völlig verschiedene Dinge, die für unterschiedliche Zwecke verwendet werden.

  • Wie Sie bereits wissen , ist geschachtelt gut, wenn Sie den inneren Lebenslauf für die Modellauswahl verwenden möchten.
  • wiederholt: IMHO solltest du immer den k-fach Lebenslauf wiederholen [siehe unten].

Ich empfehle daher, jede verschachtelte k-fache Kreuzvalidierung zu wiederholen .

Besserer Bericht "Die Statistiken unseres Schätzers, z. B. Konfidenzintervall, Varianz, Mittelwert usw. für die vollständige Stichprobe (in diesem Fall die CV-Stichprobe)." :

Sicher. Sie müssen sich jedoch der Tatsache bewusst sein, dass Sie das Konfidenzintervall nicht (leicht) allein anhand der Kreuzvalidierungsergebnisse abschätzen können. Der Grund dafür ist, dass die tatsächliche Anzahl der Fälle, die Sie sich ansehen, unabhängig von der Anzahl Ihrer Resamples begrenzt ist (und normalerweise eher gering ist - sonst würden Sie sich nicht um diese Unterscheidungen kümmern).
Siehe z. B. Bengio, Y. und Grandvalet, Y .: No Unbias Estimator der Varianz der K-Fold-Kreuzvalidierung Journal of Machine Learning Research, 2004, 5, 1089-1105 .

n

nσ2(p^)=1np(1-p)pp^np=0,5
C. Beleites, R. Salzer und V. Sergo: Validierung von Soft Classification Models unter Verwendung partieller Klassenmitgliedschaften: Ein erweitertes Konzept von Sensitivität & Co. zur Einstufung von Astrozytom-Geweben, Chemom. Intell. Labor. Syst., 122 (2013), 12 & ndash; 22.

Damit kann ich Ihre Argumentation gegen das Hold-out umkehren :

  • Auch ein Resampling allein liefert (nicht unbedingt) eine gute Schätzung der Varianz.
  • OTOH, wenn Sie über die endliche Stichprobengrößenabweichung der Kreuzvalidierungsschätzung nachdenken können, ist dies auch zum Aussetzen möglich.

Unser Schätzer für diese einzelne Messung wäre an einem Satz (z. B. dem CV-Satz) trainiert worden, der kleiner ist als unsere ursprüngliche Stichprobe, da wir Platz für den Hold-Out-Satz schaffen müssen. Dies führt zu einer voreingenommeneren (pessimistischen) Schätzung in P1.

1k

Aus meiner Sicht ist die Berichterstattung über das Hold-Out-Test-Set eine schlechte Praxis, da die Analyse der CV-Stichprobe aussagekräftiger ist.

Normalerweise ja. Beachten Sie jedoch auch, dass es wichtige Fehlertypen (z. B. Drift) gibt, die durch eine erneute Abtastvalidierung nicht gemessen / erkannt werden können.
Siehe z. B. Esbensen, KH und Geladi, P. Grundsätze für die ordnungsgemäße Validierung: Verwendung und Missbrauch der erneuten Probenahme zur Validierung, Journal of Chemometrics, 2010, 24, 168-187

aber es scheint mir, dass bei der gleichen Anzahl von trainierten Modellen (Anzahl der Faltungen) wiederholte K-Faltungen Schätzer ergeben, die weniger voreingenommen und genauer sind als verschachtelte K-Faltungen. Um das zu sehen:

Wiederholte K-Faltung verwendet einen größeren Anteil unserer Gesamtstichprobe als geschachtelte K-Faltung für dieselbe K (dh, dies führt zu einer geringeren Verzerrung).

k-1kn
k

100 Iterationen ergeben nur 10 Messungen unseres Schätzers in verschachtelter K-Falte (K = 10), 100 Messungen in K-Falte (mehr Messungen führen zu einer geringeren Varianz in P2)

Ob dies einen Unterschied macht, hängt von der Instabilität der (Ersatz-) Modelle ab, siehe oben. Bei stabilen Modellen spielt dies keine Rolle. Es kann also sein, ob Sie 1000 oder 100 äußere Wiederholungen / Iterationen durchführen.


Und dieses Papier gehört definitiv zu der Leseliste zu diesem Thema: Cawley, GC und Talbot, NLC über Überanpassung bei der Modellauswahl und anschließende Auswahlverzerrung bei der Leistungsbewertung, Journal of Machine Learning Research, 2010, 11, 2079-2107

cbeleites unterstützt Monica
quelle
6

Eine wichtige Referenz, die dies erklärt, ist:

@ARTICLE{pic90,
  author = {Picard, R. R. and Berk, K. N.},
  year = 1990,
  title = {Data splitting},
  journal = The American Statistician,
  volume = 44,
  pages = {140-147}
}

Siehe auch:

@Article{mic05pre,
  author =       {Michiels, Stefan and Koscielny, Serge and Hill, Catherine},
  title =        {Prediction of cancer outcome with microarrays: a
multiple random validation strategy},
  journal =      {Lancet},
  year =         2005,
  volume =       365,
  pages =        {488-492},
  annote =       {comment on
p. 454; validation;microarray;bioinformatics;machine learning;nearest
centroid;severe problems with data splitting;high variability of list
of genes;problems with published studies;nice results for effect of
training sample size on misclassification error;nice use of confidence
intervals on accuracy estimates;unstable molecular signatures;high
instability due to dependence on selection of training sample}
}

In meiner eigenen Arbeit stellte ich fest, dass für die Aufteilung von Daten Schulungen und Teststichproben mit einer Stichprobengröße von annähernd 10.000 erforderlich sind, um zufriedenstellend zu funktionieren.

Frank Harrell
quelle
Frank - Das sind großartige Ressourcen. Ich frage mich, inwiefern sich diese Informationen auf das beziehen, was @Dan in seiner Antwort angegeben hat. Vielleicht verstehe ich das falsch, aber es sieht so aus, als wäre die Community in diesem Punkt gespalten.
Amelio Vazquez-Reina
Ich hatte keine Zeit, das erste zu lesen, aber was das zweite betrifft, warf ich einen kurzen Blick darauf und es scheint genau das wiederzugeben, was meine Papiere sagten. Wenn Sie sich den Abschnitt "Statistische Analyse" genauer ansehen, werden Sie feststellen, dass dort derselbe Funktionsauswahlprozess beschrieben wird, den Dikran in dem oben verlinkten Beitrag beschrieben hat. Ich vermute, die von ihnen untersuchten Personen haben das nicht so gemacht, und deswegen stellen sie fest, dass "unsere ausgewählten Studien aufgrund unzureichender Validierung zu optimistische Ergebnisse im Vergleich zu unseren eigenen Analysen veröffentlicht haben". Meiner Meinung nach gibt es keine Meinungsverschiedenheiten.
Dan L
4

Es hängt wirklich von Ihrem Modellbauprozess ab, aber ich fand dieses Dokument hilfreich

http://www.biomedcentral.com/content/pdf/1471-2105-7-91.pdf

Der Kern dessen, was hier diskutiert wird, ist die signifikante liberale Verzerrung (Schätzung der Modellleistung als besser als sie tatsächlich sein wird), die auftritt, wenn Sie Ihr Modell auf der Grundlage derselben Auswahl treffen, die Sie zur Schätzung seiner Leistung verwenden. Wenn Sie also Ihr Modell aus einer Reihe von möglichen Modellen auswählen, indem Sie sich den Kreuzvalidierungsfehler ansehen, sollten Sie die Modellleistung nicht mit dem Kreuzvalidierungsfehler (oder einer anderen internen Schätzmethode) schätzen.

Eine weitere nützliche Ressource ist

https://stats.stackexchange.com/a/27751/26589

Dieser Beitrag enthält ein anschauliches Beispiel dafür, wie die Auswahl Ihrer Features, wenn alle Daten "gesehen" werden, zu einer liberalen Verzerrung der Modellleistung führt (wobei davon ausgegangen wird, dass Ihr Modell eine bessere Leistung aufweist als es tatsächlich ist).

Wenn Sie möchten, dass ich Ihnen ein Beispiel vorstelle, das spezifischer auf Ihre Arbeitsweise zugeschnitten ist, können Sie möglicherweise eine allgemeine Beschreibung der von Ihnen erstellten Modelltypen geben (wie viele Daten Sie haben, aus wie vielen Features Sie auswählen, aus denen Sie auswählen) tatsächliches Modell usw.).

Dan L
quelle
Vielen Dank, Dan. Das ist alles interessant. Der Einfachheit halber können wir annehmen, dass wir versuchen, die Kernelparameter einer SVM (z. B. eines RBF-Kernels) für die binäre Klassifizierung (<~ 10 Parameter) zu schätzen, und dass wir mit 100 Stichproben (z. B. 20 Positiven) aus einer großen Population arbeiten.
Amelio Vazquez-Reina
Ein paar kurze Fragen. 1) Erlauben Sie sich beim Erstellen Ihrer SVMs, eine Teilmenge der 10 Parameter auszuwählen, oder verwenden Sie immer alle, die Sie übergeben haben? 2) Berücksichtigen Sie jemals verschiedene Kernel oder Modelle (Logistik, zufällige Gesamtstruktur usw.)? 3) Welche Software / welches Paket verwenden Sie? Die implementierten Cross-Validation-Funktionen variieren und ich würde gerne wissen, welche Sie verwenden würden.
Dan L
Vielen Dank @Dan - Ich führe eine Rastersuche über Modelle und Parameter hinweg durch (dh die Kernel und Parameter unterscheiden sich durch die Rastersuche). Für jedes Experiment in der Rastersuche führe ich eine CV durch (wiederholte K-fache Kreuzvalidierung). Ich benutze Scikit-Learn.
Amelio Vazquez-Reina
1
Vielen Dank @ Dan. Ich schätze, meine einzige Frage zur verschachtelten Kreuzvalidierung ist, wie man das Modell auswählt (da ich in jeder Falte der äußeren Schleife ein anderes Modell erhalte). Es erscheint mir nicht sinnvoll, das Modell mit der höchsten Punktzahl in dieser äußeren Schleife auszuwählen, da das Gewinnermodell in jeder Falte an einem anderen Teil des Datensatzes gemessen wird.
Amelio Vazquez-Reina
1
Angenommen, Sie haben 3 äußere Falten. Dies bedeutet, dass Sie einen gesamten Modellbildungsprozess dreimal ausführen und drei verschiedene Modelle erhalten. Letztendlich verwenden Sie keines dieser Modelle. Um Ihr endgültiges Modell zu erhalten, führen Sie den gesamten Modellbildungsprozess für alle Ihre Daten durch (mit Ausnahme eines möglicherweise unabhängigen Auswertungssatzes). Es scheint, als würde dies zu einer Überanpassung führen. Wenn Ihre Modellbaustrategie jedoch überanpasst, sollte dies auch zu einer Überanpassung bei der äußeren Kreuzvalidierung führen, was zu einer entsprechend höheren Fehlerabschätzung führt.
Dan L
2

Ich denke, Ihr Verständnis ist richtig, der Schätzer für Verluste, der unter Verwendung eines einzelnen Hold-out-Testsets erhalten wird, weist normalerweise eine hohe Varianz auf. Wenn Sie so etwas wie eine K-Fold-Kreuzvalidierung durchführen, erhalten Sie eine genauere Vorstellung von dem Verlust sowie von der Verteilung des Verlusts.

In der Regel gibt es einen Kompromiss. Je mehr CV-Faltungen vorhanden sind, desto besser ist Ihre Schätzung. Es wird jedoch mehr Rechenzeit benötigt.

Max S.
quelle
Vielen Dank. Ich habe dem OP ein Hintergrundstück hinzugefügt, um meine Frage weiter zu klären.
Amelio Vazquez-Reina