Bevor wir uns mit dem Gradientenabstieg befassen, kann es hilfreich sein, sich einige Konzepte der linearen Regression genauer anzusehen. Sie erinnern sich vielleicht an die folgende Formel für die Steigung einer Linie: y = mx + b, wobei m für die Steigung und b für den Achsenabschnitt auf der y-Achse steht.
Vielleicht erinnern Sie sich auch an die Erstellung eines Streudiagramms im Fach Statistik und die Suche nach der Linie der besten Anpassung, bei der der Fehler zwischen dem tatsächlichen und dem vorhergesagten Ergebnis (y-hat) mit Hilfe der Formel für den mittleren quadratischen Fehler berechnet werden musste. Der Algorithmus für den Gradientenabstieg verhält sich ähnlich, basiert jedoch auf einer konvexen Funktion.
Der Ausgangspunkt ist nur ein willkürlicher Punkt, an dem wir die Leistung bewerten können. An diesem Ausgangspunkt finden wir die Ableitung (oder Steigung) und von dort aus können wir eine Tangente verwenden, um zu beobachten, wie steil die Steigung ist. Die Steigung dient als Grundlage für die Aktualisierung der Modellparameter – also der Gewichtungen und der Verzerrung. Die Steigung am Startpunkt ist steiler, aber wenn neue Parameter generiert werden, nimmt die Steigung allmählich ab, bis sie den tiefsten Punkt der Kurve erreicht, den Konvergenzpunkt.
Ähnlich wie bei der Suche nach der besten Anpassungslinie bei der linearen Regression besteht das Ziel des Gradientenabstiegs darin, die Kostenfunktion oder den Fehler zwischen dem vorhergesagten und dem tatsächlichen y zu minimieren. Dafür sind zwei Datenpunkte erforderlich: eine Richtung und eine Lernrate. Diese Faktoren bestimmen die partiellen Ableitungsberechnungen zukünftiger Iterationen und ermöglichen es, schrittweise das lokale oder globale Minimum (d. h. den Konvergenzpunkt) zu erreichen.
- Die Lernrate (auch Schrittgröße oder Alpha genannt) ist die Größe der Schritte, die zum Erreichen des Minimums ausgeführt werden. Dabei handelt es sich in der Regel um einen kleinen Wert, der anhand des Verhaltens der Kostenfunktion ausgewertet und aktualisiert wird. Hohe Lernraten führen zu größeren Schritten, bergen aber das Risiko, dass das Minimum überschritten wird. Umgekehrt hat eine niedrige Lernrate kleine Schrittgrößen. Dies hat zwar den Vorteil einer höheren Genauigkeit, aber die Anzahl der Iterationen beeinträchtigt die Gesamteffizienz, da mehr Zeit und Berechnungen aufgewendet werden müssen, um das Minimum zu erreichen.
- Die Kostenfunktion (oder Verlustfunktion) misst die Differenz oder den Fehler zwischen dem tatsächlichen Y und dem vorhergesagten Y an seiner aktuellen Position. Das verbessert die Effizienz des Modells für maschinelles Lernen, indem dem Modell Feedback gegeben wird, damit es die Parameter anpassen kann, um den Fehler zu minimieren und das lokale oder globale Minimum zu finden. Es wird kontinuierlich iteriert, wobei man sich entlang der Richtung des steilsten Abstiegs (oder des negativen Gradienten) bewegt, bis die Kostenfunktion nahe bei oder bei Null liegt. An diesem Punkt hört das Modell auf zu lernen. Darüber hinaus werden die Begriffe Kostenfunktion und Verlustfunktion zwar als Synonyme betrachtet, sie unterscheiden sich jedoch geringfügig. Es ist wichtig zu wissen, dass sich eine Verlustfunktion auf den Fehler eines einzelnen Trainingsbeispiels bezieht, während eine Kostenfunktion den durchschnittlichen Fehler über einen gesamten Trainingssatz berechnet.