Normalisierung

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.

Fünf Grafiken: 1. eine unverarbeitete Verteilung 2. Die Rohverteilung, die auf einen Bereich skaliert ist, dessen Form der Rohverteilung entspricht. 3. Die Rohverteilung wurde abgeschnitten, wodurch die höchsten Werte eliminiert werden. 4. Die Verteilung der Rohverteilung nach Logarithmus, bei dem die Daten in der Mitte der Verteilung gebündelt werden. 5. Der Z-Wert der Verteilung, die eine ähnliche Form wie die unverarbeitete Verteilung hat.

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

Vergleich einer nativen Verteilung und einer limitierten Verteilung Bei der nativen Verteilung liegen fast alle Werte zwischen 1 und 4, aber ein kleiner Prozentsatz liegt zwischen 5 und 55. In der limitierten Verteilung haben alle Werte über 4 jetzt den Wert 4.

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.

Zwei Diagramme, in denen Rohdaten mit den Rohdaten verglichen werden. Das Rohdatendiagramm zeigt viele Bewertungen im Kopf, gefolgt von einem langen Zahl. Das Logdiagramm ist gleichmäßiger verteilt.

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 - μ) / σ \]

Zwei Diagramme, die Rohdaten mit denen eines Z-Werts vergleichen. Die Rohdaten zeigen eine grobe Poisson-Verteilung zwischen 5.000 und 45.000.
Die normalisierten Daten reichen von -1 bis +4.

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

NormalisierungsverfahrenFormelVerwendung
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.