Gradientenabstieg

Inhaltsverzeichnis

Einführung

Der Gradientenabstieg ist ein iterativer Optimierungsalgorithmus, der den Vektor der Variablen \( \mathbf{x} = \begin{pmatrix} x_1 \\ x_2 \\ \dots \\ x_n \end{pmatrix} \) anpasst, um das lokale Minimum einer differenzierbaren Funktion \( f(\mathbf{x}) \) zu finden. Ausgehend von einem anfänglichen Schätzwert \( \mathbf{x}_0 \) für den Vektor \( \mathbf{x} \), verwendet der Algorithmus den Gradienten der Funktion, um Schritte in Richtung des Minimums zu unternehmen, gesteuert durch die Lernrate \( r \). Der Prozess wird fortgesetzt, bis die Änderungen der Werte von \( \mathbf{x} \) ausreichend klein sind, die Gradientenstärke nahe null ist oder ein anderes Abbruchkriterium erfüllt ist.

Aktualisierungsformel des Gradientenabstiegs

Die Kernidee des Gradientenabstiegs besteht darin, die Variablen iterativ anzupassen, um das Minimum einer Funktion zu finden. Diese Anpassung wird durch die Aktualisierungsformel geleitet: \[ \mathbf{x}_{k+1} = \mathbf{x}_k - r \nabla f(\mathbf{x}_k) \] wobei \( \mathbf{x} \) ein Vektor von Variablen ist, \( r \) eine positive Lernrate darstellt und \( \nabla f(\mathbf{x}_k) \) der Gradient der Funktion \( f \) an \( \mathbf{x} = \mathbf{x}_k \) ist, wobei: \[ \nabla f(\mathbf{x}) = \begin{pmatrix} \dfrac{\partial f}{\partial x_1} \\ \dfrac{\partial f}{\partial x_2} \\ \dots \\ \dfrac{\partial f}{\partial x_n}\\ \end{pmatrix} \]
Die Aktualisierungsformel basiert auf dem Konzept, dass der Gradient \( \nabla f(\mathbf{x}) \) in die Richtung des steilsten Anstiegs der Funktion \( f \) zeigt. Um \( f \) zu minimieren, bewegen wir uns in die entgegengesetzte Richtung des Gradienten. Die Lernrate \( r \) bestimmt die Größe der Schritte, die wir in dieser Richtung unternehmen.

Detaillierte Beschreibung des Gradientenabstiegs

1. Initialisierung:
- Beginnen Sie mit einem anfänglichen Schätzwert für den Vektor der Variablen \( \mathbf{x} \). Dieser anfängliche Wert sei \( \mathbf{x}_0 \).
- Wählen Sie eine Lernrate \( r \), die die Größe der Schritte in Richtung des Minimums steuert.
2. Berechnung des Gradienten:
- Für die Funktion \( f(\mathbf{x}) \) berechnen Sie den Gradienten \( \nabla f(\mathbf{x}) \).
- Bewerten Sie diesen Gradienten am aktuellen Wert von \( \mathbf{x} = \mathbf{x}_k \). Bezeichnen Sie den Gradienten in der Iteration \( k \) als \( \nabla f(\mathbf{x}_k) \).
3. Aktualisierungsregel:
- Verwenden Sie die Aktualisierungsformel, um die Werte von \( \mathbf{x} \) anzupassen: \[ \mathbf{x}_{k+1} = \mathbf{x}_k - r \nabla f(\mathbf{x}_k) \] - Hier ist \( \mathbf{x}_{k+1} \) der aktualisierte Wert von \( \mathbf{x} \) nach einer Iteration.
4. Iteration:
- Wiederholen Sie den Prozess der Berechnung des Gradienten und der Aktualisierung der Werte von \( \mathbf{x} \), bis ein Abbruchkriterium erfüllt ist. Das Abbruchkriterium kann sein:
- Eine maximale Anzahl von Iterationen. - Die Änderung der Werte von \( \mathbf{x} \) zwischen den Iterationen ist kleiner als ein vordefinierter Schwellenwert.
- Die Größe des Gradienten \( \|\nabla f(\mathbf{x}_k)\| \) ist kleiner als ein vordefinierter Schwellenwert.
5. Konvergenz:
- Sobald das Abbruchkriterium erfüllt ist, sollte der Wert von \( \mathbf{x} \) nahe dem Wert liegen, der die Funktion \( f(\mathbf{x}) \) minimiert.
Ein Rechner zur Visualisierung des Gradientenabstiegs Algorithmus ist enthalten und kann verwendet werden, um ein tiefes Verständnis des Algorithmus zu erlangen.
Ein weiterer Rechner für den Gradientenabstieg zur Untersuchung der Konvergenz ist ebenfalls enthalten.