Gradient Descent ist ein Algorithmus zur Minimierung einer differenzierbaren Funktion, indem wiederholt Schritte in die Richtung gemacht werden, in der sie lokal am stärksten abnimmt. Wenn du nach „Was ist Gradient Descent?“ suchst, ist die Grundidee einfach: die Steigung berechnen, ein Stück bergab gehen und das Ganze wiederholen.

Er wird häufig in der Optimierung mit Methoden der Analysis und im maschinellen Lernen verwendet. Das Verfahren funktioniert am besten, wenn du eine Ableitung oder einen Gradienten berechnen kannst und eine Lernrate wählst, die klein genug für Stabilität, aber groß genug für Fortschritt ist.

Bei einer Variablen lautet die Aktualisierungsregel

xk+1=xkηf(xk),x_{k+1} = x_k - \eta f'(x_k),

und bei mehreren Variablen wird daraus

xk+1=xkηf(xk),\mathbf{x}_{k+1} = \mathbf{x}_k - \eta \nabla f(\mathbf{x}_k),

wobei η>0\eta > 0 die Lernrate ist. Die Lernrate steuert, wie weit jeder Schritt geht, und beeinflusst daher direkt, ob der Algorithmus konvergiert, stehen bleibt oder überschießt.

Intuition hinter Gradient Descent

Der Gradient zeigt bergauf. Wenn dein Ziel die Minimierung ist, ist der natürliche lokale Schritt also, in die andere Richtung zu gehen.

Diese lokale Regel garantiert nicht in jedem Problem die bestmögliche Lösung. Bei einer konvexen Funktion kann Gradient Descent zum globalen Minimum führen. Bei einer nichtkonvexen Funktion kann das Verfahren bei einem lokalen Minimum, in einem flachen Bereich oder an einem anderen stationären Punkt enden.

So funktioniert der Gradient-Descent-Algorithmus

Jede Iteration nutzt die aktuelle Steigungsinformation, aktualisiert den Punkt und prüft, ob weitergemacht werden soll.

  1. Starte mit einer Anfangsschätzung x0x_0 oder x0\mathbf{x}_0.
  2. Berechne die Ableitung oder den Gradienten am aktuellen Punkt.
  3. Aktualisiere, indem du η\eta mal diese Ableitung oder diesen Gradienten subtrahierst.
  4. Stoppe, wenn der Gradient klein ist, die Aktualisierungen sehr klein werden oder ein festgelegtes Iterationslimit erreicht ist.

Die Standard-Aktualisierungsregel setzt voraus, dass die Zielfunktion an den verwendeten Punkten differenzierbar ist. Manche Optimierungsmethoden verwenden Subgradienten für nichtglatte Probleme, aber das ist ein anderer Ansatz.

Warum die Lernrate bei Gradient Descent wichtig ist

Die Lernrate η\eta ist die Schrittweite.

Ist η\eta zu klein, bewegt sich Gradient Descent meist in die richtige Richtung, kann aber quälend langsam sein. Ist η\eta zu groß, können die Aktualisierungen über das Minimum hinausschießen, hin- und herspringen oder sogar divergieren.

Besonders deutlich sieht man diesen Zielkonflikt bei einer quadratischen Funktion, bei der die Steigung größer wird, je weiter man sich vom Minimum entfernt. Eine Schrittweite, die an einer Stelle sicher wirkt, kann an einer anderen schon zu aggressiv sein.

Durchgerechnetes Beispiel: Gradient Descent bei einer quadratischen Funktion

Betrachte

f(x)=(x3)2.f(x) = (x-3)^2.

Diese Funktion hat ihr Minimum bei x=3x=3. Ihre Ableitung ist

f(x)=2(x3).f'(x) = 2(x-3).

Verwende Gradient Descent mit der Lernrate η=0.1\eta = 0.1 und dem Startpunkt x0=0x_0 = 0.

Dann lautet die Aktualisierungsregel

xk+1=xk0.12(xk3)=xk0.2(xk3).x_{k+1} = x_k - 0.1 \cdot 2(x_k-3) = x_k - 0.2(x_k-3).

Ausgehend von x0=0x_0 = 0 gilt:

x1=00.2(03)=0.6.x_1 = 0 - 0.2(0-3) = 0.6.

Dann

x2=0.60.2(0.63)=1.08.x_2 = 0.6 - 0.2(0.6-3) = 1.08.

und

x3=1.080.2(1.083)=1.464.x_3 = 1.08 - 0.2(1.08-3) = 1.464.

Jeder Schritt bringt den Wert näher an 33, und der Funktionswert sinkt jedes Mal. Das ist das wichtigste Muster: Gradient Descent springt nicht direkt zur Lösung. Stattdessen verbessert das Verfahren die Schätzung durch wiederholte lokale Korrekturen.

Häufige Varianten von Gradient Descent

Batch Gradient Descent

Batch Gradient Descent verwendet den gesamten Datensatz, um jede Aktualisierung zu berechnen. Für eine feste Zielfunktion ergibt das einen deterministischen Schritt, kann aber bei großen Datensätzen teuer sein.

Stochastic Gradient Descent

Stochastic Gradient Descent aktualisiert mit nur einem einzelnen Beispiel pro Schritt. Jeder Schritt ist günstiger, aber auch verrauschter. Dieses Rauschen kann helfen, dass das Verfahren in Bewegung bleibt, macht den Verlauf aber auch weniger glatt.

Mini-Batch Gradient Descent

Mini-Batch Gradient Descent verwendet pro Schritt eine kleine Gruppe von Beispielen. Das ist oft ein praktischer Kompromiss, weil es das Rauschen gegenüber rein stochastischen Aktualisierungen reduziert und dennoch deutlich günstiger bleibt als vollständige Batch-Aktualisierungen.

Diese Varianten sind vor allem im maschinellen Lernen wichtig, wo die Zielfunktion oft ein mittlerer Verlust über viele Trainingsbeispiele ist.

Häufige Fehler bei Gradient Descent

Die Lernrate als bloße Nebensache behandeln

Wenn du η\eta änderst, ändert sich das Verhalten des Algorithmus selbst. Ein Verfahren, das für eine Lernrate konvergiert, kann bei einer anderen scheitern.

Annehmen, dass Gradient Descent immer das globale Minimum findet

Für diese Schlussfolgerung braucht man Bedingungen. Konvexität liefert zum Beispiel deutlich stärkere Garantien als eine allgemeine nichtkonvexe Landschaft.

Die Skalierung von Merkmalen in angewandten Problemen ignorieren

In Optimierungsproblemen mit schlecht skalierten Variablen kann sich eine Richtung viel schneller ändern als eine andere. Gradient Descent kann dann im Zickzack verlaufen und langsam konvergieren, wenn das Problem nicht umformuliert oder sorgfältiger skaliert wird.

Nur deshalb stoppen, weil der Gradient nicht exakt null ist

Numerische Algorithmen warten selten auf eine perfekte Null. Praktische Abbruchregeln prüfen meist, ob die Norm des Gradienten, die Parameteränderung oder die Änderung der Zielfunktion klein genug ist.

Wann Gradient Descent verwendet wird

Gradient Descent wird in der numerischen Optimierung, in der Statistik und im maschinellen Lernen verwendet. Besonders häufig ist das Verfahren dann, wenn keine exakte geschlossene Lösung verfügbar ist oder ihre direkte Berechnung zu aufwendig wäre.

Bei kleinen Problemen mit einfachen Formeln kann die Analysis das Minimum exakt liefern. Gradient Descent wird nützlicher, wenn der Parameterraum groß ist, die Zielfunktion viele Variablen hat oder der Verlust aus großen Datensätzen stammt.

Probiere ein ähnliches Problem aus

Probiere deine eigene Variante mit f(x)=(x5)2f(x) = (x-5)^2 und dem Startpunkt x0=12x_0 = 12 aus. Rechne einen Fall mit η=0.1\eta = 0.1 und einen weiteren mit η=1.2\eta = 1.2. Wenn du einen stabilen und einen instabilen Verlauf siehst, wird die Rolle der Lernrate viel klarer als nur durch die Formel.

Brauchst du Hilfe bei einer Aufgabe?

Lade deine Frage hoch und erhalte in Sekunden eine verifizierte Schritt-für-Schritt-Lösung.

GPAI Solver öffnen →