Die Normalisierung ist eine grundlegende Technik der Datenvorverarbeitung, die beim maschinellen Lernen (ML) und in der Datenwissenschaft häufig eingesetzt wird. Ihr Hauptziel ist es, numerische Datenmerkmale auf einen gemeinsamen Standardbereich zu skalieren, der oft zwischen 0 und 1 oder -1 und 1 liegt, ohne die Unterschiede in den Wertebereichen zu verzerren. Dieses Verfahren stellt sicher, dass alle Merkmale gleichmäßig zum Modelltraining beitragen und verhindert, dass Merkmale mit größeren Werten (z. B. das Gehalt in einem Datensatz) das Ergebnis im Vergleich zu Merkmalen mit kleineren Werten (z. B. die Anzahl der Jahre an Berufserfahrung) unverhältnismäßig stark beeinflussen. Die Normalisierung ist besonders wichtig für Algorithmen, die empfindlich auf die Skalierung von Merkmalen reagieren, wie z. B. Gradientenabstiegsverfahren, die beim Deep Learning (DL) und verschiedenen Optimierungsalgorithmen verwendet werden.
Warum Normalisierung wichtig ist
Datensätze aus der realen Welt enthalten oft Merkmale mit sehr unterschiedlichen Skalen und Einheiten. In einem Datensatz zur Vorhersage der Kundenabwanderung kann der "Kontostand" beispielsweise von Hunderten bis zu Millionen reichen, während die "Anzahl der Produkte" von 1 bis 10 reichen kann. Ohne Normalisierung könnten ML-Algorithmen, die Abstände berechnen oder Gradienten verwenden, wie z. B. Support Vector Machines (SVM) oder neuronale Netze (NN), das Merkmal mit dem größeren Bereich fälschlicherweise als wichtiger einstufen, einfach aufgrund seiner Größe. Die Normalisierung gleicht das Spielfeld aus und stellt sicher, dass der Beitrag jedes Merkmals auf seiner Vorhersagekraft basiert, nicht auf seiner Größe. Dies führt zu einer schnelleren Konvergenz beim Training (erkennbar an der geringeren Anzahl von Epochen), einer höheren Modellgenauigkeit und stabileren, robusteren Modellen. Diese Stabilität ist beim Training von Modellen wie Ultralytics YOLO für Aufgaben wie die Objekterkennung oder die Segmentierung von Instanzen trainieren und dabei Kennzahlen wie die mittlere durchschnittliche Genauigkeit (mAP) verbessern können.
Übliche Normalisierungstechniken
Es gibt verschiedene Methoden zur Skalierung von Daten, die sich für unterschiedliche Situationen eignen:
- Min-Max-Skalierung: Skaliert die Merkmale auf einen festen Bereich, normalerweise [0, 1]. Sie wird berechnet als: (Wert - Min) / (Max - Min). Bei dieser Methode bleibt die ursprüngliche Verteilungsform erhalten, aber sie reagiert empfindlich auf Ausreißer.
- Z-Score Standardisierung (Standard Skalierung): Skaliert die Merkmale so, dass sie einen Mittelwert von 0 und eine Standardabweichung von 1 haben. Er wird berechnet als: (Wert - Mittelwert) / Standardabweichung. Anders als bei der Min-Max-Skalierung sind die Werte nicht an einen bestimmten Bereich gebunden, was für Algorithmen, die Eingaben innerhalb eines begrenzten Intervalls benötigen, ein Nachteil sein kann, aber Ausreißer lassen sich so besser behandeln. Weitere Informationen zu diesen und anderen Methoden findest du in der Scikit-learn Preprocessing Dokumentation.
- Robuste Skalierung: Verwendet Statistiken, die robust gegenüber Ausreißern sind, wie z. B. den Interquartilsbereich (IQR), anstelle von Min/Max oder Mittelwert/Std. Dev. Dies ist besonders nützlich, wenn der Datensatz erhebliche Ausreißer enthält. Erfahre mehr über Robust Scaling.
Die Wahl zwischen diesen Techniken hängt oft von dem jeweiligen Datensatz (wie den Ultralytics ) und den Anforderungen des verwendeten ML-Algorithmus ab. Leitfäden zur Vorverarbeitung von kommentierten Daten enthalten oft Normalisierungsschritte, die für bestimmte Aufgaben relevant sind.
Normalisierung vs. Standardisierung vs. Batch-Normalisierung
Es ist wichtig, die Normalisierung von verwandten Konzepten zu unterscheiden:
- Standardisierung: Diese Technik wird oft gleichbedeutend mit der Z-Score-Standardisierung verwendet und wandelt die Daten so um, dass sie einen Mittelwert von Null und eine Einheitsvarianz haben. Während bei der Normalisierung die Daten in der Regel auf einen festen Bereich (z. B. 0 bis 1) skaliert werden, zentriert die Standardisierung die Daten um den Mittelwert und skaliert sie auf der Grundlage der Standardabweichung, ohne sie auf einen bestimmten Bereich zu beschränken.
- Batch-Normalisierung: Dies ist eine Technik, die innerhalb eines neuronalen Netzes während des Trainings angewendet wird, insbesondere auf die Eingänge der Schichten oder Aktivierungen. Sie normalisiert die Ausgänge einer vorherigen Aktivierungsschicht für jeden Mini-Batch und stabilisiert und beschleunigt den Trainingsprozess, indem sie das Problem der internen Kovariatenverschiebung reduziert. Im Gegensatz zur Merkmalsnormalisierung (Min-Max oder Z-Score), die ein Vorverarbeitungsschritt ist, der auf den ursprünglichen Datensatz angewendet wird, ist die Batch-Normalisierung Teil der Netzarchitektur selbst und passt sich während des Modelltrainings dynamisch an.
Anwendungen der Normalisierung
Die Normalisierung ist ein allgegenwärtiger Schritt bei der Vorbereitung von Daten für verschiedene Aufgaben der Künstlichen Intelligenz (KI ) und ML:
- Computer Vision (CV): Pixelwerte in Bildern (in der Regel zwischen 0 und 255) werden oft auf [0, 1] oder [-1, 1] normalisiert, bevor sie in Convolutional Neural Networks (CNNs) eingespeist werden. Dadurch wird die Konsistenz zwischen den Bildern gewährleistet und das Netzwerk lernt effektiver Merkmale für Aufgaben wie die Bildklassifizierung, die Objekterkennung mit Modellen wie YOLO11 und die Bildsegmentierung. Viele Standard-CV-Datensätze profitieren von diesem Vorverarbeitungsschritt.
- Medizinische Bildanalyse: Bei Anwendungen wie der Tumorerkennung mit YOLO ist die Normalisierung der Intensitätswerte von MRT- oder CT-Scans entscheidend. Unterschiedliche Scangeräte oder Einstellungen können Bilder mit unterschiedlichen Intensitätsskalen erzeugen. Die Normalisierung stellt sicher, dass die Analyse über verschiedene Scans und Patienten hinweg konsistent und vergleichbar ist, was zu zuverlässigeren Diagnosemodellen führt. Dies ist in Bereichen wie KI im Gesundheitswesen von entscheidender Bedeutung.
- Prädiktive Modellierung: Bei der Erstellung von Modellen zur Vorhersage von Ergebnissen auf der Grundlage verschiedener Merkmale (z. B. Vorhersage von Hauspreisen auf der Grundlage von Größe, Anzahl der Zimmer und Standortkoordinaten) stellt die Normalisierung sicher, dass Merkmale mit größeren Zahlenbereichen (wie z. B. die Quadratmeterzahl) nicht die abstandsbasierten Berechnungen (z. B. bei k-Nächste Nachbarn) oder Gradientenaktualisierungen beim Training dominieren. Dies ist in der Finanz- und Einzelhandelsanalytik üblich.
- Natürliche Sprachverarbeitung (NLP): Während die Normalisierung bei Rohtexten weniger üblich ist, kann sie auch auf abgeleitete numerische Merkmale wie Worthäufigkeiten oder TF angewandt werden, insbesondere wenn sie mit anderen Merkmalen in einem größeren Modell kombiniert werden.
Zusammenfassend lässt sich sagen, dass die Normalisierung ein wichtiger Vorverarbeitungsschritt ist, der die Datenmerkmale auf einen konsistenten Bereich skaliert und so den Trainingsprozess, die Stabilität und die Leistung vieler maschineller Lernmodelle verbessert, einschließlich derjenigen, die mit Tools wie dem Ultralytics HUB entwickelt und trainiert wurden. Sie sorgt für einen fairen Beitrag der Merkmale und ist für Algorithmen, die auf die Skalierung der Eingaben reagieren, unerlässlich und trägt zu robusteren und genaueren KI-Lösungen bei.