1. Gradient Descent

    Beachten Sie zunächst nur das untere der beiden Diagramme auf der rechten Seite. Es zeigt eine beispielhafte Fehleroberfläche. Die Fehleroberfläche besteht aus dem Fehler, den ein Modell für einen bestimmten Parameterwert produziert. Dieser Fehler ist die Abweichung der vom Modell produzierten Daten von den gegebenen empirischen Daten.

    Gradient Descent ist der beim Öffnen der App bereits gewählte Algorithmus. Finden Sie nun das Minimum der Fehlerfunktion. Positionieren Sie den Startpunkt der Optimierung – also den gewählten Startparameter für das Modell – in die Nähe des Minimums der Fehleroberfläche, indem Sie an die entsprechende Stelle im Diagramm klicken. Mit einem Klick auf den Playbutton am Slider „Animation starten“ beginnt die Optimierung. Beobachten Sie den roten Punkt im Diagramm. Erreicht er das Minimum der Funktion? Wie bewegt sich der Punkt und was könnte das über den Algorithmus aussagen?

  2. Genetischer Algorithmus

    Wählen Sie nun den genetischen Algorithmus zur Optimierung. Dieser Algorithmus verwendet mehrere Parametervariationen (sogenannte Populationsmitglieder) gleichzeitig. Entsprechend setzen Sie bitte für eine bessere Veranschaulichung seiner Funktionsweise ein Häkchen in die Checkbox „Gesamte Population anzeigen“. Dadurch wird zusätzlich zu dem großen roten Punkt, der das bisher beste gefundene Minimum anzeigt, für jedes weitere aktuelle Populationsmitglied ein kleiner roter Punkt dargestellt. Klicken Sie im Diagramm auf einen Startpunkt in der Nähe des globalen Minimums und beginnen Sie die Animation mit dem Playbutton. Mit dem Slider „Animationsgeschwindigkeit“ können Sie die Animation verlangsamen, falls Sie sie als zu schnell empfinden. Welche Unterschiede zum Gradient Descent können Sie beobachten?

  3. Simulated Annealing

    Ändern Sie den Optimierungsalgorithmus nun zu „Simulated Annealing“. Aktivieren Sie optional die Checkbox „Temperatur visualisieren“. Gehen Sie wie bei den vorherigen Algorithmen vor. Setzen Sie den Startpunkt zuerst in die Nähe des globalen Minimums der Fehleroberfläche. Beginnen Sie die Animation mit dem Playbutton und beobachten Sie den Punkt im Diagramm. Findet er ins Minimum? Worin bestehen Unterschiede im Vergleich zum genetischen Algorithmus und zum Gradient Descent?

  4. Lokale Minima

    Falls die Fehleroberfläche nur einen einzigen Tiefpunkt besitzt, erzeugen Sie eine neue Fehleroberfläche, indem Sie auf den Button „Allgemein“ klicken. Entscheiden Sie sich nun wieder für „Gradient Descent“ als Algorithmus. Wenn Sie nun eine Fehleroberfläche mit mehreren Tiefpunkten gefunden haben, wählen Sie eine weit vom globalen Minimum entfernte Startposition der Optimierung und betätigen Sie den Playbutton. Beobachten Sie den roten Punkt im Diagramm. Bewegt er sich ins globale oder in ein lokales Minimum? Wie können Sie sich das Ergebnis erklären?

    Testen Sie nun, wie robust der Genetische Algorithms gegenüber lokalen Minima ist, indem Sie diesen auswählen und ebenso wie im Schritt zuvor einen Startpunkt wählen, der weit vom globalen Minimum entfernt liegt. Wird das globale Minimum trotzdem erreicht?

    Starten Sie die Optimierung ein weiteres Mal, nun mit der Auswahl von „Simulated Annealing“. Wählen Sie einen Startpunkt in der Nähe eines lokalen Minimums und beobachten Sie, wohin sich der rote Punkt bewegt.

  5. Sum of Squared Errors (SSE)

    Als nächstes können Sie beobachten, wie die Fehlerfunktion mit gemessenen Daten zusammenhängt. Um eine mittels SSE berechnete Fehlerfunktion zu erhalten, klicken Sie auf den Button “SSE“. Im oberen Diagramm erscheint jetzt ein zufällig aus einer Gammaverteilung erzeugtes Häufigkeitsdiagramm. Die x-Achse des unteren Diagramms zeigt Werte, die ein Parameter der Gammafunktion annehmen kann. Probieren Sie verschiedene Parameter aus, indem Sie an die entsprechenden Stellen auf dem unteren Diagramm klicken. Beobachten Sie die dann angezeigte theoretische Verteilung im oberen Diagramm und finden Sie manuell den optimalen Fit.

  6. Maximum Likelihood Error (MLE)

    Eine weitere Möglichkeit die Fehlerfunktion zu berechnen ist der Maximum Likelihood Error. Dies sehen Sie bei einem Klick auf den Button „MLE“. Beachten Sie, dass die Funktion an der x-Achse gespiegelt wurde, da die Algorithmen zur Minimierung und nicht zur Maximierung von Funktionen vorgesehen sind. Gehen Sie die drei Fitting-Algorithmen der Reihe nach durch und wählen Sie jeweils verschiedene Startpunkte. Welcher Algorithmus findet das Minimum am zuverlässigsten?