Alles auf eine Skala (Normalisierung)
Wohnfläche 350, Zimmerzahl 4 — warum so ungleiche Zahlen ein Training kippen lassen, und wie Min-Max und Z-Score das reparieren. Mit Live-Beweis: zwei Trainings im Direktvergleich.
👋 HerrKI hier — heute klären wir DIE Stolperfrage schlechthin
Sie kommt garantiert: „Müssen die Zahlen im Tensor nicht zwischen 0 und 1 liegen?“ Kurze Antwort aus Kapitel 010: Nein, ein Tensor darf alles enthalten. Lange Antwort: Fürs Training ist Skalieren trotzdem oft der Unterschied zwischen „läuft sauber“ und „explodiert“. Heute siehst du beides live — nebeneinander.
Das Problem: Zahlen in völlig verschiedenen Ligen
Zurück zu den Wohnungspreisen aus „Multiple Regression“. Unsere Merkmale spielen in verschiedenen Größenordnungen:
| Merkmal | kleinster Wert | größter Wert | Spannweite |
|---|---|---|---|
| Wohnfläche [m²] | 30 | 350 | 320 |
| Zimmerzahl | 1 | 8 | 7 |
Für das Modell bedeutet das: Ein kleiner Fehler bei der Wohnfläche erzeugt riesige Zahlen im Loss, ein Fehler bei der Zimmerzahl fast nichts. Die große Spalte dominiert alles — und der Gradient (Kapitel 118) wird in eine Richtung gigantisch, in die andere winzig. Mit einer Lernrate, die für beide passt? Gibt es dann nicht.
📊 Schau dir die Skalen an — vor und nach dem Umrechnen
⚔️ Der Live-Beweis: zwei identische Trainings
Gleiches Modell, gleiche Daten, gleiche Lernrate — nur einmal roh, einmal skaliert
Ich trainiere jetzt ZWEI Modelle auf denselben 12 Wohnungen. Das einzige, was sich unterscheidet: Links bekommen die Merkmale ihre rohen Werte, rechts sind sie per Min-Max auf 0–1 gebracht.
NaN.
In der Praxis ist fehlende Skalierung die häufigste Ursache für explodierende Loss-Werte.🔬 Runter zum Tensor
Die Umrechnung ist reine Tensor-Arithmetik (Kapitel 060) — und sie passiert spaltenweise. Hier 4 der 12 Wohnungen zum Mitrechnen:
Jetzt jede Zahl durch (x − min) / (max − min) schicken — rechts steht die Rechnung dazu:
Aus 320 gegen 7 sind zwei Spalten von 0 bis 1 geworden — dieselbe Wohnung, dieselbe Rangfolge, nur ohne
das Größen-Gefälle. Beachte: min und max sind nur
[2] lang (eine Zahl pro Spalte) und werden trotzdem auf alle 12 Zeilen
[12,2] angewendet — das Broadcasting aus Kapitel 060:
Der Z-Score nimmt dieselben 12 Wohnungen, nur andere Kennzahlen: Die Fläche hat Mittelwert 153,3 und Streuung 101,2 — Wohnung 6 wird damit zu (110 − 153,3) / 101,2 = −0,43, also „ein gutes Stück unter dem Durchschnitt“.
min und max (bzw. Mittelwert/Streuung) berechnest du NUR aus den
Trainingsdaten — und wendest sie dann unverändert auf neue Daten an. Warum das so wichtig ist,
verstehst du vollständig in „Trainieren, prüfen, bestehen“.Zurück zur Anwendung
Du kennst das Prinzip längst: In „Bilder als Tensoren“ haben wir Pixel durch 255 geteilt — Min-Max für Bilder. In „Excel/CSV → Tensoren“ stand der Warnkasten dazu. Jetzt weißt du, warum: nicht weil Tensoren es verlangen — sondern damit Gradient Descent in allen Richtungen gleich gute Schritte machen kann.
