Bestimmen Sie die optimale Lernrate für den Gradientenabstieg in der linearen Regression

9

Wie kann man die optimale Lernrate für den Gradientenabstieg bestimmen? Ich denke, ich könnte es automatisch anpassen, wenn die Kostenfunktion einen größeren Wert als in der vorherigen Iteration zurückgibt (der Algorithmus konvergiert nicht), aber ich bin mir nicht sicher, welchen neuen Wert er annehmen soll.

Valentin Radu
quelle
willamette.edu/~gorr/classes/cs449/momrate.html Versuch des Temperns mit einer Form der lokalen Ratenanpassung : µ (t) = µ (0) / (1 + t / T); Inkrementiere t, wenn sich das Vorzeichen des Fehlers ändert.
Chris

Antworten:

2

(Jahre später) die Schrittgrößenmethode von Barzilai-Borwein nachschlagen; onmyphd.com hat eine schöne 3-seitige Beschreibung. Der Autor sagt

Dieser Ansatz funktioniert auch bei großen Dimensionsproblemen gut

aber es ist schrecklich für sein Applet der 2d Rosenbrock-Funktion. Wenn jemand Barzilai-Borwein verwendet, kommentieren Sie bitte.

denis
quelle
1

Du bist auf dem richtigen Weg. Ein üblicher Ansatz besteht darin, die Schrittgröße zu verdoppeln, wenn Sie einen erfolgreichen Abfahrtsschritt ausführen, und die Schrittgröße zu halbieren, wenn Sie versehentlich "zu weit" gehen. Sie könnten natürlich um einen anderen Faktor als 2 skalieren, aber das macht im Allgemeinen keinen großen Unterschied.

Anspruchsvollere Optimierungsmethoden beschleunigen wahrscheinlich die Konvergenz erheblich. Wenn Sie jedoch aus irgendeinem Grund ein eigenes Update durchführen müssen, ist das oben Genannte attraktiv einfach und oft gut genug.

Drew
quelle
Ich dachte auch daran, mit zwei zu multiplizieren / zu teilen. Ich bin jedoch besorgt, dass das Multiplizieren mit zwei bei jedem erfolgreichen Schritt zu viel mehr Iterationen führen wird. Ich hatte gehofft, dass es eine Möglichkeit gibt, dies mithilfe des Gefälles zu tun, da es einige Informationen darüber liefert, wie steil der Hang ist.
Valentin Radu
Es erscheint mir nicht plausibel, dass Sie solche Informationen aus dem Farbverlauf erhalten können. Der Verlauf allein sagt Ihnen nicht, wie weit Sie vom Optimum entfernt sind und was wichtiger ist - wie ändert sich der Verlauf selbst, wenn sich ändert. Dafür brauchst du einen Hessischen. x
sjm.majewski
Wenn Sie es mit einem zugrunde liegenden stationären Prozess zu tun haben, wird die maximale Lernrate vom Spektrum der Korrelationsmatrix bestimmt, oder?
Heller Stern