Frage zum Subtrahieren des Mittelwerts im Zug / gültig / Testsatz


11

Ich mache eine Datenvorverarbeitung und werde danach ein Convonets auf meinen Daten erstellen.

Meine Frage lautet: Angenommen, ich habe einen Gesamtdatensatz mit 100 Bildern. Ich habe den Mittelwert für jedes der 100 Bilder berechnet und ihn dann von jedem der Bilder subtrahiert, dann in Zug- und Validierungssatz aufgeteilt und das Gleiche getan Schritte zur Verarbeitung eines bestimmten Testsatzes, aber es scheint, dass dies nicht der richtige Weg ist, dies gemäß diesem Link zu tun: http://cs231n.github.io/neural-networks-2/#datapre

" Häufige Gefahr . Ein wichtiger Punkt bei der Vorverarbeitung ist, dass Vorverarbeitungsstatistiken (z. B. der Datenmittelwert) nur für die Trainingsdaten berechnet und dann auf die Validierungs- / Testdaten angewendet werden müssen. ZB Berechnung des Mittelwerts und Subtrahieren von Jedes Bild über den gesamten Datensatz und das Aufteilen der Daten in Zug- / Wert- / Testaufteilungen wäre ein Fehler. Stattdessen muss der Mittelwert nur über die Trainingsdaten berechnet und dann gleichmäßig von allen Teilungen (Zug / Wert / Test) abgezogen werden. ""

Ich vermute, was der Autor sagt, ist, dass Sie nicht den Mittelwert berechnen und innerhalb jedes Bildes subtrahieren, sondern den Mittelwert des gesamten Bildsatzes (dh (Bild1 + ... + Bild100) / 100) berechnen und den Mittelwert subtrahieren jedes der Bilder.

Ich verstehe nicht ganz, kann jemand erklären? und möglicherweise auch erklären, warum das, was ich getan habe, falsch ist (wenn es tatsächlich falsch ist).


Willkommen in der Community. Bitte sehen Sie meine Antwort unten.
usεr11852

Antworten:


6

Nehmen wir an, Sie haben insgesamt 100 Bilder. 90 sind Trainingsdaten und 10 sind Testdaten.

Die Autoren behaupten zu Recht, dass die Verwendung des gesamten 100-Bild-Beispiels zur Berechnung des Stichprobenmittelwerts falsch ist. Dies liegt daran, dass in diesem Fall Informationen verloren gehen. Informationen aus Ihren "Out-of-Sample" -Elementen werden in Ihr Trainingsset verschoben. Insbesondere für die Schätzung von , wenn Sie 100 anstelle von 90 Bildern verwenden, lassen Sie zu, dass Ihr Trainingssatz einen besser informierten Mittelwert hat, als er auch haben sollte. Infolgedessen wäre Ihr Trainingsfehler möglicherweise geringer als er sein sollte.μ^μ^

Das geschätzte ist während des gesamten Trainings- / Validierungs- / Testverfahrens üblich. Das gleiche soll verwendet werden, um alle Ihre Daten zu zentrieren. (Ich erwähne dies später, weil ich den leichten Eindruck habe, dass Sie den Mittelwert jedes einzelnen Bildes verwenden, um dieses Bild zu zentrieren.)μ^μ^


μ^

1
μ^

@ usεr11852 Warum würde eine bessere Information unserem Modell schaden? Dies würde nicht dazu führen, dass die Informationen der "Antwortvariablen außerhalb der Stichprobe" in irgendeiner Weise unser Training beeinträchtigen, oder? Warum sollte der Zugfehler gering sein?
GeneX

1
μ^

... durch einen Zufall landen alle älteren Menschen im Test-Set. Wenn wir nur das Durchschnittsalter in unserem Trainingssatz berechnen, erhalten wir offensichtlich ein niedrigeres Durchschnittsalter als unsere gesamte Stichprobe. Die Verwendung dieses offensichtlich voreingenommenen Durchschnittsalters wird wahrscheinlich die ALeistung des Modells verschlechtern, wenn Aes nicht gut auf verschiedene Altersgruppen verallgemeinert wird. Wenn wir das Durchschnittsalter im gesamten Datensatz berechnen, erhalten wir ein repräsentativeres Durchschnittsalter. Wenn wir jetzt dieses unvoreingenommene Durchschnittsalter im Modell verwenden, werden Awir wahrscheinlich eine bessere Leistung als zuvor erzielen, obwohl wir Anicht gut auf verschiedene Altersgruppen verallgemeinern.)
usεr11852
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.