Wie überwindet die Kreuzvalidierung das Problem der Überanpassung?


34

Warum löst ein Kreuzvalidierungsverfahren das Problem der Überanpassung eines Modells?


3
Schauen Sie sich die Werke von Alain Celisse an . Soweit ich weiß, handelt seine Arbeit (leider zu wenig) von Verdiensten der gegenseitigen Validierung.
mpiktas

@mpiktas In der Tat, und einer seiner Artikel wurde bereits für den CVJC vorgeschlagen: mendeley.com/groups/999241/crossvalidated-journal-club/papers .
chl

Antworten:


23

Mir fällt gerade keine ausreichend klare Erklärung ein, also überlasse ich das jemand anderem. Durch die Kreuzvalidierung wird das Problem der Überanpassung bei der Modellauswahl jedoch nicht vollständig gelöst, sondern nur reduziert. Der Kreuzvalidierungsfehler weist keine vernachlässigbare Varianz auf, insbesondere wenn der Datensatz klein ist. Mit anderen Worten, Sie erhalten einen geringfügig unterschiedlichen Wert, der von der verwendeten Datenprobe abhängt. Dies bedeutet, dass Sie das Kreuzvalidierungskriterium überbewerten können, wenn Sie bei der Modellauswahl viele Freiheitsgrade haben (z. B. viele Funktionen, aus denen Sie eine kleine Teilmenge auswählen können, viele Hyperparameter, aus denen Sie auswählen können) Da das Modell so abgestimmt ist, dass diese zufällige Variation ausgenutzt wird und nicht so, dass die Leistung tatsächlich verbessert wird, und Sie können mit einem Modell enden, das schlecht funktioniert. Eine Diskussion hierzu finden Sie unterCawley und Talbot "Überanpassung bei der Modellauswahl und anschließende Auswahlverzerrung bei der Leistungsbewertung", JMLR, vol. 11, S. 2079–2107, 2010

Leider kann eine Kreuzvalidierung Sie am ehesten im Stich lassen, wenn Sie über einen kleinen Datensatz verfügen, genau dann, wenn Sie eine Kreuzvalidierung am meisten benötigen. Beachten Sie, dass die k-fache Kreuzvalidierung im Allgemeinen zuverlässiger ist als die ausschließliche Kreuzvalidierung, da sie eine geringere Varianz aufweist, bei einigen Modellen jedoch teurer zu berechnen ist (weshalb manchmal LOOCV für die Modellauswahl verwendet wird). obwohl es eine hohe Varianz hat).


1
Ein Gedanke, den ich hatte, ist, dass die Kreuzvalidierung lediglich ein anderes (implizites) Modell für die Daten anwendet. Sie können dies sicherlich mit dem "Cousin" von CV, dem nicht-parametrischen Bootstrap (der auf einem Dirichlet-Prozessmodell mit dem Konzentrationsparameter 0 basiert), zeigen.
Wahrscheinlichkeitslogik

Interessante Idee. Ich bin der Ansicht, dass (für die Modelle, die mich interessieren) die Trennung in Parameter und Hyperparameter eher rechnerisch als logisch ist; Die Hyperparameter sind immer noch Parameter, die an die Daten angepasst werden müssen, und dass dies indirekt über die Kreuzvalidierung erfolgt, ändert das nicht wirklich. In meinem letzten Artikel habe ich untersucht, wie man die normalen Hyperparameter eines Kernelmodells mithilfe des Trainingskriteriums abstimmt und einen zusätzlichen Regularisierungsterm hinzufügt, um eine Überanpassung des Modellauswahlkriteriums (LOOCV) zu vermeiden. Das hat recht gut funktioniert.
Dikran Beuteltier

1
Warum ist ein k-facher Lebenslauf teurer als ein ausstehender? Meine Erfahrung (und meine Intuition) sagt etwas anderes aus. Da im k-fachen Lebenslauf k Tests durchgeführt werden, wo immer in L1O N (>> k) -Tests durchgeführt werden und der Trainingsteil normalerweise aufgrund einer Matrixinversion länger dauert, ist L1O also nicht die teure Option?
Jeff

1
Lass eins weg, kann als Nebenprodukt der Anpassung des Modells an den gesamten Datensatz für eine Vielzahl von Modellen (z. B. lineare Regression) mit sehr geringen zusätzlichen Kosten durchgeführt (oder approximiert) werden. Ich werde die Antwort bearbeiten, um dies klarer zu machen.
Dikran Marsupial

Mein Verständnis von Leave-One-Out ist, dass es sich um einen k-fachen Lebenslauf handelt - die beste, aber rechenintensivste Form eines k-fachen Lebenslaufs mit k = Datensatzgröße.
Daniel Winterstein

10

Meine Antwort ist eher intuitiv als streng, aber vielleicht hilft sie ...

Nach meinem Verständnis ist eine Überanpassung das Ergebnis einer Modellauswahl auf der Grundlage von Training und Test mit denselben Daten, wobei Sie über einen flexiblen Anpassungsmechanismus verfügen: Sie passen Ihre Stichprobe von Daten so genau an, dass Sie dem Rauschen, den Ausreißern und allem gerecht werden die andere Varianz.

Wenn Sie die Daten in ein Trainings- und Test-Set aufteilen, können Sie dies nicht tun. Bei einer statischen Aufteilung werden Ihre Daten jedoch nicht effizient verwendet, und die Aufteilung selbst kann ein Problem darstellen. Durch die Kreuzvalidierung bleibt der Vorteil der Aufteilung der Trainingstests, dass keine exakte Anpassung an die Trainingsdaten erfolgt, erhalten. Gleichzeitig werden die Daten, über die Sie verfügen, so effizient wie möglich verwendet (dh alle Ihre Daten werden verwendet) als Trainings- und Testdaten, nur nicht im gleichen Lauf).

Wenn Sie über einen flexiblen Anpassungsmechanismus verfügen, müssen Sie Ihre Modellauswahl einschränken, damit er nicht "perfekt", sondern in irgendeiner Weise komplex passt. Sie können dies mit AIC, BIC oder einer anderen Bestrafungsmethode tun, die die Anpassungskomplexität direkt bestraft, oder Sie können dies mit dem Lebenslauf tun. (Oder Sie können eine Anpassungsmethode verwenden, die nicht sehr flexibel ist. Dies ist einer der Gründe, warum lineare Modelle gut sind.)

Eine andere Sichtweise ist, dass es beim Lernen um Generalisierung geht und eine zu enge Passform in gewissem Sinne nicht generalisiert. Indem Sie variieren, worauf Sie lernen und worauf Sie getestet werden, verallgemeinern Sie besser, als wenn Sie nur die Antworten auf eine bestimmte Reihe von Fragen gelernt haben.


3

Aus Bayes-Sicht bin ich mir nicht so sicher, ob eine Kreuzvalidierung etwas bewirkt, was eine "richtige" Bayes-Analyse für den Vergleich von Modellen nicht bewirkt. Aber ich bin nicht zu 100% sicher, dass es das tut.

MEINMBDich

P(MEIN|D,ich)P(MB|D,ich)=P(MEIN|ich)P(MB|ich)×P(D|MEIN,ich)P(D|MB,ich)

P(D|MEIN,ich)

P(D|MEIN,ich)=P(D,θEIN|MEIN,ich)dθEIN=P(θEIN|MEIN,ich)P(D|MEIN,θEIN,ich)dθEIN

Welches die vorherige prädiktive Verteilung genannt wird . Grundsätzlich wird angegeben, wie gut das Modell die tatsächlich beobachteten Daten vorhergesagt hat, und zwar genau so, wie dies bei der Kreuzvalidierung der Fall ist, wobei das "vorherige" durch das angepasste "Trainingsmodell" und die "Daten" durch das "Testen" ersetzt wurden. Daten. Wenn also Modell B die Daten besser vorhergesagt hat als Modell A, steigt seine hintere Wahrscheinlichkeit im Vergleich zu Modell A. Daraus ergibt sich, dass das Bayes-Theorem tatsächlich eine Kreuzvalidierung unter Verwendung aller Daten und nicht einer Teilmenge durchführt. Davon bin ich allerdings nicht ganz überzeugt - anscheinend bekommen wir etwas für nichts.

Ein weiteres nettes Merkmal dieser Methode ist, dass sie einen eingebauten "Occam-Rasierer" besitzt, der durch das Verhältnis der Normalisierungskonstanten der vorherigen Verteilungen für jedes Modell gegeben ist.

Eine Kreuzvalidierung scheint jedoch für das gefürchtete alte "etwas anderes" oder das, was manchmal als "Modellfehlspezifikation" bezeichnet wird, wertvoll zu sein. Ich bin ständig hin- und hergerissen, ob dieses "etwas anderes" wichtig ist oder nicht, denn es scheint wichtig zu sein - aber Sie sind gelähmt und haben keine Lösung, wenn es anscheinend wichtig ist. Nur etwas, um Ihnen Kopfschmerzen zu bereiten, aber nichts, was Sie dagegen tun können - außer darüber nachzudenken, was dieses "etwas anderes" sein könnte und es in Ihrem Modell auszuprobieren (damit es nicht mehr Teil von "etwas anderem" ist). .

Darüber hinaus ist die Kreuzvalidierung eine Möglichkeit, eine Bayes'sche Analyse durchzuführen, wenn die obigen Integrale lächerlich schwer sind. Und Kreuzvalidierung "macht Sinn" für fast jeden - sie ist "mechanisch" und nicht "mathematisch". So ist es leicht zu verstehen, was los ist. Und es scheint auch Ihren Kopf dazu zu bringen, sich auf den wichtigen Teil von Modellen zu konzentrieren - gute Vorhersagen zu treffen.


2
Das Problem der Modellfehlspezifikation ist der Schlüssel. Bayesianische Methoden (insbesondere die Bayes der Evidenzmaximierung für "Poor-Mans") können unter Modellfehlspezifikationen sehr schlecht abschneiden, wohingegen die Kreuzvalidierung fast immer ziemlich gut zu funktionieren scheint. Der Gewinn, wenn die Annahmen (vorrangigen) "richtig" sind, ist im Allgemeinen viel geringer als die Strafe, wenn sie "falsch" sind, so dass die Kreuzvalidierung im Durchschnitt gewinnt (da fast keine Annahmen getroffen werden). Es ist jedoch nicht annähernd so intellektuell befriedigend! ; o)
Dikran Beuteltier

1
@ Dikran - interessant. Ich bin mir nicht so sicher, ob ich dem zustimme, was du sagst. Sie sagen also, wenn das Modell falsch spezifiziert ist, ist eine Kreuzvalidierung mit demselben Modell besser als mit dem Bayes-Theorem? Ich würde gerne ein Beispiel dafür sehen.
Wahrscheinlichkeitslogik

@probabiltyislogic Ich denke nicht, dass es eine besonders neue Beobachtung ist. Rasmussen und Williams erwähnen sie auf Seite 118 ihres ausgezeichneten Gaußschen Prozessbuchs (obwohl es sich im Wesentlichen um einen ähnlichen Kommentar in Grace Wahbas Monographie über Splines handelt). Im Wesentlichen ist die marginale Wahrscheinlichkeit die Wahrscheinlichkeit der Daten unter den Annahmen des Modells, während die XVAL-Wahrscheinlichkeit eine Schätzung der Wahrscheinlichkeit der Daten unabhängig von den Modellannahmen ist und daher zuverlässiger ist, wenn die Annahmen nicht gültig sind. Eine richtige empirische Untersuchung wäre nützlich.
Dikran Beuteltier

@probabilityislogic Ich sollte hinzufügen, dass mir der Bayes'sche Ansatz bei der Modellauswahl gefällt, aber ich habe in der Praxis fast immer die Kreuzvalidierung angewendet, weil sie im Allgemeinen Ergebnisse liefert, die (statistisch) so gut oder besser sind als Bayes'sche Ansätze.
Dikran Beuteltier

XichyichXichp(yich|Xich,θy)p(Xich|θX). Der zweite Term hat einen viel größeren Einfluss auf die Wahrscheinlichkeit. Wenn also ein Modell dort gut abschneidet und sich auf die Vorhersage stützt, ist die marginale Wahrscheinlichkeit gleichgültig.
JMS
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.