Neuronale Netze_Validierungssätze erzielen höhere Modellanpassungen als TrainingssätzeProblem: Warum funktionierten meine Validierungssätze besser als die Trainingssätze?
Daten: 200 Datenpunkte; 90 % für die Schulung und 10 % für die Validierung
Statistisch:
1. Erstellen Sie eine Validierungsspalte
Validierungsspalte erstellen(
Trainingsset (0,90),
Validierungssatz (0,10),
Testsatz (0,00),
Formel Zufall);
2. Neuronale Netze:
eine verborgene Schicht, 3 Knoten TanH
Boosting: Anzahl der Modelle (10), Lernrate (0,1)
Bestückungsoptionen: Anzahl der Touren (10)
3. Die oben genannten Schritte wurden 1000 Mal wiederholt
4. Berechnen Sie den Mittelwert der R-Quadrate für Trainingssätze und Validierungssätze
Beschreibung der Probleme:
Das mittlere R-Quadrat für die Validierungssätze war viel größer als das der Trainingssätze. Warum sollte das passieren? Wir haben es sogar ohne Strafmethode versucht, die Validierungssätze funktionierten immer noch besser als das Training.
Wie optimiert JMP die Schätzparameter für die Validierungssätze?
Warum ist dies nicht der Fall, wenn wir Bootstrap-Wälder verwenden? Das heißt, für Bootstrap-Wälder funktionierten Trainingssätze besser als Validierungssätze.
Danke.
Betreff: Neuronale Netze_Validierungssätze erzielen höhere Modellanpassungen als TrainingssätzeDu störst hier niemanden! Fragen wie Ihre sind einer der Hauptgründe für den Diskussionsbereich in der JMP-Community! Andererseits könnten einige Diskussionen den Rahmen oder die Möglichkeiten dieses Formats sprengen.
HINWEIS: Wir diskutieren Vorhersagemodelle , nicht Erklärungsmodelle . Daher geht es uns nur um die Fähigkeit des Modells, die Zukunft vorherzusagen. Die Zukunft ist solange nicht verfügbar Ausbildung das Modell und die Auswahl eines Modells.
Eine Kreuzvalidierung jeglicher Art ist nicht das Ergebnis einer Theorie. Es ist eine Lösung für das Problem, wie man eine durchführt ehrliche Einschätzung der Leistung von Modellen vor und nach der Auswahl eines Modells. Der Hold-out-Set-Ansatz wurde zunächst für Fälle großer Datenmengen entwickelt. In solchen Fällen sind Schlussfolgerungen für die Modellauswahl nicht hilfreich. Die Zukunft ist nicht verfügbar. Was zu tun ist? Einen Teil der Daten beiseite legen oder zurückhalten ( Validierung ). Diese Daten stehen dem Trainingsverfahren nicht zur Verfügung. Wenden Sie dann das angepasste Modell auf den Holdout-Satz an, um Modellvorhersagen zu erhalten. Wie hat sich das Modell geschlagen? Wie schneiden andere Modelle ab?
Da die Validierungsdaten zur Auswahl des Modells verwendet wurden, halten einige Modellierer einen dritten Teil zurück ( prüfen ), um das ausgewählte Modell zu bewerten.
Die Kreuzvalidierung ist eine sehr gute Lösung, hängt jedoch von der Größe des ursprünglichen Beobachtungssatzes ab. Was tun, wenn die Stichprobengröße klein ist? Speziell für solche Fälle wurde der K-Falz-Ansatz entwickelt. Einige Modellierer treiben es auf die Spitze und setzen K auf die Stichprobengröße. Diese Version ist bekannt als „ lass eins weg .' In solchen Fällen funktioniert es besser als das Zurückhalten von Sätzen, da Sie die Daten effizienter nutzen.
Betreff: Neuronale Netze_Validierungssätze erzielen höhere Modellanpassungen als TrainingssätzeSehr geehrter Herr Bailey,
Wie empfohlen habe ich eine k-fache Kreuzvalidierung mit neuronalen Netzen und eine schrittweise Regression (alles eingeben) verwendet. Ich habe eine Schleife geschrieben und jede Analyse 100 Mal ausgeführt. Die Ergebnisse zeigen, dass die mittleren R-Quadrate für die Validierungssätze nicht höher sind als die der Trainingssätze.
Jetzt frage ich mich, warum die K-fache Kreuzvalidierung bei kleinen Stichprobengrößen besser funktioniert und warum die Holdout-Validierung mit neuronalen Netzen zu unangenehmen Ergebnissen führt, dh Validierungssätze erhalten höhere mittlere R-Quadrate. Was ist der theoretische oder mathematische Grund?
Danke schön.Entschuldigen sie die erneute Störung.
Betreff: Neuronale Netze_Validierungssätze erzielen höhere Modellanpassungen als TrainingssätzeJMP Pro bietet k-fold für die Regressionsanalyse im Rahmen der Stepwise-Plattform. Es wird verwendet, um zu bestimmen, welche Begriffe im Modell beibehalten werden sollen. Aus der JMP-Dokumentation:
K-Fold-Kreuzvalidierung (Nur für kontinuierliche Antworten verfügbar.) Führt eine K-Fold-Kreuzvalidierung im Auswahlprozess durch. Wenn diese Option ausgewählt ist, aktiviert sie die Stoppregel „Max K-Fold RSquare“ („Bedienfeld „Schrittweise Regression““ auf Seite 250). Für mehr
Informationen zur Validierung finden Sie unter „Verwenden der Validierung“ auf Seite 275.
Betreff: Neuronale Netze_Validierungssätze erzielen höhere Modellanpassungen als TrainingssätzeNein, die Fit Least Squares-Plattform in JMP bietet keine Kreuzvalidierung. Die Generalized-Regression-Plattform in JMP Pro, die das standardmäßige lineare Regressionsmodell umfasst, bietet sowohl eine Hold-Out-Kreuzvalidierung im Startdialogfeld als auch eine K-Fold-Kreuzvalidierung als Plattformvalidierungsoption.
Aufgrund der geringen Stichprobengröße können Sie anstelle einer Kreuzvalidierung die Verwendung von AICc für die Modellauswahl in Betracht ziehen.
Sie können auch die Verwendung von Open-Source-Software in Betracht ziehen, wenn diese die von Ihnen benötigte Flexibilität bietet. Sie können beispielsweise mit JMP eine Verbindung zu R oder Python herstellen und mit beiden Softwares arbeiten.
Betreff: Neuronale Netze_Validierungssätze erzielen höhere Modellanpassungen als TrainingssätzeSehr geehrter Herr Bailey,
Danke. Ich habe noch eine Frage: Können wir die K-fache Kreuzvalidierung mit der standardmäßigen Regression der kleinsten Quadrate in JMP verwenden?
Betreff: Neuronale Netze_Validierungssätze erzielen höhere Modellanpassungen als TrainingssätzeDanke schön. Ja, ich habe nur die folgenden Skripte gefunden. Aber ich konnte es nicht mit dem Bootstrap-Forest-Modell kombinieren.
obj = Open( "$SAMPLE_DATA/Car Poll.jmp" ) << Partition(
Y( :country ),
X( :sex, :marital status, :age, :type, :size )
);
obj << K Fold Crossvalidation( 5 );
obj << Go;
Vielen Dank für Ihre Hilfe.
Betreff: Neuronale Netze_Validierungssätze erzielen höhere Modellanpassungen als TrainingssätzeSie können die K-fache Kreuzvalidierung nicht mit der Bootstrap Forest-Modellauswahl in JMP verwenden. Sie können nur Hold-out-Sets verwenden.
Denken Sie daran, dass die meisten Vorhersagemodelltypen für große Datensätze gedacht sind. Sie können in Ihrem Fall auch eine multiple Regression anwenden, wenn die Daten den Modellannahmen entsprechen.
Betreff: Neuronale Netze_Validierungssätze erzielen höhere Modellanpassungen als TrainingssätzeVielen Dank für Ihre Vorschläge. Wir haben k-fold ausprobiert und es funktioniert in unserem Fall besser. Es tauchen jedoch neue Probleme auf: Wie können wir eine k-fache Kreuzvalidierung für Bootstrap-Wälder durchführen?
Danke.
Betreff: Neuronale Netze_Validierungssätze erzielen höhere Modellanpassungen als TrainingssätzeDanke für die Vorschläge. Ja, 1000 Iterationen bedeuten, dass wir 1000 zufällige Aufteilungen des Datensatzes haben. Und es stimmt, dass die R-Quadrate für die Validierungssätze nicht immer größer sind als die Trainingssätze (siehe Abbildung). Aber der Mittelwert der R-Quadrate der Validierungssätze ist für alle unsere Antwortparameter immer größer als der der Trainingssätze. Ich mache die Analysen jetzt mit k-fold. Mal sehen, was passieren würde.
Wie Herr Bailey erwähnte:
„Der Trainingssatz wird zur Schätzung der Modellparameter verwendet. Der Validierungssatz wird verwendet, um aus den Kandidatenmodellen auszuwählen. Der Testsatz wird zur Bewertung des ausgewählten Modells verwendet.
Ich habe zwei Fragen zu den obigen Sätzen:
- Wie viele Kandidaten würden im Ausbildungsprozess vorbereitet? Wie rechnen die Kandidaten? Wird es durch das Boosting entschieden – „eine additive Sequenz von Modellen anpassen, skaliert durch die Lernrate“?
- Wie wählt die Software den besten Kandidaten aus? Was ist das Kriterium für den besten Kandidaten? Ist es der Kandidat, der das beste R-Quadrat für die Validierungssätze liefert?
Was die K-Faltung betrifft, habe ich auch zwei Fragen:
- Wenn wir 200 Datenpunkte haben und eine Aufteilung von 90 %/10 % für den Trainings- und Validierungssatz verwenden (keine Überlappung), dann erhalten wir wahrscheinlich einen Trainingssatz mit 180 Datenpunkten und einen Validierungssatz mit 20 Datenpunkten. Dies gilt auch, wenn wir eine 10-fache Validierungsmethode verwenden. Ist das richtig? Was ist der Unterschied zwischen der k-fachen Validierung und der 90 %/10 %-Validierung?
- Was ist bei der K-fachen Kreuzvalidierung wiederum das Kriterium für den besten Kandidaten? Wie könnte das optimierte Modell gefunden werden? Ist es die gleiche Methode wie bei der 90 %/10 %-Validierung?
Im Handbuch habe ich gelesen: „Wenn eine K-fache Kreuzvalidierung verwendet wird, wird das beschriebene Verfahren auf jede der K Trainings-Holdback-Partitionen der Daten für jeden Versuchswert des Strafparameters angewendet.“ Nachdem das Modell an alle Falten angepasst wurde, beträgt die Wahrscheinlichkeit des Validierungssatzes zusammengefasst über die Falten unter Verwendung der Parameterschätzungen jeder einzelnen Falte. Dies ist der Wert, der bei der Auswahl des Strafparameters optimiert wird. Die Faltung, deren Parameterschätzungen den besten Wert für den gesamten Datensatz liefern, sind die Parameterschätzungen, die von der Plattform gespeichert und verwendet werden. Das Training-Holdback-Paar, das zum besten Modell geführt hat, ist das Paar, dessen Modelldiagnosen im Bericht angegeben sind.“ Ist damit das Modell gemeint, das das größte hat? summierte Wahrscheinlichkeit ist das Beste?
Danke nochmal.

Betreff: Neuronale Netze_Validierungssätze erzielen höhere Modellanpassungen als TrainingssätzeIch bin mir nicht sicher, aber ich denke, dass die Behauptung nicht von Überlegenheit ist. Es basiert auf der Differenz im mittleren R-Quadrat zwischen dem Trainings- und dem Validierungssatz. Tatsächlich kann man nicht überlegen sein, weil sich die Stichprobenverteilungen überschneiden. Unter Verwendung einer Normalverteilung zur Annäherung an die Stichprobenverteilung des R-Quadrats erhalte ich diese beiden Diagramme der normalen PDF unter Verwendung der angegebenen Verteilungsparameterwerte:

HINWEIS: Ich weiß, dass das R-Quadrat aufgrund seiner Grenzen [0,1] nicht normalverteilt ist, aber dieser Fall ist weit genug von beiden Grenzen entfernt, damit die Näherung gut genug funktioniert.
Betreff: Neuronale Netze_Validierungssätze erzielen höhere Modellanpassungen als TrainingssätzeWenn ich Ihre Beschreibung verstehe, bin ich etwas verwirrt.Mit 1000 Iterationen meinen Sie, dass Sie das neuronale Netz mit 1000 zufälligen Teilungen des Datensatzes betrieben haben?Wenn ja, dann finde ich es seltsam, wenn jede dieser Aufteilungen zu einer besseren Leistung bei den Validierungsdaten als bei den Trainingsdaten führt.Meine Bedenken hinsichtlich der Stichprobengröße und der Anzahl der Features würden dafür verantwortlich sein, dass sich einige (sogar viele) der Iterationen so verhalten, aber wahrscheinlich nicht alle 1000. Wenn ich Sie richtig verstehe, dann könnte es etwas Besonderes an Ihren Daten und den sein welche besonderen Eigenschaften Sie haben.Wenn Sie bereit sind, die Daten zu veröffentlichen, kann ich vielleicht weiterhelfen, aber ich denke, das erschöpft meine Gedanken basierend auf dem, was Sie gesagt haben – es sei denn, ich verstehe nicht, was Sie getan haben.
Betreff: Neuronale Netze_Validierungssätze erzielen höhere Modellanpassungen als TrainingssätzeVielen Dank für Ihre Vorschläge. Wir haben sieben Merkmale, die als Prädiktoren verwendet werden können. Und in einigen Fällen ist der Std für die Validierungssätze nicht größer: Mittelwert R2train = .56, SDtrain = .11; Mittelwert R2val = .70, SDval = .11.
Und wir haben es auch mit zwölf Prädiktoren versucht. Die Muster unserer Ergebnisse sind die gleichen: Die mittleren R-Quadrate der Validierungssätze aus 1000 Iterationen waren immer größer als die der Trainingssätze.
Betreff: Neuronale Netze_Validierungssätze erzielen höhere Modellanpassungen als TrainingssätzeDer Trainingssatz wird zur Schätzung der Modellparameter verwendet. Der Validierungssatz wird zur Auswahl aus den Kandidatenmodellen verwendet. Der Testsatz wird zur Bewertung des ausgewählten Modells verwendet.
Ich bin einverstanden mit @dale_lehman dass Ihr Datensatz zu klein ist, um die Hold-Out-Kreuzvalidierungsmethode zu verwenden. Ich empfehle eine K-fache Kreuzvalidierung.
Betreff: Neuronale Netze_Validierungssätze erzielen höhere Modellanpassungen als TrainingssätzeWie viele Funktionen haben Sie?Ich bin immer noch misstrauisch wegen der geringen Stichprobengröße.Beachten Sie, dass sowohl das R-Quadrat als auch die Standardabweichung für die Validierungsdaten größer sind.Ich denke, wenn Sie über genügend Funktionen verfügen, können Sie eine gute „Anpassung“ an den relativ kleinen Validierungssatz (selbst bei einer Aufteilung von 30 %) erzielen, die sich nicht auf die Testdaten überträgt.Vielleicht kann mbailey etwas Licht ins Dunkel bringen – aber ich habe den Eindruck, dass die Validierungsdaten zur Abstimmung des neuronalen Netzes verwendet werden und daher nicht mit den Testdaten identisch sind, die im Modellierungsprozess überhaupt nicht verwendet werden.Mit wenigen Datenpunkten und genügend Funktionen können Sie also die Validierungsdaten sehr gut anpassen, bei den Testdaten ist die Leistung jedoch schlecht.
Betreff: Neuronale Netze_Validierungssätze erzielen höhere Modellanpassungen als TrainingssätzeDanke schön. Um meine Studie näher zu erläutern:
Für jede Iteration habe ich eine neue Aufteilung in Trainings- und Validierungssatz verwendet.
Es gibt die Ergebnisse für Training und Validierung: Mittelwert R2train = .58, SDtrain = .09; bedeuten R2val = .71, SDval = .12
Der Antwortparameter ist eine kontinuierliche Variable.
Das Muster ist das gleiche für eine 70 %/30 %-Aufteilung.Daher habe ich nicht wirklich verstanden, was bei der Validierung passiert. Es soll mehr geben als nur das Testen des Modells?
Wenn ich beispielsweise ein dreistufiges Verfahren verwende (Training, Validierung und Test), ist das mittlere R-Quadrat für Validierungssätze wiederum höher als das für Training, während es für den Test eine Dropdown-Liste gibt. Was ist also der Unterschied zwischen Test und Validierung?
Betreff: Neuronale Netze_Validierungssätze erzielen höhere Modellanpassungen als TrainingssätzeIch habe vergessen zu erwähnen, dass die K-fache Kreuzvalidierung speziell für Fälle mit kleinen Stichprobengrößen gedacht ist. Haben Sie diese Methode anstelle eines Validierungs-Holdout-Sets ausprobiert?
Betreff: Neuronale Netze_Validierungssätze erzielen höhere Modellanpassungen als TrainingssätzeBitte bestätigen Sie mein Verständnis Ihrer Studie. Sie haben den Trainings- und Validierungs-Holdout-Sätzen vor jedem der 1000 Trainingsereignisse Zeilen neu zugewiesen?
JMP optimiert das Training nicht für den Validierungs-Holdout-Satz. Der Validierungs-Holdout-Satz wird erst nach Abschluss des Trainings ausgewertet.
Was ist der Mittelwert und die Standardabweichung der R-Quadrat-Stichprobenstatistik für die Trainings- und Validierungs-Holdout-Sätze?
Was ist die Art der Antwort? Ist es kontinuierlich? Ist es kategorisch? Wenn ja, wie viele Ebenen hat die Antwort?
Betreff: Neuronale Netze_Validierungssätze erzielen höhere Modellanpassungen als TrainingssätzeSie haben Recht, dass dies kein typisches Ergebnis ist – obwohl es passieren kann und auch passiert.Ich vermute in diesem Fall, dass dies hauptsächlich auf Ihre anfängliche Trennung zurückzuführen ist.Ein Validierungssatz von 10 %, insbesondere bei einer so geringen Anzahl von Beobachtungen, bedeutet, dass die Validierungsergebnisse für ein Modell gelten, das auf eine sehr kleine Anzahl von Datenpunkten angewendet wird.Neuronale Netze können das Problem verschärfen, aber selbst ein OLS-Modell kann gut 20 Datenpunkte anpassen.Ich glaube, wenn Sie die Aufteilung zwischen Training und Validierung auf 70 %/30 % ändern (und insbesondere, wenn Sie auch über mehr Daten verfügen), wird diese Anomalie verschwinden.