JGU Logo JGU Logo JGU Logo JGU Logo

Institut für Informatik

Modellierung 2

Michael Wand
Ann-Christin Wörl & David Hartmann
Sommersemester 2023

Lehreinheit 7

Overfitting
Letzte Änderung: 17. April 2023, 13:41 Uhr
Abgabe: Montag, der 05.06.2023, 12 Uhr

  /  



Auf diesem Übungsblatt wollen wir uns in der Praxis anschauen, wie sich Overfitting bei schlechter Modellauswahl auswirkt. Die folgenden Aufgaben sollten praktisch gelöst werden (z.B. in Python mit numpy implementiert). Experimentieren Sie jeweils mit den Parametern. In Aufgabe 2 und 3 sollten Sie jeweils Plots anfertigen (z.B. mit matplotlib) und die verschiedenen Lösungen visuell vergleichen.


Aufgabe 1: Erzeugen von Daten

Wir betrachten eine Funktion \(f:[-0.5,0.5] \rightarrow\mathbb{R}\). Als Ground-truth nehmen wir eine einfache Funktionale Form, z.B. \[ f(x) := \min(0.5,x^2) \]


Erzeugen Sie eine Stichprobe von \(n\) Punkten \(f(x_i),x_i, i=1...n\) für gleichmäßig abgetastete \(x_i\) (siehe Bild unten). Verrauschen Sie die Daten anschließend.


Abbildung: Beispielfunktion (grau) mit verrauschten Daten (blau).

Aufgabe 2: Least-Squares Fitting

Bestimmen Sie nun einen numerischen least-squares-fit gegen diese Daten mit Fourier-Basisfunktionen \[ \{\sin kx, \cos kx | k=1,...,N\} \] wobei der Wert von \(N\) zwischen \(1\) und \(O(N)\) schwanken sollte. Programmieren Sie Ihre Lösung so, dass immer die minimum-Norm Lösung des least-squares-Problems bestimmt wird, also die Norm des Fourier-Koeffizientenvektors so klein wie möglich sein sollte unter all denen, die die Daten optimal annähern. Dies kann man z.B. mit Hilfe der Pseudo-Inversen erreichen (wobei man sich überlegen kann, wie man das bei der Fourier Basis geschickt implementiert).


Schauen Sie sich Lösungen für verschieden große Werte von \(N\) an.

Aufgabe 03: Regularisiertes Least-Squares Fitting

Skalieren Sie nun die Fourier-Basisfunktionen der Frequenz \(k\) mit dem Gewicht \[ w(k) = \frac{1}{1+k^2} \] und lösen Sie das minimum-Norm least-squares-Problem erneute (wieder für verschieden große \(N\)). Welches Verhalten der Lösungen beobachten Sie nun?


Hinweis: Später (im Kapitel "Gaussche Prozesse") sehen wir, dass diese Gewichtung genau einer Regularisierung mit \(\int_x \|\nabla f(x)\|^2 dx\) entspricht, wie wir sie bei der Bildrekonstruktion in Modellierung 1 eingesetzt haben.