Lineare Regression - Gradient Descent
Vorhersage des Immobilienwerts basierend auf Wohnfläche mit Normalisierung und Fehlerkontur im Parameterraum (w, b)
Animation
Parameter
Statistiken
Erklärung: Lineare Regression für Immobilienbewertung
In diesem Beispiel modellieren wir den Wert einer Immobilie basierend auf ihrer Wohnfläche. Die lineare Regression sucht eine gerade Linie ŷ = w₁ · x₁ + b, die die Datenpunkte am besten approximiert. Hier repräsentiert x₁ die Wohnfläche in m² und y den Immobilienwert in Tausend Euro (k€).
wobei \( w_1 \) der Preis pro Quadratmeter (in k€/m²) und \( b \) der Basiswert (z.B. Grundstückswert) ist.
Der Gradientenabstieg optimiert w₁ und b, indem er den Fehler (MSE) minimiert. Die Kontur zeigt den Fehler im Parameterraum – das Minimum ist der optimale Punkt. Die Fehlerquadrate visualisieren den quadratischen Abstand zwischen Vorhersage und tatsächlichem Wert.
Typische Werte: w₁ ≈ 2-4 k€/m², b ≈ 50-100 k€. Der Algorithmus konvergiert zum besten Modell.
Theoretische Grundlagen des Gradientenabstiegs
1. Loss Function (MSE)
Die Loss Function \( J(\hat{y}, y) \) misst den Fehler des Modells. Für die lineare Regression verwenden wir den Mean Squared Error (MSE), der den durchschnittlichen quadratischen Abstand zwischen den tatsächlichen Werten \( y_i \) und den vorhergesagten Werten \( \hat{y}_i \) berechnet.
wobei \( \hat{y}_i = w \cdot x_i + b \) und \( n \) die Anzahl der Datenpunkte ist.
Das Ziel des Gradientenabstiegs ist es, w und b so anzupassen, dass \( J(\hat{y}, y) \) minimiert wird.
2. Gradient der Loss Function
Der Gradient gibt die Richtung des steilsten Anstiegs der Loss Function an. Wir berechnen die partiellen Ableitungen nach w und b:
\[ \frac{\partial J}{\partial b} = \frac{2}{n} \sum_{i=1}^n (\hat{y}_i - y_i) \]
Diese Ableitungen zeigen, wie stark die Loss Function bei einer kleinen Änderung von w oder b ansteigt. Im Konturplot entspricht der Gradient der Steigung der Fehleroberfläche.
3. Update-Regeln für Weight und Bias
Im Gradientenabstieg werden w und b in der Richtung des negativen Gradienten aktualisiert, skaliert mit der Lernrate \( \mu_{lr} \), um die Loss zu verringern:
\[ b_{\text{new}} = b - \mu_{lr} \cdot \frac{\partial J}{\partial b} \]
Die Lernrate \( \mu_{lr} \) (hier einstellbar) kontrolliert die Schrittgröße: Zu groß führt zu Oszillationen, zu klein zu langsamer Konvergenz. Der Algorithmus iteriert, bis das Minimum erreicht ist.
4. Feature Normalization für balanciertes Lernen
Aufgrund der unterschiedlichen Skalen (x₁ ≈ 50-200 m², während der Bias-Term konstant 1 ist) ist der Gradient für w₁ viel größer als für b. Dies führt zu unbalanciertem Lernen: w₁ ändert sich schnell, b fast gar nicht. Um dies zu beheben, normalisieren wir die Features mit Z-Score-Normalisierung:
\[ \hat{y} = w \cdot x_{\text{norm}} + b \]
wobei \( \mu_{x_1} \) der Mittelwert und \( \sigma_{x_1} \) die Standardabweichung der x-Werte ist (x_norm ≈ N(0,1)).
Dadurch haben die Gradienten ähnliche Größenordnungen, und w und b lernen gleichmäßig. Der Parameter w repräsentiert nun den Preis pro Standardabweichung (k€/σ), und b ist der erwartete Wert bei durchschnittlicher Fläche. Die effektive Steigung in Originalskala ist \( w * σ_{x_1} \).