Das Ziel der Normalisierung besteht darin, Features auf eine ähnliche Skala umzustellen. Dies verbessert die Leistung und die Trainingsstabilität des Modells.
Normalisierungstechniken auf einen Blick
Vier gängige Normalisierungsmethoden können hilfreich sein:
- auf einen Bereich skalieren
- Zuschneiden
- Logskalierung
- z-score
Die folgenden Diagramme zeigen die Auswirkungen der einzelnen Normalisierungstechniken auf die Verteilung der Rohmerkmale (Preis) auf der linken Seite. Die Diagramme basieren auf dem Dataset aus dem 1985 Ward’s Automotive Yearbook, das Teil des UCI Machine Learning Repository unter „Automobile Data Set“ ist.
Abbildung 1. Zusammenfassung der Normalisierungsverfahren.
Auf einen Bereich skalieren
Trefferquote von MLCC, was bedeutet, dass die Skalierung bedeutet, dass Gleitkomma-Merkmalswerte aus ihrem natürlichen Bereich (z. B. 100 bis 900) in einen Standardbereich konvertiert werden – in der Regel 0 und 1 (oder manchmal -1 bis +1). Verwenden Sie die folgende einfache Formel, um auf einen Bereich zu skalieren:
\[ x' = (x - x_{min}) / (x_{max} - x_{min}) \]
Die Skalierung auf einen Bereich ist eine gute Wahl, wenn die beiden folgenden Bedingungen erfüllt sind:
- Sie kennen die ungefähre Ober- und Untergrenze Ihrer Daten mit wenigen oder keinen Ausreißern.
- Ihre Daten sind dann ungefähr gleichmäßig auf diesen Bereich verteilt.
Ein gutes Beispiel ist das Alter. Die meisten Altersgruppen liegen zwischen 0 und 90 und jeder Teil des Bereichs hat eine beträchtliche Anzahl von Menschen.
Im Gegensatz dazu würden Sie keine Einkommensskalierung verwenden, da nur wenige Nutzer ein sehr hohes Einkommen haben. Die Obergrenze der linearen Skala für das Einkommen wäre sehr hoch, und die meisten Menschen würden in einen kleinen Teil der Skala hineingedrückt.
Ausstattungsschneider
Wenn Ihr Dataset extreme Ausreißer enthält, können Sie Feature-Clips verwenden. Dabei werden alle Feature-Werte oberhalb (oder unter) einem bestimmten Wert auf einen festen Wert begrenzt. Beispielsweise können Sie alle Temperaturwerte über 40 auf genau 40 beschränken.
Sie können das Feature-Cliping vor oder nach anderen Normalisierungen anwenden.
Formel: Mindest-/Höchstwerte festlegen, um Ausreißer zu vermeiden
Abbildung 2. Eine Rohverteilung und ihre gekürzte Version vergleichen
Eine weitere einfache Cliping-Strategie besteht darin, den Z-Wert auf +-Nβ zu begrenzen (z. B. auf +-3Σ). Beachten Sie, dass Σ die Standardabweichung ist.
Logskalierung
Bei der Logskalierung wird das Log Ihrer Werte berechnet, um einen breiten Bereich in einen schmalen Bereich zu komprimieren.
\[ x' = log(x) \]
Die Logskalierung ist hilfreich, wenn eine Handvoll Ihrer Werte viele Punkte hat, während die meisten anderen Werte nur wenige Punkte haben. Diese Datenverteilung wird als Stromverteilung bezeichnet. Filmbewertungen sind ein gutes Beispiel. Im Diagramm unten haben die meisten Filme nur sehr wenige Bewertungen (Daten im Bereich) und einige haben mehrere Bewertungen (Daten im Kopf). Durch die Logskalierung wird die Verteilung geändert und die Leistung des linearen Modells verbessert.
Abbildung 3. Eine Rohverteilung mit ihrem Log vergleichen
Z-Wert
Der Z-Wert ist eine Skalierungsvariante, die die Anzahl der Standardabweichungen vom Mittelwert darstellt. Sie würden z-Score verwenden, um sicherzustellen, dass die Merkmalsverteilungen einen Mittelwert = 0 und einen Standardwert = 1 haben. Das ist nützlich, wenn es einige wenige Ausreißer gibt, die aber nicht so extrem sind, dass Sie sie ausschneiden müssen.
Die Formel zur Berechnung des Z-Werts eines Punkts, x, sieht so aus:
\[ x' = (x - μ) / σ \]
Abbildung 4. Eine Rohverteilung mit ihrer Z-Wert-Verteilung vergleichen.
Beachten Sie, dass der Z-Wert Rohwerte mit einem Bereich von etwa 40.000 in einen Bereich von etwa -1 bis +4 drückt.
Angenommen, Sie sind sich nicht sicher, ob die Ausreißer wirklich extrem sind. Beginnen Sie in diesem Fall mit dem Z-Score, es sei denn, Sie haben Featurewerte, die das Modell nicht lernen soll. Die Werte sind beispielsweise das Ergebnis eines Messfehlers oder einer Eigenheit.
Zusammenfassung
Normalisierungsverfahren | Formel | Verwendung |
---|---|---|
Lineare Skalierung | $$ x' = (x - x_{min}) / (x_{max} - x_{min}) $$ | Wenn das Merkmal mehr oder weniger gleichmäßig über einen festen Bereich verteilt ist. |
Beschneiden | if x > max, dann x' = max. if x < min, dann x' = min | Wenn das Feature extreme Ausreißer enthält |
Logskalierung | x' = log(x) | Die Funktion entspricht dem Stromgesetz. |
Z-Wert | x' = (x - μ) ÷ Σ | Wenn die Featureverteilung keine extremen Ausreißer enthält. |