Im allgemeinen Einstellung des Gradientenabstiegsalgorithmus haben wir wobei x n ist der aktuelle Punkt, η ist die Schrittgröße und g r a d i e n t x n ist der bei x n bewertete Gradient .
Ich habe in einigen Algorithmen gesehen, dass die Leute normalisierte Farbverläufe anstelle von Farbverläufen verwenden . Ich wollte wissen, was der Unterschied in der Verwendung von normalisierten Farbverläufen und einfachen Farbverläufen ist .
algorithms
optimization
Lerner
quelle
quelle
Antworten:
3] Wenn Sie möchten, dass die Größe des Verlaufs die Schrittweite bestimmt, verwenden Sie eine nicht normalisierte Verlaufsabnahme. Es gibt mehrere andere Varianten, bei denen Sie die Größe des Verlaufs die Schrittgröße bestimmen lassen können, aber Sie setzen eine Kappe darauf und so weiter.
Nun hat die Schrittgröße einen deutlichen Einfluss auf die Geschwindigkeit der Konvergenz und Stabilität. Welche der oben genannten Schrittgrößen am besten funktioniert, hängt ausschließlich von Ihrer Anwendung (dh der Zielfunktion) ab. In bestimmten Fällen kann der Zusammenhang zwischen Konvergenzgeschwindigkeit, Stabilität und Schrittweite analysiert werden. Diese Beziehung kann dann einen Hinweis darauf geben, ob Sie mit normalisierter oder nicht normalisierter Gradientenabnahme fahren möchten.
Zusammenfassend gibt es keinen Unterschied zwischen normalisierter und nicht normalisierter Gradientenabnahme (soweit die Theorie hinter dem Algorithmus geht). Dies hat jedoch praktische Auswirkungen auf die Geschwindigkeit der Konvergenz und Stabilität. Die Wahl des einen über das andere richtet sich ausschließlich nach der jeweiligen Anwendung / Zielsetzung.
quelle
Was wirklich zählt, ist wieη ist ausgewählt. Es spielt keine Rolle, ob Sie den normalisierten Verlauf oder den nicht normalisierten Verlauf verwenden, wenn die Schrittgröße so ausgewählt ist, dass die Länge von festgelegt wirdη mal den gradienten gleich.
quelle
Welche Methode eine schnellere Konvergenz aufweist, hängt von Ihrem spezifischen Ziel ab, und im Allgemeinen verwende ich den normalisierten Gradienten. Ein gutes Beispiel dafür, warum Sie dies tun möchten, ist ein einfaches Quadrat:f( x ) = xTx . In diesem Fall kann die ODE, die eine gegebene Gradientenabstiegstrajektorie beschreibt (wenn sich die Schrittgröße Null nähert), analytisch bestimmt werden:y( t ) = x0/ | | x0| | ∗ e- t . Die Norm des Gradienten nimmt also exponentiell schnell ab, wenn Sie sich dem kritischen Punkt nähern. In solchen Fällen ist es oft besser, ein paar Mal hin und her zu hüpfen, als sich sehr langsam zu nähern. Im Allgemeinen haben Methoden erster Ordnung jedoch eine sehr langsame Konvergenz um die kritischen Punkte, so dass Sie sie nicht wirklich verwenden sollten, wenn Sie sich wirklich um die Genauigkeit kümmern. Wenn Sie das Hessische Ihres Ziels nicht analytisch berechnen können, können Sie es dennoch approximieren (BFGS).
quelle