Eine gängige Vorgehensweise beim maschinellen Lernen ist die Merkmalsnormalisierung oder Datenstandardisierung der Prädiktorvariablen. Das ist es, die Daten zu zentrieren, wobei der Mittelwert abgezogen wird, und die Division durch die Varianz (oder auch die Standardabweichung) zu normalisieren. Aus Gründen der Selbstbeherrschung und meines Verständnisses tun wir dies, um zwei Hauptziele zu erreichen:
- Vermeiden Sie aus Gründen der numerischen Stabilität besonders kleine Modellgewichte.
- Stellen Sie eine schnelle Konvergenz von Optimierungsalgorithmen wie z. B. Conjugate Gradient sicher, damit die große Größe einer Prädiktor-Dimension gegenüber den anderen nicht zu einer langsamen Konvergenz führt.
Wir teilen die Daten normalerweise in Trainings-, Validierungs- und Testsätze auf. In der Literatur sehen wir normalerweise, dass zur Merkmalsnormalisierung der Mittelwert und die Varianz (oder die Standardabweichung) über den gesamten Satz von Prädiktorvariablen hinweg berechnet werden. Der große Fehler, den ich hier sehe, ist, dass Sie, wenn Sie das tun, tatsächlich zukünftige Informationen in die Trainingsprädiktorvariablen einführen, nämlich die zukünftigen Informationen, die im Mittelwert und in der Varianz enthalten sind.
Aus diesem Grund normalisiere ich die Trainingsdaten und speichere den Mittelwert und die Varianz. Dann wende ich eine Merkmalsnormalisierung auf die Prädiktorvariablen der Validierungs- und Testdatensätze unter Verwendung des Trainingsmittels und der Varianzen an. Gibt es dabei grundsätzliche Mängel? kann mir jemand eine bessere alternative empfehlen?