Gradientenabstiegsrechner

Inhaltsverzeichnis

Ein Gradientenabstiegsrechner des linearen Regressionsmodells \(y = ax + b\) wird vorgestellt. Die Werte der Koeffizienten \(a\) und \(b\) werden mit denen verglichen, die mit der analytischen Methode basierend auf der linearen Methode der kleinsten Quadrate berechnet wurden. Vergleiche der Ergebnisse werden ebenfalls zu Bildungszwecken präsentiert.
Nehmen wir an, wir haben einen Datensatz von \(n\) Datenpunkten \( (x_i , y_i) \) und wir müssen ein lineares Modell der Form \(y = ax + b\) finden, indem wir die Summe minimieren \[ \Sigma^{n}_{i=1}(y_i - (a \cdot x_i + b))^2 \] Dies ist die Summe der Abstände zwischen den Datenpunkten und den Punkten auf dem linearen Modell, wie unten gezeigt. Lineares Modell Hinweis Die Summe der Quadrate wird aus praktischen Gründen bei der Berechnung von partiellen Ableitungen und anderen analytischen Berechnungen anstelle des Absolutwerts verwendet.
Wir präsentieren nun zwei Methoden zur Berechnung der Koeffizienten \( a \) und \( b \) im linearen Modell.

Gradientenabstiegsverfahren

Das Gradientenabstiegsverfahren ist ein iterativer Optimierungsalgorithmus, der die Parameter \(a\) und \(b\) durch Minimierung der Kostenfunktion findet, die definiert ist durch:

\[ J(a, b) = (1/2n) \Sigma^{n}_{i=1}(y_i - (a \cdot x_i + b))^2 \] Deren partielle Ableitungen, die in den Aktualisierungsregeln benötigt werden, sind gegeben durch: \[ \dfrac{\partial J}{\partial a} = (1/n) \Sigma^{n}_{i=1}(- x_i (y_i - (a x_i + b))) \] \[ \dfrac{\partial J}{\partial b} = (1/n) \Sigma^{n}_{i=1}(-(y_i - (a x_i + b ))) \]

Die Aktualisierungsregeln für die Parameter \( a \) und \( b \) sind:

\[ a_{k+1} = a_k - r \dfrac{\partial J}{\partial a}|_{a=a_k,b=b_k} = a_k - r (1/n) \Sigma^{n}_{i=1}(-x_i (y_i - (a_k * x_i + b_k))) \] \[ b_{k+1} = b_k - r \dfrac{\partial J}{\partial b}|_{a=a_k,b=b_k} = b_k - r (1/n) \Sigma^{n}_{i=1}(-(y_i - (a_k x_i + b_k))) \] Wo:

Lineare Methode der kleinsten Quadrate

Die analytische Methode, die auf der linearen Methode der kleinsten Quadrate basiert, verwendet geschlossene Formeln, die aus der Minimierung der Summe der quadratischen Fehler abgeleitet werden. Die Formeln für die Parameter \(a\) und \(b\) lauten:

\[ a = \dfrac{(n \cdot \displaystyle \Sigma^{n}_{i=1} (x_i \cdot y_i) - \Sigma^{n}_{i=1} x_i \cdot \Sigma^{n}_{i=1} y_i)}{ (n \cdot \Sigma^{n}_{i=1} (x_i^2) - (\Sigma^{n}_{i=1}x_i)^2) } \] \[ b = \dfrac{(\Sigma^{n}_{i=1}y_i - a \cdot \Sigma^{n}_{i=1}x_i) }{ n } \]

Verwendung des Rechners

Der Zweck dieses Rechners ist es, die Auswirkungen der Lernrate \( r \) und der Anfangswerte der Koeffizienten \( a \) und \( b \) auf die Konvergenz des Iterationsprozesses basierend auf dem Algorithmus (Aktualisierungsformeln) des Gradientenabstiegs zu untersuchen.
Geben Sie die Anzahl der Punkte \( n \) ein und klicken Sie auf "Punkte generieren", was \( n \) Punkte zufällig generiert. Untersuchen Sie für verschiedene Werte von \( r \), \( a_0 \) und \( b_0 \).
Der Iterationsprozess konvergiert zu den Lösungen, wenn die partiellen Ableitungen \( \dfrac{\partial J}{\partial a} \) und \( \dfrac{\partial J}{\partial b} \) gegen null gehen.
Die maximale Anzahl von Iterationen kann bei Bedarf erhöht werden, aber die Berechnungen könnten Zeit in Anspruch nehmen.
Streudiagramm (rot) der Datenpunkte sowie das Diagramm von \( y = ax + b \) in Blau für das Gradientenabstiegsverfahren und Grün für die Methode der kleinsten Quadrate.

Geben Sie die Anzahl der Punkte ein: \( n = \)

Epochen (maximale Anzahl der Iterationen):
Lernrate \( r \):
Anfangswert von \( a \): \(a_0 = \)
Anfangswert von \( b \): \(b_0 = \)

Ausgaben

\( \dfrac{\partial J}{\partial a} \) =

\( \dfrac{\partial J}{\partial b} \) =

Ergebnisse des Gradientenabstiegsverfahrens:

\(a = \)

\(b = \)

Ergebnisse der Methode der kleinsten Quadrate (Verwendung der Formeln für \( a \) und \( b \) oben):

\(a = \)

\(b = \)

Minimalwert der Kostenfunktion \( J(a, b) \):

Graph Legende: Blau für Gradientenabstieg     Grün für die Methode der kleinsten Quadrate.