Gradientenabstieg und konjugierter Gradientenabstieg

11

Für ein Projekt muss ich diese beiden Methoden implementieren und vergleichen, wie sie für verschiedene Funktionen funktionieren.

Es sieht so aus, als ob die konjugierte Gradientenmethode dazu gedacht ist, lineare Gleichungssysteme des for zu lösen

Ax=b

Wobei eine n-mal-n-Matrix ist, die symmetrisch, positiv-definitiv und real ist.A

Auf der anderen Seite, wenn ich gelesen Gradientenabfallsaktualisierung sehe ich das Beispiel der Funktion Rosenbrock- , das ist

f(x1,x2)=(1x1)2+100(x2x12)2

Aus meiner Sicht kann ich dies nicht mit einer konjugierten Gradientenmethode lösen. Oder vermisse ich etwas?

Philipp
quelle

Antworten:

14

Gradient Descent und die konjugierte Gradientenmethode sind beide Algorithmen zur Minimierung nichtlinearer Funktionen, dh Funktionen wie die Rosenbrock-Funktion

f(x1,x2)=(1x1)2+100(x2x12)2

oder eine multivariate quadratische Funktion (in diesem Fall mit einem symmetrischen quadratischen Term)

f(x)=12xTATAxbTAx.

Beide Algorithmen sind auch iterativ und suchrichtungsbasiert. Für den Rest dieses Beitrags sind und Vektoren der Länge ; und sind Skalare, und hochgestellte Zeichen bezeichnen den Iterationsindex. Der Gradientenabstieg und die konjugierte Gradientenmethode können verwendet werden, um den Wert zu finden, der gelöst wirdd n f ( x ) α x xdnf(x)αx

minf(x)

Beide Methoden beginnen mit einer anfänglichen Vermutung, , und berechnen dann die nächste Iteration unter Verwendung einer Funktion des Formularsx0

xi+1=xi+αidi.

Mit anderen Worten, der nächste Wert von wird gefunden, indem an der aktuellen Position und in der Suchrichtung für eine gewisse Entfernung bewegt wird . Bei beiden Methoden kann die zu bewegende Entfernung durch eine Liniensuche ermittelt werden (minimiere über ). Es können auch andere Kriterien angewendet werden. Wo sich die beiden Methoden unterscheiden, liegt in ihrer Wahl von . Für die Gradientenmethode ist . Für die konjugierte Gradientenmethode wird das Grahm-Schmidt-Verfahren verwendet, um die Gradientenvektoren zu orthogonalisieren. Insbesondere ist , aber dann ist gleichxxidiαif(xi+αidi)αididi=f(xi)d0=f(x0)d1f(x1) minus der Projektion dieses Vektors auf so dass . Jeder nachfolgende Gradientenvektor ist gegen alle vorherigen orthogonalisiert, was zu sehr schönen Eigenschaften für die obige quadratische Funktion führt.d0(d1)Td0=0

Die obige quadratische Funktion (und verwandte Formulierungen) ist auch , wo sich die Diskussion des Lösens die konjugierte Gradientenverfahren unter Verwendung kommt, da das Minimum des an dem Punkt erreicht wird , wo .f ( x ) x A x = bAx=bf(x)xAx=b

Elaine Hale
quelle
9

In diesem Zusammenhang können beide Methoden als Minimierungsprobleme der Funktion betrachtet werden: Wenn symmetrisch ist, wird minimiert, wenn .

ϕ(x)=12xTAxxTb
AϕAx=b

Gradientenabstieg ist die Methode, mit der iterativ nach einem Minimierer gesucht wird, indem in die Gradientenrichtung geschaut wird. Der konjugierte Gradient ist ähnlich, aber die Suchrichtungen müssen auch orthogonal zueinander sein, in dem Sinne, dass .piTApj=0i,j

Bill Barth
quelle