Wir präsentieren einen interaktiven Rechner, um die Konvergenz des
Gradientenabstiegs-Algorithmus, angewendet auf eine Funktion in zwei Variablen \( f(x,y) \), zu visualisieren.
Der Gradientenabstiegsalgorithmus passt die Werte von \( x \) und \( y \) iterativ an, um das Minimum der Funktion \( f(x, y) \) zu finden. Ausgehend von Anfangswerten \( x_0 \) und \( y_0 \) verwendet er die Gradienten der Funktion, um Schritte in Richtung des Minimums zu machen, gesteuert durch die Lernrate \( r \). Der Prozess setzt sich fort, bis die Änderungen der Werte ausreichend klein sind oder ein anderes Abbruchkriterium erfüllt ist.
Hier ist eine schrittweise Beschreibung des Gradientenabstiegsprozesses für eine Funktion \( f(x, y) \) mit Anfangswerten \( x_0 \) und \( y_0 \) und einer Lernrate \( r \):
Beschreibung des Gradientenabstiegs
1. Initialisierung:
- Beginnen Sie mit einer anfänglichen Schätzung der Variablen \( x \) und \( y \). Lassen Sie diese Anfangswerte \( x_0 \) und \( y_0 \) sein.
- Wählen Sie eine Lernrate \( r \), die die Größe der Schritte in Richtung des Minimums steuert.
2. Berechnung der Gradienten:
- Für die Funktion \( f(x, y) \) berechnen Sie die partiellen Ableitungen nach \( x \) und \( y \):
\[
\dfrac{\partial f}{\partial x} \quad \text{und} \quad \dfrac{\partial f}{\partial y}
\]
- Werten Sie diese partiellen Ableitungen an den aktuellen Werten von \( x \) und \( y \) aus. Bezeichnen Sie diese Ableitungen als \( \dfrac{\partial f}{\partial x}(x_k, y_k) \) und \( \dfrac{\partial f}{\partial y}(x_k, y_k) \), wobei \( k \) der aktuelle Iterationsindex ist.
3. Aktualisierungsregeln:
- Passen Sie die Werte von \( x \) und \( y \) an, indem Sie in die Richtung entgegengesetzt zu den Gradienten gehen (da wir die Funktion minimieren):
\[
x_{k+1} = x_k - r \dfrac{\partial f}{\partial x}(x_k, y_k)
\]
\[
y_{k+1} = y_k - r \dfrac{\partial f}{\partial y}(x_k, y_k)
\]
- Hierbei sind \( x_{k+1} \) und \( y_{k+1} \) die aktualisierten Werte von \( x \) und \( y \) nach einer Iteration.
4. Iteration:
- Wiederholen Sie den Prozess der Berechnung der Gradienten und der Aktualisierung der Werte von \( x \) und \( y \), bis ein Abbruchkriterium erfüllt ist. Das Abbruchkriterium kann sein:
- Eine maximale Anzahl von Iterationen.
- Die Änderung der Werte von \( x \) und \( y \) zwischen den Iterationen ist kleiner als ein vordefinierter Schwellenwert.
- Die Gradientenbeträge \( \dfrac{\partial f}{\partial x}(x_k, y_k) \) und \( \dfrac{\partial f}{\partial y}(x_k, y_k) \) sind kleiner als ein vordefinierter Schwellenwert.
5. Konvergenz:
- Sobald das Abbruchkriterium erfüllt ist, sollten die Werte von \( x \) und \( y \) nahe an den Werten liegen, die die Funktion \( f(x, y) \) minimieren.
Ein weiterer Gradientenabstiegsrechner zur Untersuchung der Konvergenz ist ebenfalls enthalten.
Verwendung des Rechners
Dieser Rechner dient ausschließlich zu Bildungszwecken, um den Gradientenabstiegsalgorithmus zu visualisieren. Daher wäre es eine gute Idee, Funktionen einzugeben, die tatsächlich einen minimalen Wert haben, und Anfangswerte zum Beispiel grafisch zu bestimmen.
Geben Sie die Funktion \( f(x,y) \), die Anfangswerte \( x_0 \) und \( y_0 \) von \( x \) und \( y \) sowie die Lernrate \( r \) ein.
Die Ausgaben sind:
1) Die partiellen Ableitungen \(
\dfrac{\partial f}{\partial x} \; \text{und} \; \dfrac{\partial f}{\partial y}
\) von \( f(x,y) \)
2) Die Schrittzahl sowie die aktualisierten Werte von \( x \) und \( y \),
3) Die Werte der partiellen Ableitungen an den aktualisierten Werten von \( x \) und \( y \) werden angezeigt.
4) Ein Diagramm aller aktualisierten Werte von \( x \) und \( y \).
5) Eine Tabelle mit \( x \) und \( y \), Werten der partiellen Ableitungen sowie dem Wert von \( f(x,y) \) wird als Ausgabe präsentiert.
Hinweis aus der untenstehenden Wertetabelle ist ersichtlich, dass bei Konvergenz die partiellen Ableitungen \(
\dfrac{\partial f}{\partial x} \; \text{und} \; \dfrac{\partial f}{\partial y}
\) gegen null tendieren und \( f(x,y) \) seinen lokalen Minimalwert erreicht.