Erstens, Entschuldigung für das Posten einer Frage, die hier , hier , hier , hier , hier bereits ausführlich besprochen wurde, und zum Aufwärmen eines alten Themas. Ich weiß, dass @DikranMarsupial ausführlich über dieses Thema in Beiträgen und Fachzeitschriften geschrieben hat, aber ich bin immer noch verwirrt, und der Anzahl ähnlicher Beiträge hier nach zu urteilen, fällt es anderen immer noch schwer, es zu verstehen. Ich sollte auch festhalten, dass ich Widerspruch zu diesem Thema erhalten habe, was meine Verwirrung vergrößert hat. Sie sollten auch wissen, dass ich ursprünglich ein Physiker und kein Statistiker bin, weshalb meine Fachkenntnisse hier etwas begrenzt sind. Ich schreibe eine Zeitschrift, in der ich den verschachtelten Lebenslauf verwenden möchte, um die Leistung abzuschätzen, die ich von meinem endgültigen Modell erwarten kann. In meiner Domain ist dies eine Premiere. (Wir verwenden fast nie irgendForm des robusten Lebenslaufs in meinem Bereich, aber lustige Veröffentlichungen mit Ergebnissen aus Studien mit neuronalen Netzen und beschleunigten Entscheidungsbäumen!) Daher ist es sehr wichtig, dass ich ein sehr gründliches und klares Verständnis habe, damit ich nicht falsch mache und mich verbreite ein fehlerhafter vorgang für meine community, der jahrelang verlernen könnte! Vielen Dank! Weiter mit der Frage ...
Wie erstelle ich das endgültige Modell nach einer verschachtelten Kreuzvalidierung?
Ich trainiere ein einfaches Glmnet-Modell mit L1- und L2-Regularisierung. Es ist schnell, einfach und interpretierbar. Ich führe Feature-Centering, Skalierung und Box-Cox-Transformationen durch, um sicherzustellen, dass die Feature-Verteilungen mittelzentriert, standardisiert und etwas gaußartig sind. Ich führe diesen Schritt innerhalb der Kreuzvalidierung durch, um Informationslecks zu vermeiden. Nur weil meine Hardware unglaublich langsam ist und ich keinen Zugriff auf mehr CPU-Muskeln habe, führe ich nach der Feature-Vorverarbeitung auch eine schnelle filterbasierte Feature-Auswahl im CV durch. Ich benutze die Zufallsgittersuche, um die Alpha- und Lambda-Hyperparameter auszuwählen. Ich verstehe, dass ich nicht sollteCV-Schleife, um diese Schätzung zu erhalten. Ich verstehe, dass die innere CV-Schleife für die Modellauswahl verwendet wird (in diesem Fall die optimalen Hyperparameter) und dass die äußere Schleife für die Modellbewertung verwendet wird , dh die innere und die äußere CV dienen zwei verschiedenen Zwecken, die häufig fälschlicherweise in Konflikt stehen. (Wie geht es mir so weit?)
Die Links, die ich gepostet habe, legen nahe, dass "die Methode zur Kreuzvalidierung darin besteht, die Leistung zu schätzen, die mit einer Methode zum Erstellen eines Modells erzielt wird, anstatt die Leistung eines Modells zu schätzen". Wie sollte ich angesichts dessen die Ergebnisse des geschachtelten CV-Verfahrens interpretieren?
Die Ratschläge, die ich gelesen habe, scheinen Folgendes anzuzeigen - bitte korrigieren Sie mich, wenn dies falsch ist: Der innere Lebenslauf ist Teil des Mechanismus, mit dem ich die optimalen Alpha- und Lambda-Hyperparameter meines Glmnet-Modells auswählen kann. Der äußere Lebenslauf gibt die Schätzung an, die ich vom endgültigen Modell erwarten kann, wenn ich die im inneren Lebenslauf verwendete Prozedur genau anwende, einschließlich der Optimierung von Hyperparametern, und den gesamten Datensatz zum Erstellen des endgültigen Modells verwende. Das heißt, die Hyperparameter-Optimierung ist Teil der "Methode zum Erstellen des Modells". Ist das richtig oder nicht? Weil mich das verwirrt. An anderer Stelle habe ich gesehen, dass das Verfahren zum Erstellen des endgültigen Modells, das bereitgestellt werden soll, das Trainieren des gesamten Datensatzes unter Verwendung der festen Werte umfasstder Hyperparameter, die mit CV ausgewählt wurden. In diesem Fall enthält die "Methode zum Erstellen des Modells" keine Optimierung. Also, was ist das? Irgendwann werden die optimalen Hyperparameter für die Erstellung des endgültigen Modells ausgewählt und festgelegt! Wo? Wie? Wenn meine innere Schleife ein 5-facher Lebenslauf ist und meine äußere Schleife ein 5-facher Lebenslauf ist und ich im inneren Lebenslauf beispielsweise 100 Punkte zum Testen als Teil der zufälligen Gittersuche auswähle, wie oft trainiere ich tatsächlich das glmnet Modell? (100 * 5 * 5) + 1 für den endgültigen Build, oder gibt es weitere Schritte, die mir nicht bekannt sind?
Grundsätzlich benötige ich eine sehr klare Beschreibung der Interpretation der Leistungsschätzung aus dem verschachtelten Lebenslauf und der Erstellung des endgültigen Modells.
Ich würde auch gerne wissen, wie der Wahrscheinlichkeitsschwellenwert für die Konvertierung der Wahrscheinlichkeitswerte aus meinem endgültigen Glmnet-Modell in (binäre) Klassenbeschriftungen ausgewählt wird. Wird eine weitere CV-Schleife benötigt?