Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

Was ist der MinMax Scaler?

Der Minmax Scaler ist eine Variante, um die Trainingsdaten eines Machine Learning Modells zu normalisieren, also die numerischen Werte auf eine einheitliche Skala zu bringen. Dies führt dazu, dass das Modell schneller lernen und konvergieren kann, da der Gradient sich einheitlicher verändert und nicht durch die unterschiedlichen Skalen große Sprünge macht.

Was bedeutet Normalisierung im Deep Learning?

Die Normalisierung Von Daten bedeutet, dass alle Features des Modells auf eine einheitliche Skala gebracht werden. Dafür wird meist der Bereich zwischen 0 und 1 oder zwischen -1 und 1 gewählt. In der Realität haben numerische Features normalerweise auch unterschiedliche Skalen. Wenn wir beispielsweise das Alter einer Person und dessen Gehalt nehmen, dann ist ein Alter von 100 Jahren sehr hoch, während ein monatlicher Verdienst von 100 € eher gering einzuschätzen ist.

Die Normalisierung wird auch nur dann genutzt, wenn die zugrundeliegenden Daten keiner Gauss’schen Normalverteilung folgen. Wenn man also annimmt, dass das Gehalt und das Alter normalverteilt sind, sollte man keine Normalisierung vornehmen.

Warum sollte man Daten vor dem Modelltraining normalisieren?

Die Normalisierung von Daten hat viele positive Eigenschaften auf das Training von Machine Learning Modellen. Jedoch sollte darauf geachtet werden, dass sie genutzt wird, wenn das genutzt Modell keine Normalverteilung der Daten voraussetzt, wie das beispielsweise bei einem Neuronalen Netzwerk der Fall ist. Wenn man hingegen Modelle, wie LDA, Gaussian Naive Bayes oder Logistic Regression nutzt, sollte auf eine Normalisierung verzichtet werden und stattdessen eine Standardisierung genutzt werden.

Die folgenden Vorteile ergeben sich durch die Normalisierung von Daten:

  • Durch die Nutzung einer einheitlichen Skala, gibt es keinen Bias des Modells hin zu großen Zahlenwerten. Andernfalls könnten Features, die von Natur aus höhere Zahlen haben, mehr zur Modellvorhersage beitragen als andere.
  • Das Training verläuft gleichmäßiger, da es keine großen Sprüngen in den Zahlen gibt, die zu Unregelmäßigkeiten führen könnten. Dadurch können höhere Lernraten genutzt werden und das Training wird beschleunigt.
  • Durch die Normalisierung kann auch das Risiko eines Internal Covariate Shifts verringert werden. Der Internal Covariate Shift bezeichnet das Phänomen, wenn die Hidden Layers eines Neuronalen Netzwerks auf eine Änderung der Verteilung der Inputwerte reagieren. Dadurch ändern sich die Gewichtungen in den Schichten sehr stark und das Modell konvergiert nicht.

Was ist der Unterschied zwischen Standardisierung und Normalisierung?

Die Normalisierung von Daten beschreibt den Prozess, numerische Werte auf eine einheitliche Skala zu bringen, beispielsweise in den Bereich zwischen 0 und 1 oder zwischen -1 und 1. Die Normalisierung sollte vor allem verwendet werden, wenn die zugrundeliegende Daten keiner Normalverteilung folgen.

Verschiedene Normalverteilungen | Quelle: Wikipedia

Die Standardisierung bewirkt zwar in vielen Fällen auch, dass die Werte in einer einheitlichen Skala liegen, hat aber eigentlich das Ziel die Verteilung der Werte so zu verändern, dass sie einen Mittelwert von 0 und eine Standardabweichung von 1 haben. Die Standardisierung wird also genutzt, damit alle numerischen Inputwerte einer gleichen Verteilung folgen.

Die Normalisierung wird stark von Ausreißern beeinflusst, also von Datenpunkten, die deutlich größere oder kleinere Werte annehmen, als die umliegenden Datenpunkte. Durch die Skalierung in einheitliche Werte liegen die restlichen Werte sehr stark beieinander und nehmen sehr ähnliche Werte an. Dadurch ist eine Unterscheidung zwischen diesen Werten kaum möglich. Deshalb sollten vor der Normalisierung Ausreißer aus dem Datensatz beseitigt werden.

Die Standardisierung hingegen wird von Ausreißern wenig bis gar nicht beeinflusst. Dadurch, dass keine Skalierung in festen Grenzen stattfindet, können die Ausreißer an den äußeren Enden der Normalverteilung liegen. Somit bleibt auch die Information der Ausreißer im Modell erhalten.

Abhängig vom gewählten Modell, das trainiert werden soll, ergibt sich auch, ob die Daten standardisiert oder normalisiert werden können. Manche Modelle setzen eine Normalverteilung von Daten voraus, weshalb für diese auch nur eine Standardisierung verwendet werden sollte. Dazu gehören beispielsweise LDA, Gaussian Naive Bayes oder die Logistische Regression. Für Neuronale Netzwerke hingegen kann die Normalisierung verwendet werden, da keine Verteilung der Daten vorausgesetzt wird.

Wie funktioniert der MinMax Scaler?

Der MinMax Scaler ist eine Form der Normalisierung, der die Werte zwischen 0 und 1 skaliert. Er erhält seinen Namen, da für die Normalisierung der Maximal- und Minimalwert des Features genutzt wird. Die konkrete Formal des MinMax Scalers ist:

\(\) \[x_{\text{scaled}} = \frac{x – x_{\text{min}}}{x_{\text{max}} – x_{\text{min}}}\]

MinMax Scaler vs. Standard Scaler

In der Praxis stellt sich oft die Frage, ob man den MinMax Scaler oder den Standard Scaler nutzen soll. Zwar nennen sich beide Scaler, jedoch handelt es sich beim MinMax Scaler um eine Normalisierung und beim Standard Scaler um eine Standardisierung. Somit haben beide verschiedene Anwendungsbereiche, da der MinMax Scaler die Werte auf eine einheitliche Skale bringt, während der Standard Scaler eine Normalverteilung der Daten herbeiführt.

Somit hängt die Verwendung der beiden Methoden von dem zu trainierenden Modell ab und ob eine Normalisierung oder eine Standardisierung der Daten vorgenommen werden soll.

Das solltest Du mitnehmen

  • Der MinMax Scaler ist eine Methode zur Normalisierung von Daten. Dabei werden numerische Werte in einem Datensatz auf eine einheitliche Skala zwischen 0 und 1 gebracht.
  • Die Normalisierung von Daten kann für Modelle genutzt werden, die keine Normalverteilung der numerischen Werte voraussetzen. Vor allem Neuronale Netzwerke arbeiten mit Datennormalisierung.
  • Durch die Normalisierung der Werte haben die Modelle keinen Bias für Features, die höhere numerische Werte annehmen.

Andere Beiträge zum Thema MinMax Scaler

Die Dokumentation des MInMax Scaler in Scikit-Learn findest Du hier.



This post first appeared on Data Basecamp, please read the originial post: here

Share the post

Was ist der MinMax Scaler?

×

Subscribe to Data Basecamp

Get updates delivered right to your inbox!

Thank you for your subscription

×