In den Elementen des statistischen Lernens habe ich die folgende Aussage gefunden:
Es gibt eine Einschränkung: Erste unbeaufsichtigte Screening-Schritte können durchgeführt werden, bevor die Proben weggelassen werden. Zum Beispiel könnten wir die 1000 Prädiktoren mit der höchsten Varianz über alle 50 Stichproben auswählen, bevor wir mit der Kreuzvalidierung beginnen. Da diese Filterung keine Klassenbezeichnungen umfasst, verschafft sie den Prädiktoren keinen unfairen Vorteil.
Ist das tatsächlich gültig? Ich meine, durch vorheriges Filtern von Attributen ahmen wir die Trainingsdaten / die neue Datenumgebung nicht nach. Ist es also wichtig, dass die von uns durchgeführten Filterungen nicht überwacht werden? Ist es nicht besser, alle Vorverarbeitungsschritte innerhalb des Kreuzvalidierungsprozesses durchzuführen? Wenn dies nicht der Fall ist, bedeutet dies, dass die gesamte unbeaufsichtigte Vorverarbeitung im Voraus durchgeführt werden kann, einschließlich Funktionsnormalisierung / PCA usw. Wenn wir dies jedoch für den gesamten Trainingssatz tun, verlieren wir tatsächlich einige Daten an den Trainingssatz. Ich kann zustimmen, dass diese Unterschiede bei einem relativ stabilen Datensatz höchstwahrscheinlich sehr gering sein sollten - aber das bedeutet nicht, dass sie nicht existieren, oder? Was ist der richtige Weg, um darüber nachzudenken?
Ich möchte mich in dieser Frage sowohl von der Meinung von @ AmiTavory als auch von den Elementen des statistischen Lernens unterscheiden.
Ich komme aus einem angewandten Feld mit sehr geringen Stichprobengrößen und habe die Erfahrung gemacht, dass auch unbeaufsichtigte Vorverarbeitungsschritte zu starken Verzerrungen führen können.
In meinem Bereich wäre dies am häufigsten PCA zur Dimensionsreduzierung, bevor ein Klassifikator trainiert wird. Obwohl ich die Daten hier nicht anzeigen kann, habe ich gesehen, dass PCA + (kreuzvalidierte LDA) vs. kreuzvalidierte (PCA + LDA) die Fehlerrate um etwa eine Größenordnung unterschätzt . (Dies ist normalerweise ein Indikator dafür, dass die PCA nicht stabil ist.)
Was die Argumentation "unfairer Vorteil" der Elemente betrifft, so ergeben sich, wenn die Varianz von Taining + Testfällen untersucht wird, Merkmale, die sowohl mit den Trainings- als auch mit den Testfällen gut funktionieren. So schaffen wir hier eine sich selbst erfüllende Prophezeiung, die die Ursache für die überoptimistische Tendenz ist. Diese Tendenz ist gering, wenn Sie einigermaßen komfortable Stichprobengrößen haben.
Daher empfehle ich einen Ansatz, der etwas konservativer ist als die Elemente:
Abgesehen davon ist auch die Kreuzvalidierung nur eine Abkürzung für eine ordnungsgemäße Validierungsstudie. So können Sie mit der Praktikabilität argumentieren:
Sie können überprüfen, ob die betreffende Vorverarbeitung stabile Ergebnisse liefert (Sie können dies z. B. durch Kreuzvalidierung tun). Wenn Sie feststellen, dass es bereits bei niedrigeren Stichprobengrößen vollkommen stabil ist, können Sie meiner Meinung nach argumentieren, dass durch das Herausziehen aus der Kreuzvalidierung nicht viel Verzerrung entsteht.
Um jedoch einen früheren Vorgesetzten zu zitieren: Die Berechnungszeit ist kein wissenschaftliches Argument.
Ich mache oft eine "Vorschau" von wenigen Falten und wenigen Iterationen für die Kreuzvalidierung, um sicherzustellen, dass der gesamte Code (einschließlich der Zusammenfassung / Grafiken der Ergebnisse) und dann über Nacht oder über das Wochenende oder so auf dem Server für eine feinkörnigere Kreuzvalidierung.
quelle