NN02 - Lineare Regression und Gradientenabstieg

Kurze Übersicht

Formalisierung

  • Ausgabe y ist reelle Zahl aus einem stetigen Bereich (zum Beispiel Hauspreis)
  • Die Hypothesenfunktion ist eine gewichtete Summe der Merkmale xi plus eine Konstante w0: h(x)=wTx=w0+w1x1+w2x2++wnxn
  • Der Verlust (engl. loss) für einen Datenpunkt x ist das Fehlerquadrat: L=(y^y)2=(h(x)y)2
  • Die Kosten (engl. cost) sind der durchschnittliche Verlust über alle Datenpunkte: J=12mi=1m(y^y)2=12mi=1m(h(x)y)2

Der Gradient

  • Der Gradientenvektor J(w) setzt sich zusammen aus den partiellen Ableitungen der Kostenfunktion J nach den Gewichten wi und zeigt in jedem Punkt w in die Richtung des steilsten Aufstiegs: J=[J/w0J/w1J/wn]T
  • Schlussfolgerung: In die entgegengesetzte Richtung, i.e. in Richtung J(w) geht es am steilsten bergab!
  • IDEE: Bewege w in Richtung J(w), um die Kosten J möglichst schnell zu senken.

Der Gradientenabstieg (engl. Gradient Descent)

  1. Starte mit zufälligen Gewichten w
  2. Berechne den Gradientenvektor im aktuellen Punkt w
  3. Gewichtsaktualisierung: Gehe einen kleinen Schritt in Richtung J(w) wneu:=waltαJ(walt) (α: Lernrate/Schrittweite).
  4. Wiederhole Schritte 2-3, bis das globale Minimum von J erreicht ist.

Graphische Übersicht

  • Lineare Regression
  • Perzeptron
Lernziele
  • (K2) Lineare Regression aus Sicht neuronaler Netze: Graphische Darstellung, Vergleich mit Perzeptron
  • (K2) Formalisierung
  • (K2) Verlust- und Kostenfunktion
  • (K2) Gradientenvektor
  • (K2) Lernrate
  • (K3) Gradientenabstieg
Challenges

Skalierung der Merkmale

Abbildung 1 und Abbildung 2 zeigen die Höhenlinien (Contour Lines) von zwei Kostenfunktionen.

Abbildung 1

Abbildung 1

Abbildung 2

Abbildung 2

  • Erklären Sie, welcher der beiden Fälle nachteilhaft für den Gradientenabstieg Algorithmus ist. Wo liegt der Nachteil? Wie kann die Merkmalskalierung dem genannten Nachteil entgegenwirken?
  • Zeigen Sie unter Verwendung Ihrer eigenen, zufällig generierten Datenpunkte aus dem Bereich [100,300]×[0,2], wie sich Standardisierung, Min-Max Skalierung und Normalisierung auf die Daten auswirken. Vergleichen Sie dazu die jeweiligen Streudiagramme (scatterplots). Sie können hierzu das folgende Jupyter Notebook als Startpunkt benutzen.