Lassen Sie mich zunächst die in der Frage verwendeten Begriffe klarstellen, so wie ich sie verstehe. Normalerweise beginnen wir mit einem Trainingsdatensatz, verwenden die k-fache Kreuzvalidierung, um verschiedene Modelle (oder Sätze von Hyperparametern) zu testen, und wählen das beste Modell mit dem niedrigsten CV-Fehler aus. Die "Kreuzvalidierungsschätzung des Testfehlers" bedeutet also, den niedrigsten CV-Fehler als Testfehler zu verwenden, nicht nur den CV-Fehler eines Zufallsmodells (was der Fall von cbeleites diskutiert wird, aber es ist nicht das, was wir normalerweise tun). Der fragliche 'tatsächliche Testfehler' ist ein Fehler, den wir erhalten, wenn wir das beste CV-Modell auf einen unendlichen Testdatensatz anwenden, vorausgesetzt, wir können diesen erhalten. Der CV-Fehler hängt von dem jeweiligen Datensatz ab, und der tatsächliche Testfehler hängt vom besten ausgewählten CV-Modell ab, das auch vom Trainingsdatensatz abhängt. Der Unterschied zwischen dem CV-Fehler und dem Testfehler hängt also von verschiedenen Trainingsdatensätzen ab. Dann stellt sich die Frage: Wenn wir den obigen Vorgang viele Male mit unterschiedlichen Trainingsdatensätzen wiederholen und die beiden Fehler mitteln, warum ist der durchschnittliche CV-Fehler niedriger als der durchschnittliche Testfehler, dh der CV-Fehler ist nach unten vorgespannt? Aber passiert das vorher immer?
Normalerweise ist es unmöglich, viele Trainingsdatensätze und Testdatensätze mit unendlichen Zeilen abzurufen. Es ist jedoch möglich, Daten zu verwenden, die durch Simulation generiert wurden. In "Kapitel 7 Modellbewertung und -auswahl" des Buches "Die Elemente des statistischen Lernens" von Trevor Hastie et al. enthält es ein solches Simulationsexperiment.
Die Schlussfolgerung ist, dass unter Verwendung von CV oder Bootstrap "... die Schätzung des Testfehlers für einen bestimmten Trainingssatz im Allgemeinen nicht einfach ist, wenn nur die Daten aus demselben Trainingssatz verwendet werden". Mit "nicht einfach" ist gemeint, dass der CV-Fehler den tatsächlichen Testfehler abhängig von verschiedenen Trainingsdatensätzen entweder unterschätzen oder überschätzen kann, dh die durch verschiedene Trainingsdatensätze verursachte Varianz ist ziemlich groß. Wie wäre es mit Voreingenommenheit? Das von ihnen getestete kNN- und lineare Modell ist fast nicht voreingenommen: CV-Fehler überschätzen den wahren Testfehler um 0-4%, aber einige Modelle "wie Bäume, Kreuzvalidierung und Boot-Strap können den wahren Fehler um 10% unterschätzen, weil die Die Suche nach dem besten Baum wird stark vom Validierungssatz beeinflusst. "
Zusammenfassend kann der CV-Fehler für einen bestimmten Trainingsdatensatz höher oder niedriger sein als der wahre Testfehler. Für die Verzerrung kann der mittlere CV-Fehler in Abhängigkeit von den Modellierungsmethoden von etwas höher bis viel niedriger als der mittlere wahre Testfehler reichen.
Der Grund für die oben erwähnte Unterschätzung ist, dass die Auswahl der Hyperparameter für das beste Modell letztendlich von dem jeweiligen Trainingsdatensatz abhängt, den wir erhalten. Ein kleines Detail: Die besten Hyperparameter seien M1 in diesem speziellen Trainingsdatensatz. M1 könnte jedoch nicht der beste Hyperparameter in einem anderen Trainingsdatensatz sein, was bedeutet, dass der minimale CV-Fehler geringer ist als der CV-Fehler von M1. Daher ist der erwartete CV-Fehler, den wir aus dem Trainingsprozess erhalten, sehr wahrscheinlich geringer als der erwartete CV-Fehler von M1. Der minimale CV-Fehler eines bestimmten Trainingsdatensatzes wird nur dann nicht verzerrt, wenn das beste Modell unabhängig vom Trainingsdatensatz immer das beste ist. Andererseits könnte der CV-Fehler auch den tatsächlichen Testfehler ein wenig überschätzen, wie von cbeleites diskutiert. Dies liegt daran, dass ein k-facher CV-Fehler erhalten wird, indem ein wenig weniger Trainingsdaten zum Trainieren des Modells verwendet werden (für 10-fache Lebensläufe 90% Daten verwenden). Er ist gegen den tatsächlichen Fehler nach oben vorgespannt, aber nicht viel. Es gibt also zwei Vorurteile, die in verschiedene Richtungen gehen. Bei der Modellierungsmethode kann eine Überanpassung, wenn weniger CV verwendet wird, z. B. 5-fach gegenüber 10-fach, zu einer geringeren Verzerrung führen.
Alles in allem hilft es in der Praxis nicht allzu viel: Wir erhalten normalerweise nur einen "bestimmten" Datensatz. Wenn wir 15% bis 30% als Testdaten angeben und das beste Modell anhand des Lebenslaufs als Trainingsdaten auswählen, unterscheidet sich der CV-Fehler wahrscheinlich vom Testfehler, da beide vom erwarteten Testfehler abweichen. Wir sind möglicherweise misstrauisch, wenn der CV-Fehler viel niedriger als der Testfehler ist, aber wir werden nicht wissen, welcher näher am tatsächlichen Testfehler liegt. Die beste Vorgehensweise könnte darin bestehen, beide Metriken zu präsentieren.