www.wikidata.de-de.nina.az
Das Gradientenverfahren wird in der Numerik eingesetzt um allgemeine Optimierungsprobleme zu losen Dabei schreitet man am Beispiel eines Minimierungsproblems von einem Startpunkt aus entlang einer Abstiegsrichtung bis keine numerische Verbesserung mehr erzielt wird Wahlt man als Abstiegsrichtung den negativen Gradienten also die Richtung des lokal steilsten Abstiegs erhalt man das Verfahren des steilsten Abstiegs welches nicht zu verwechseln ist mit einem weiteren Verfahren in der Analysis und asymptotischen Analysis unter demselben Namen Methode des steilsten Abstiegs Manchmal werden die Begriffe Gradientenverfahren und Verfahren des steilsten Abstiegs synonym verwendet Im Allgemeinen bezeichnet Gradientenverfahren eine Optimierungsmethode bei der die Abstiegsrichtung durch Gradienteninformation gewonnen wird also nicht notwendigerweise auf den negativen Gradienten beschrankt ist 1 Das Verfahren des steilsten Abstiegs konvergiert oftmals sehr langsam da es sich dem stationaren Punkt mit einem starken Zickzack Kurs nahert Andere Verfahren fur die Berechnung der Abstiegsrichtung erreichen teils deutlich bessere Konvergenzgeschwindigkeiten so bietet sich fur die Losung von symmetrisch positiv definiten linearen Gleichungssystemen beispielsweise das Verfahren der konjugierten Gradienten an Der Gradientenabstieg ist mit dem Bergsteigeralgorithmus hill climbing verwandt Inhaltsverzeichnis 1 Das Optimierungsproblem 2 Das Verfahren 2 1 Bestimmen der Abstiegsrichtung 2 2 Bestimmen der Schrittweite 2 2 1 Armijo Bedingung 2 2 2 Backtracking Liniensuche 3 Konvergenz 4 Beispiel 5 Siehe auch 6 Literatur 7 EinzelnachweiseDas Optimierungsproblem BearbeitenDas Gradientenverfahren ist einsetzbar um eine reellwertige differenzierbare Funktion f R n R displaystyle f colon mathbb R n rightarrow mathbb R nbsp zu minimieren min x R n f x displaystyle underset x in mathbb R n min f x nbsp Hierbei handelt es sich um ein Problem der Optimierung ohne Nebenbedingungen auch unrestringiertes Optimierungsproblem genannt Das Verfahren BearbeitenDas Gradientenverfahren generiert ausgehend von einem Startpunkt x 0 R n displaystyle x 0 in mathbb R n nbsp eine Folge von Punkten x k R n displaystyle x k in mathbb R n nbsp gemass der Iterationsvorschrift x k 1 x k a k d k k 0 1 displaystyle x k 1 x k alpha k d k quad k 0 1 ldots nbsp wobei a k gt 0 displaystyle alpha k gt 0 nbsp eine positive Schrittweite ist und d k R n displaystyle d k in mathbb R n nbsp eine Abstiegsrichtung Dabei werden sowohl a k displaystyle alpha k nbsp als auch d k displaystyle d k nbsp in jedem Iterationsschritt so bestimmt dass die Folge x k displaystyle x k nbsp zu einem stationaren Punkt von f displaystyle f nbsp konvergiert Bestimmen der Abstiegsrichtung Bearbeiten nbsp Abstiegsrichtungen d i displaystyle d i nbsp haben einen Winkel grosser als 90 mit dem Gradienten im Punkt x displaystyle x nbsp Die strichlierte Gerade ist die Tangente an die Isolinie der zweidimensionalen Funktion sie stellt den Grenzfall dar bei dem der Winkel mit dem Gradient 90 betragt Die Abstiegsrichtung d 2 displaystyle d 2 nbsp zeigt in Richtung des negativen Gradienten d h in Richtung des steilsten Abstiegs Eine Abstiegsrichtung im Punkt x k displaystyle x k nbsp ist ein Vektor d k displaystyle d k nbsp der f x k T d k lt 0 displaystyle left nabla f x k right T d k lt 0 nbsp erfullt Intuitiv bedeutet das dass der Winkel zwischen f x k displaystyle nabla f x k nbsp und d k displaystyle d k nbsp grosser als 90 ist Da der Gradient f x k displaystyle nabla f x k nbsp in Richtung des steilsten Anstiegs zeigt ist d k displaystyle d k nbsp eine Richtung entlang derer sich der Funktionswert verringert Viele Gradientenmethoden berechnen die Abstiegsrichtung anhand d k D k f x k displaystyle d k D k nabla f x k nbsp wobei D k displaystyle D k nbsp eine positiv definite Matrix ist In diesem Fall lautet die Bedingung fur die Abstiegsrichtung f x k T D k f x k lt 0 displaystyle left nabla f x k right T left D k right nabla f x k lt 0 nbsp und ist dank der positiven Definitheit von D k displaystyle D k nbsp immer erfullt Mit der Wahl der Matrix D k displaystyle D k nbsp erhalt man folgende Algorithmen D k I displaystyle D k I nbsp wobei I displaystyle I nbsp die Einheitsmatrix ist ergibt das Verfahren des steilsten Abstiegs Die Abstiegsrichtung ist in diesem Fall einfach der negative Gradient d k f x k displaystyle d k nabla f x k nbsp D k a 1 0 0 0 a 2 0 0 0 a n displaystyle D k begin bmatrix a 1 amp 0 amp cdots amp 0 0 amp a 2 amp ddots amp vdots vdots amp ddots amp ddots amp 0 0 amp cdots amp 0 amp a n end bmatrix nbsp wobei a i gt 0 i 1 n displaystyle a i gt 0 i 1 ldots n nbsp sodass D k displaystyle D k nbsp positiv definit ist ist ein diagonal skalierter steilster Abstieg Oft werden die a i displaystyle a i nbsp als Approximation der Inversen der 2 Ableitung gewahlt also a i 2 f x k x i 2 1 displaystyle a i approx left frac partial 2 f x k left partial x i right 2 right 1 nbsp D k 2 f x k 1 displaystyle D k left nabla 2 f x k right 1 nbsp die Inverse Hesse Matrix ergibt das Newton Verfahren fur die Losung nichtlinearer Minimierungsprobleme Da die Berechnung der Hesse Matrix oft aufwandig ist gibt es eine Klasse von Algorithmen welche eine Approximation D k 2 f x 1 displaystyle D k approx left nabla 2 f x right 1 nbsp verwenden Solche Methoden werden als Quasi Newton Verfahren bezeichnet es gibt verschiedene Arten wie die Approximation berechnet wird Ein wichtiger Vertreter aus der Klasse der Quasi Newton Methoden ist der BFGS Algorithmus Falls das Optimierungsproblem in der speziellen Formmin x R n f x 2 i 1 m f i x 2 displaystyle min x in mathbb R n left f x 2 sum i 1 m left f i x right 2 right nbsp dd also als Summe von Quadraten von Funktionen gegeben ist erhalt man mit D k J T J 1 displaystyle D k left J T J right 1 nbsp wobei J displaystyle J nbsp die Jacobi Matrix von f displaystyle f nbsp im Punkt x k displaystyle x k nbsp ist das Gauss Newton Verfahren Bestimmen der Schrittweite Bearbeiten Die Bestimmung der Schrittweite a k displaystyle alpha k nbsp ist ein wichtiger Teil des Gradientenverfahren der grossen Einfluss auf die Konvergenz haben kann Ausgehend vom Iterationsschritt x k 1 x k a k d k displaystyle x k 1 x k alpha k d k nbsp betrachtet man den Wert von f displaystyle f nbsp entlang der Linie x k a d k displaystyle x k alpha d k nbsp also f a f x k a d k displaystyle f alpha f x k alpha d k nbsp Man spricht in diesem Zusammenhang oft auch von Liniensuche Die ideale Wahl ware es die Schrittweite als jenen Wert zu berechnen der die Funktion f a displaystyle f alpha nbsp minimiert also das eindimensionale Problem min a gt 0 f a f x k a d k displaystyle min alpha gt 0 left f alpha f x k alpha d k right nbsp zu losen Dies wird als exakte Liniensuche bezeichnet und wird in dieser Form in der Praxis selten angewandt da selbst fur einfache Optimierungsprobleme die exakte Bestimmung der Schrittweite sehr rechenaufwandig ist Als Alternative zur exakten Liniensuche lockert man die Erfordernisse und beschrankt sich darauf dass der Funktionswert sich mit jedem Iterationsschritt genugend verringert Dies wird auch als inexakte Liniensuche bezeichnet Die einfachste Moglichkeit besteht darin die Schrittweite a displaystyle alpha nbsp ausgehend von einem Startwert z B a 1 displaystyle alpha 1 nbsp so lange zu verringern bis f x k 1 f x k a d k lt f x k displaystyle f x k 1 f x k alpha d k lt f x k nbsp erreicht ist Diese Methode funktioniert in der Praxis oft zufriedenstellend man kann jedoch zeigen dass fur manche pathologischen Funktionen diese Liniensuche zwar in jedem Schritt den Funktionswert verringert die Folge x k displaystyle x k nbsp jedoch nicht zu einem stationaren Punkt konvergiert Armijo Bedingung Bearbeiten Die Armijo Bedingung formalisiert das Konzept genugend in der geforderten Verringerung des Funktionswertes Die Bedingung f x k a d k lt f x k displaystyle f x k alpha d k lt f x k nbsp wird modifiziert zu f x k a d k f x k s a f x k T d k displaystyle f x k alpha d k leq f x k sigma alpha left nabla f x k right T d k nbsp mit s 0 1 displaystyle sigma in 0 1 nbsp Die Armijo Bedingung umgeht die Konvergenzprobleme aus der vorigen einfachen Bedingung indem sie fordert dass die Verringerung zumindest proportional zur Schrittweite und zur Richtungsableitung f x k T d k displaystyle left nabla f x k right T d k nbsp ist mit Proportionalitatskonstante s displaystyle sigma nbsp In der Praxis werden oft sehr kleine Werte verwendet z B s 10 4 displaystyle sigma 10 4 nbsp Backtracking Liniensuche Bearbeiten Die Armijo Bedingung gilt immer dann wenn die Schrittweite genugend klein ist und kann damit zum Stillstand des Gradientenverfahrens fuhren der Schritt ist so klein dass kein nennenswerter Fortschritt mehr gemacht wird Eine einfache Kombination aus wiederholter Verkleinerung der Schrittweite und der Armijo Bedingung ist die Backtracking Liniensuche Sie stellt sicher dass die Schrittweite klein genug ist um die Armijo Bedingung zu erfullen andererseits aber nicht zu klein In Pseudocode Wahle Startwert fur a displaystyle alpha nbsp z B a 1 displaystyle alpha 1 nbsp wahle Konstanten s 0 1 r 0 1 displaystyle sigma in 0 1 rho in 0 1 nbsp while f x k a d k gt f x k s a f x k T d k displaystyle f x k alpha d k gt f x k sigma alpha left nabla f x k right T d k nbsp a r a displaystyle alpha rho alpha nbsp end Setze a k a displaystyle alpha k alpha nbsp Die Backtracking Liniensuche verringert die Schrittweite wiederholt um den Faktor r displaystyle rho nbsp bis die Armijo Bedingung erfullt ist Sie terminiert garantiert nach einer endlichen Anzahl von Schritten und wird wegen ihrer Einfachheit oft in Praxis verwendet Konvergenz BearbeitenIm Allgemeinen konvergiert das Gradientenverfahren weder zu einem globalen noch zu einem lokalen Minimum Garantiert werden kann nur die Konvergenz zu einem stationaren Punkt also einem Punkt x displaystyle x nbsp mit f x 0 displaystyle nabla f x 0 nbsp Schrankt man die Klasse der Zielfunktionen auf konvexe Funktionen ein so sind starkere Garantien moglich siehe konvexe Optimierung Fur den allgemeinen Fall kann weder uber die Konvergenzgeschwindigkeit der Folge f x k displaystyle f x k nbsp noch uber die Konvergenzgeschwindigkeit der Folge x k displaystyle x k nbsp eine Aussage getroffen werden Ist L displaystyle L nbsp eine Lipschitz Konstante von f displaystyle nabla f nbsp so kann man zeigen dass die Norm der Gradienten g N min 0 k N f x k displaystyle g N min 0 leq k leq N nabla f x k nbsp mit der Rate L f x 0 f x w N 1 displaystyle sqrt frac L left f x 0 f x right omega N 1 nbsp gegen 0 konvergiert wobei w gt 0 displaystyle omega gt 0 nbsp eine positive Konstante ist Beispiel Bearbeiten nbsp Die Rosenbrock Funktion mit a 1 b 100 displaystyle a 1 b 100 nbsp Die Rosenbrock Funktion f R 2 R x a x 1 2 b x 2 x 1 2 2 displaystyle f mathbb R 2 to mathbb R x mapsto left a x 1 right 2 b left x 2 x 1 2 right 2 nbsp wird haufig als Test fur Optimierungsmethoden verwendet da sie wegen des schmalen und flachen Tals in welchem iterative Methoden nur kleine Schritte machen konnen eine Herausforderung darstellt Die Konstanten werden ublicherweise mit a 1 b 100 displaystyle a 1 b 100 nbsp gewahlt das globale Optimum liegt in diesem Fall bei x 1 1 displaystyle x 1 1 nbsp mit dem Funktionswert f x 0 displaystyle f x 0 nbsp Der Gradient sowie die Hesse Matrix ergeben sich als f 4 b x 1 3 4 b x 1 x 2 2 x 1 a 2 b x 1 2 x 2 displaystyle nabla f begin bmatrix 4bx 1 3 4bx 1 x 2 2 x 1 a 2b x 1 2 x 2 end bmatrix nbsp sowie 2 f 12 b x 1 2 4 b x 2 2 4 b x 1 4 b x 1 2 b displaystyle nabla 2 f begin bmatrix 12bx 1 2 4bx 2 2 amp 4bx 1 4bx 1 amp 2b end bmatrix nbsp Damit lassen sich die Algorithmen Verfahren des steilsten Abstiegs und Newton Verfahren direkt implementieren Um das Gauss Newton Verfahren anzuwenden muss die Rosenbrock Funktion zunachst in die Form Summe von Quadraten von Funktionen gebracht werden Dies ist auf der Seite zum Gauss Newton Verfahren im Detail erklart nbsp Optimierung mit Verfahren des steilsten Abstiegs Newton Verfahren und Gauss Newton VerfahrenFur die Liniensuche kommt bei allen Verfahren ein Backtracking mit folgenden Parametern zum Einsatz Startwert a 1 displaystyle alpha 1 nbsp r 0 5 displaystyle rho 0 5 nbsp s 0 001 displaystyle sigma 0 001 nbsp Als Startpunkt wird x 0 0 62 0 38 displaystyle x 0 0 62 0 38 nbsp gewahlt Das Verfahren des steilsten Abstiegs findet auch nach 1000 Iterationen nicht zum globalen Optimum und steckt in dem flachen Tal fest wo nur sehr kleine Schritte moglich sind Im Gegensatz dazu finden sowohl das Newton Verfahren als auch der Gauss Newton Algorithmus in wenigen Iterationen zum globalen Optimum Siehe auch BearbeitenLiniensuchverfahrenLiteratur BearbeitenYurii Nesterov Introductory Lectures on Convex Optimization A Basic Course Springer Science amp Business Media 2003 ISBN 1 4419 8853 X Dimitri P Bertsekas Nonlinear Programming 2 Auflage Athena Scientific 1995 ISBN 1 886529 14 0 Jorge Nocedal Stephen Wright Numerical Optimization Springer Science amp Business Media 2000 ISBN 0 387 98793 2 Andreas Meister Numerik linearer Gleichungssysteme 2 Auflage Vieweg Wiesbaden 2005 ISBN 3 528 13135 7 Einzelnachweise Bearbeiten Dimitri P Bertsekas Nonlinear programming 3 Auflage Athena Scientific 2016 ISBN 978 1 886529 05 2 Abgerufen von https de wikipedia org w index php title Gradientenverfahren amp oldid 236260947