Benutzer:Stepri2005/Kurs:Optimierung II/Schrittweitenregeln

Aus Wikiversity

Die Konstruktion von konkreten Verfahren zur Lösung des unrestringierten Optimierungsproblems

welche vom Typ des Modellalgorithmus 2.5 sind, erfordert die Festlegung einer Regel zur Bestimmung einer Abstiegsrichtung in der aktuellen Iterierten und einer Regel zur Berechnung der Schrittweite für diese Richtung. Da nun bekannt ist, welche Bedingung die von einer bestimmten Regel erzeugten Schrittweiten im Hinblick auf die Konvergenz eines Verfahrens erfüllen sollten (Definition 2.12), ist es möglich, diese beiden Schritte zur Spezifikation eines Verfahrens voneinander zu trennen.

Wir setzen hier generell die Bedingungen (V1) - (V3) voraus und betrachten wieder einen Punkt und eine Abstiegsrichtung in , für welche eine Schrittweite bestimmt werden muss, d. h., wir betrachten ein Paar von Vektoren

(3.1)

Insbesondere ist also und somit kein kritischer Punkt.

3.1 Exakte Schrittweiten[Bearbeiten]

3.1.1 Existenz und Effizienz[Bearbeiten]

Eine naheliegende Schrittweitenregel ist die, einen globalen Minimalpunkt des eindimensionalen Optimierungsproblems

als Schrittweite zu wählen. Denn ein globaler Minimalpunkt von liefert den größten Fortschritt bei der Reduzierung des Zielfunktionswertes von bei in Richtung . Wir definieren also:

Definition 3.1[Bearbeiten]

Jedes , für welches
gilt, heißt Minimumschrittweite.

Es ist jedoch nur für einfache Funktionen wie z. B. konvexe Funktionen und dann zumeist auch nur näherungsweise möglich, eine Minimumschrittweite zu berechnen. Für alle anderen Funktionen ist es daher praxisnäher, den kleinsten, positiven, kritischen Punkt der Funktion als Schrittweite zu akzeptieren. Diese Überlegung motiviert die folgende Definition.

Definition 3.2[Bearbeiten]

Die Curry-Schrittweite ist definiert durch

Minimumschrittweiten und die Curry-Schrittweite bezeichnet man auch als exakte Schrittweiten. Für diese können wir zeigen:

Satz 3.3[Bearbeiten]

Es seien (V1) - (V3) erfüllt. Für alle Paare und mit (3.1) existieren eine Minimumschrittweite und die Curry-Schrittweite und diese sind positive Zahlen. Ferner sind die Curry- und jede Minimumschrittweite effiziente Schrittweiten mit der Konstanten

Beweis.[Bearbeiten]

Wir weisen zunächst die Existenz von beiden Schrittweiten nach. Dazu sei . Nach Lemma 2.8 ist auf für ein positiv und folglich

Ferner existiert nach diesem Lemma ein , so dass

gilt. Zusammen erschließt man die Existenz eines mit

Die Menge aller kritischen Punkte von in , d. h. die Menge

enthält und ist somit nichtleer. Ferner ist kompakt, so dass ein kleinster kritischer Punkt in existiert. Wegen gilt .

Als nächstes wollen wir für jede Minimumschrittweite und für die Curry-Schrittweite eine Ungleichung des Typs (2.23) nachweisen. Mit (V3) erhalten wir

Mit aus Lemma 2.11 impliziert dies

(3.2)

Wegen und weil die kleinste positive Nullstelle von ist, gilt weiter für alle . Somit folgt aus (3.2), dass ist und demnach

Dies impliziert schließlich mit (3.2) und mit Lemma 2.11 (ii) wegen

(3.3)

q.e.d.

Wie man leicht verifiziert, ist die Funktion konvex, wenn konvex ist. Mit Korollar 1.17 und Satz 1.6 schließt man daher:

Bemerkung 3.4[Bearbeiten]

Ist konvex und sind die Voraussetzungen von Satz 3.3 erfüllt, so ist auch eine Minimumschrittweite und zwar unter allen Minimumschrittweiten die kleinste. Ist strikt konvex, so existiert genau eine Minimumschrittweite und ist .

Für eine gleichmäßig konvexe, quadratische Funktion, für welche ja die Voraussetzungen (V1) - (V3) erfüllt sind (vgl. Beispiel 2.7), ist also die Minimumschrittweite eindeutig. Man kann sie in diesem Fall explizit angeben:

Beispiel 3.5[Bearbeiten]

Für die quadratische Funktion

mit beliebiger Matrix hat man und demnach

(3.4)

Ist positiv definit, so folgt für und wie in (3.1)

(3.5)

Wir bemerken noch:

Bemerkung 3.6[Bearbeiten]

Für die quadratische Funktion

mit positiv definiter Matrix ist berechenbar und durch (3.5) gegeben. Ist ein zu dem größten Eigenwert gehörender Eigenvektor von (vgl. (2.12)), für den das Vorzeichen so gewählt wird, dass ist, dann folgt

und damit

Demnach ist die Konstante in Satz 3.3 optimal.

3.1.2 Die Methode vom Goldenen Schnitt[Bearbeiten]

Numerisch ist die (näherungsweise) Berechnung einer Minimumschrittweite nur für konvexe bzw. für andere einfache Funktionen wie unimodale Funktionen realistisch möglich.

Definition 3.7[Bearbeiten]

Eine Funktion heißt unimodal (auf existiert mit

und falls auf streng monoton fallend und auf streng monoton wachsend ist.

Eine unimodale Funktion kann Sattelpunkte besitzen und muss somit nicht eine konvexe Funktion sein. Umgekehrt gilt zumindest:

Beispiel 3.8[Bearbeiten]

Jede gleichmäßig konvexe Funktion ist unimodal auf (vgl. Korollar 1.18).


Wir wollen im Folgenden ein ableitungsfreies Verfahren zur Berechnung des Minimalpunktes einer auf unimodalen Funktion beschreiben. Ist ein Teilintervall von und , dann folgt gemäß Definition 3.7 für Punkte und mit

Demnach muss der Minimalpunkt von im Fall in und im Fall in liegen. Es bietet sich also an, das folgende Intervall als neues Suchintervall zu wählen

Fehler beim Parsen (Konvertierungsfehler. Der Server („https://wikimedia.org/api/rest_“) hat berichtet: „Cannot get mml. TeX parse error: Bracket argument to \\ must be a dimension“): {\displaystyle [a_{k+1},b_{k+1}]:={\begin{cases}[s_{k},b_{k}],&{\text{falls }}\varphi (s_{k})>\varphi (t_{k}),\\[a_{k},t_{k}],&{\text{falls }}\varphi (s_{k})\leq \varphi (t_{k}).\end{cases}}}

Dabei ist es erstrebenswert, mit für jedes so festzulegen, dass

  • , d. h. die Länge des Intervalls unabhängig vom Ausgang der Abfrage "" ist und
  • beim Übergang von zu nur eine neue Funktionsauswertung erforderlich ist.

Die beiden an und gestellten Forderungen können in der Tat erfüllt werden (Übung!), indem man jedes Intervall mittels eines Goldenen Schnittes in zwei Intervalle teilt. Und zwar sagt man, dass ein Intervall durch einen Goldenen Schnitt in zwei Intervalle und zerlegt wird, falls gilt:

(3.6)

Der Punkt , der eine solche Zerlegung liefert, lässt sich berechnen (Übung!). Und zwar erhält man, wenn das längere Teilintervall ist,

(3.7)

und, wenn das kürzere Teilintervall ist,

(3.8)

Demnach wählt man für jedes insbesondere

Damit haben wir die folgende Methode zur Minimierung einer unimodalen Funktion beschrieben (siehe die Aufgabe dazu).

Algorithmus 3.9 (Methode vom Goldenen Schnitt)[Bearbeiten]

(0) Wähle und setze sowie
Berechne und und setze .
(1) Falls ist, stop! (Es gilt .)
(2) (i) Falls ist, setze
und berechne .
(ii) Falls ist, setze
und berechne .
(3) Setze und gehe nach (1).

3.1.3 Anmerkungen[Bearbeiten]

Das Verfahren vom Goldenen Schnitt oder andere ableitungsfreie Verfahren wie solche Verfahren, die in jedem Schritt durch eine Funktion approximieren, welche in bestimmten Punkten interpoliert und die damit eine Näherung für den gesuchten Minimalpunkt berechnen ([Bre73]), benötigen nur Funktionswerte von und konvergieren zum Teil unter schwachen Voraussetzungen superlinear. Allerdings ist z. B. die Voraussetzung der Unimodalität einer Funktion für die Konvergenz eines Verfahrens eine sehr gravierende Voraussetzung.

Zur Lösung des eindimensionalen Optimierungsproblems

mit einer konvexen oder unimodalen Funktion kann man auch eine Nullstelle von z. B. mit einem der aus der Numerischen Mathematik bekannten Verfahren, wie z. B. der Regula Falsi oder dem Sekanten-Verfahren, bestimmen, welche nur Funktionswerte von und damit nur den Gradienten von verwenden. Das Newton-Verfahren benötigt dagegen und damit im Hinblick darauf, dass nur eine Funktion in einer Veränderlichen ist, numerisch häufig zu teuere Auswertungen der Hesse-Matrix von . Im nichtkonvexen Fall muss man aber bei solchen Vorgehensweisen noch sicherstellen, dass es sich bei der gefundenen Nullstelle tatsächlich um einen globalen Minimierer von handelt.

Für die Berechnung der Curry-Schrittweite, also der kleinsten positiven Nullstelle von , müssen keine speziellen Forderungen an gestellt werden. Man beginnt normalerweise mit einer Einschachtelungsprozedur, bei der man mittels eines Vergleichs von Funktionswerten von versucht, ein hinreichend kleines Intervall zu finden, in dem sich die gesuchte Nullstelle befindet. Anschließend kann man jedes Verfahren zur Bestimmung einer Nullstelle einer Funktion in einer Veränderlichen auf einem Intervall anwenden, wie z. B. eines der oben genannten.

Die Berechnung exakter Schrittweiten für eine allgemeine nichtlineare Funktion bedingt, dass zunächst die richtige Lösung des eindimensionalen Optimierungsproblems eingeschachtelt wird und dass das zu deren Bestimmung eingesetzte Verfahren mit ausreichender Geschwindigkeit konvergiert. Überdies können exakte Schrittweiten im Allgemeinen nur näherungsweise berechnet werden und muss darauf vertraut werden, dass das entsprechende Verfahren zur Lösung von Problem auch mit diesen Näherungen konvergent ist. Aus all diesen Gründen verwendet man zumeist andere, leichter umzusetzende Schrittweitenregeln, für die auch Theorie und Praxis konsistent sind. Einige solcher Regeln werden wir im Folgenden beschreiben.

3.2 Die Armijo-Schrittweite[Bearbeiten]

Eine sehr populäre, da sehr leicht berechenbare Schrittweite ist die folgende.

Definition 3.10[Bearbeiten]

Seien und gegebene Zahlen. Ferner sei die kleinste Zahl aus derart, dass die Ungleichung
(3.9)
erfüllt ist. Dann heißt Armijo-Schrittweite.

Die Armijo-Schrittweite ist also die größte Zahl aus der Menge

(3.10)

für welche die Ungleichung in (3.9) erfüllt ist. Da gilt, muss man mit 1 beginnend und abnehmender Größe nur rechnerisch überprüfen, für welche Zahl die Ungleichung (3.9) zum ersten Mal erfüllt ist. Die Berechnung der Armijo-Schrittweite ist also trivial.

Beispiel 3.11[Bearbeiten]

Sei die quadratische Funktion

mit positiv definiter Matrix und seien und Punkte wie in (3.1) gegeben. Im Hinblick auf die Ungleichung (3.9) stellen wir fest, dass

genau dann gilt, wenn

ist, wobei die Identität und die Curry-Schrittweite für aus (3.5) verwendet wurden. Die Armijo-Schrittweite ist also die größte Zahl aus der Menge (3.10), welche der Ungleichung

(3.11)

genügt. Für ist sie kleiner als .


Der leichten Berechenbarkeit der Armijo-Schrittweite steht entgegen, dass sie nur semieffizient ist.

Satz 3.12[Bearbeiten]

Es seien (V1) - (V3) erfüllt und Zahlen und gegeben. Für alle Paare und mit (3.1) existiert genau eine Armijo-Schrittweite, und diese ist eine semieffiziente Schrittweite mit der Konstanten

Beweis.[Bearbeiten]

Aus der Definition der Richtungsableitung erhält man für

Folglich gilt für alle genügend kleinen

Wegen kann demzufolge Ungleichung (3.9) für genügend großes erfüllt werden, wobei offenbar eindeutig ist. Also existiert die Armijo-Schrittweite. (Dies kann man sogar für schließen, aber z. B. für Satz 6.10 muss vorausgesetzt werden.)

Als nächstes zeigen wir, dass die Armijo-Schrittweitenregel eine semieffiziente Schrittweitenregel ist. Ist , also , so folgt aus (3.9)

(3.12)

Ist , so gilt zum einen natürlich für die Ungleichung (3.9) und zum anderen weiß man, dass dann die Ungleichung (3.9) für noch nicht erfüllt und daher Folgendes richtig ist:

(3.13)

Für aus Lemma 2.8 betrachten wir jetzt zuerst den Fall . Für diesen folgt mit (3.13) und Lemma 2.11

Division durch und anschließendes Auflösen nach liefert damit

Unter Verwendung von (3.9) erhalten wir also

(3.14)

Ist andererseits , so ergibt sich mit Lemma 2.11 und von dort

Mit (3.9) erhält man daher

(3.15)

Aus (3.12), (3.14) und (3.15) zusammen folgt das gewünschte Ergebnis.

q.e.d.

3.3 Wolfe-Powell-Schrittweiten[Bearbeiten]

3.3.1 Definition und Effizienz[Bearbeiten]

Im Fall der Schrittweitenregel von Wolfe und Powell muss neben einer Ungleichung vom Armijo-Typ wie in (3.9) eine weitere Ungleichung erfüllt werden. (Wir folgen hier der Namensgebung z. B. in [Fle91] und [GeiKa99]. Man findet auch die Bezeichnungen Powell-Wolfe- ([Kos89]) und Powell-Schrittweitenregel ([Wer92], [Alt02]).)

Definition 3.13[Bearbeiten]

Es seien Zahlen � und gegeben. Dann heißt jedes Element der Menge
Wolfe-Powell-Schrittweite.

Wir betrachten auch für diese Schrittweitenregel zuerst wieder das Beispiel einer gleichmäßig konvexen, quadratischen Funktion.

Beispiel 3.14[Bearbeiten]

Es sei die quadratische Funktion

(3.16)

wobei positiv definit sei. Weiter mögen und die Bedingungen in (3.1) erfüllen. Ähnlich wie in Beispiel 3.11 zeigt man unter Verwendung der Curry-Schrittweite für (Übung!):

(3.17)

Aufgrund der Forderungen und ist die Menge der Wolfe-Powell-Schrittweiten in diesem Fall ein ganzes Intervall, welches in seinem Inneren enthält. (Deshalb wählt man , der Beweis des folgenden Satzes ist auch für richtig.)


Wir verwenden wieder die Funktion mit

(3.18)

Damit entspricht die Menge der Wolfe-Powell-Schrittweiten der Menge aller , welche den beiden Ungleichungen

(3.19)

genügen. Wir zeigen als nächstes unter den Standardvoraussetzungen, dass die Wolfe-Powell-Schrittweitenregel effizient ist und für jedes die Wahl einer Schrittweite aus einem ganzen Intervall erlaubt.

Satz 3.15[Bearbeiten]

Es seien (V1) - (V3) erfüllt. Für alle Paare und mit (3.1) und jedes und enthält die Menge mindestens ein nichtleeres abgeschlossenes Intervall. Ferner ist jede Wolfe-Powell-Schrittweite eine effiziente Schrittweite mit der Konstanten
(3.20)

Beweis.[Bearbeiten]

Seien und gegeben wie angenommen und sei

Dann ist und mit der Curry-Schrittweite

Also besitzt in einen lokalen Maximalpunkt mit . Weiter existiert ein , so dass für folgt:

(3.21)

Wie man am Vergleich mit (3.19) erkennt, implizieren diese letzten beiden Ungleichungen die Inklusion , da aus der zweiten Ungleichung für alle folgt:

(3.22)

Für den Nachweis, dass die Wolfe-Powell-Schrittweitenregel effizient ist, untersuchen wir zunächst den Fall

(3.23)

Nach der Definition von gilt

Unter Anwendung von Voraussetzung (V3) können wir daraus schließen:

Daher erhalten wir mit (3.23) und aus Lemma 2.11

Nun verwenden wir, dass eine nach unten geöffnete Parabel wie die Parabel aus Lemma 2.11 ihr Minimum auf dem Intervall in oder annimmt. Folglich liefert Anwendung von Lemma 2.11

Ist andererseits

dann folgt direkt mit der Definition von

Fassen wir die in beiden Fällen gewonnenen Ungleichungen zusammen, so erhalten wir eine Ungleichung des Typs (2.23) mit der Konstante aus (3.20).

q.e.d.

3.3.2 Numerische Berechnung[Bearbeiten]

Die Wolfe-Powell-Schrittweitenregel ist auch numerisch realisierbar, da in ihrem Fall nicht wie bei den exakten Schrittweitenregeln ein einzelner Punkt, sondern gemäß Satz 3.15 nur ein aus einem Intervall gefunden werden muss. Insbesondere kann eine Wolfe-Powell-Schrittweite in endlich vielen Schritten mit folgendem Algorithmus berechnet werden, wie der daran anschließende Satz beweist.

Die Idee dabei ist es, zunächst ein Intervall zu bestimmen, dessen linker Randpunkt die Armijo-Ungleichung, also die erste Ungleichung in erfüllt und dessen rechter dies nicht tut. Wenn der linke Randpunkt des Intervalls auch der zweiten Ungleichung in genügt, ist man fertig. Anderenfalls wird die Länge des Intervalls, ähnlich wie beim Bisektionsverfahren zur Bestimmung einer Nullstelle einer reellwertigen Funktion, so lange unter Beibehaltung der mit dem Intervall verbundenen Eigenschaften halbiert, bis der linke Randpunkt auch die zweite Ungleichung erfüllt.

Algorithmus 3.16[Bearbeiten]

(0) Gib und mit und und setze . (Achtung: im Hinblick auf den Beweis von Satz 3.17 wird hier anders als in Definition 3.13 der Fall ausgeschlossen.)
(1) (i) Falls für die Armijo-Ungleichung
(3.24)
erfüllt ist, bestimme die größte Zahl , so dass (3.24) für verletzt ist, und setze .
(ii) Anderenfalls bestimme die größte Zahl , so dass (3.24) für erfüllt ist, und setze .
(2) Falls für die Ungleichung
(3.25)
gilt, setze . Stop!
(3) Berechne
Falls die Bedingung (3.24) erfüllt, setze
Anderenfalls setze
(4) Setze und gehe nach (2).

Satz 3.17[Bearbeiten]

Es seien (V1) - (V3) erfüllt. Dann bricht Algorithmus 3.16 nach endlich vielen Iterationen mit einer Wolfe-Powell-Schrittweite ab.

Beweis.[Bearbeiten]

Nach Lemma 2.8 ist für ein . Somit wird in Schritt (1) (i) nach endlich vielen Schritten ein , wie angegeben, gefunden. Gemäß Satz 3.12 für und kann weiter in (ii) nach endlich vielen Schritten die Armijo-Schrittweite bestimmt werden. Am Ende von Schritt (1) hat man somit in beiden Fällen für

(3.26) erfüllt (3.24), erfüllt (3.24) nicht.

Ist auch (3.25) für richtig, so ist offenbar und bricht das Verfahren in (2) erfolgreich ab. Anderenfalls hat man zu Beginn von Schritt (3) die Situation in (3.26) und wird nun die Länge des Intervalls in jedem Durchlauf von Schritt (3) halbiert, wobei entweder vergrößert oder verkleinert wird und und die Eigenschaften in (3.26) bewahren.

Würde Schritt (3) unendlich oft durchlaufen, so konvergierten die Folgen und aufgrund ihrer sich aus

ergebenden Monotonie und der Tatsache, dass die Länge der Intervalle gegen 0 geht, gegen dieselbe Zahl . Aufgrund von (3.26) wäre dann weiter die Armijo-Ungleichung in (3.24) für gleichzeitig erfüllt und "verletzt", d. h., es wäre für

Es folgte außerdem , da anderenfalls

und damit für alle hinreichend großen gelten würde, was aber im Widerspruch dazu stünde, dass die Bedingung (3.24) verletzt. Wegen und hätte man dann jedoch

und damit für alle hinreichend großen

Also wäre die Ungleichung (3.25) für mit hinreichend großem erfüllt, was aber der Annahme widerspricht, dass (3) unendlich oft durchlaufen wird. Demzufolge bricht der Algorithmus nach endlich vielen Durchgängen von Schritt (3) ab.

3.4 Strenge Wolfe-Powell-Schrittweiten[Bearbeiten]

In einigen Zusammenhängen hat sich die folgende Modifikation der Wolfe-Powell-Schrittweitenregel in der Praxis bewährt.

Definition 3.18[Bearbeiten]

Es seien Zahlen und gegeben. Dann heißt jedes Element der Menge
(3.27)
(3.28)
strenge Wolfe-Powell-Schrittweite.

Zunächst betrachten wir auch hier wieder quadratische Funktionen:

Beispiel 3.19[Bearbeiten]

Es sei die quadratische Funktion

mit positiv definiter Matrix und sowie mögen die Bedingungen in (3.1) erfüllen. Mit einer einfachen Rechnung ähnlich wie in Beispiel 3.11 zeigt man

(3.29)

wobei wieder die Curry-Schrittweite für ist. Für und folgt also .


Mit der Funktion aus (3.18) ist die Menge der strengen Wolfe-Powell-Schrittweiten gerade die Menge aller , welche gleichzeitig die Ungleichungen

(3.30)

erfüllen. Gegenüber der Wolfe-Powell-Schrittweitenregel werden bei der strengen Wolfe-Powell-Schrittweitenregel solche Schrittweiten ausgeschlossen, für welche die Steigung von einen zu großen negativen Wert hat.

Für die strenge Wolfe-Powell-Schrittweitenregel gilt ähnlich wie für die einfache:

Satz 3.20[Bearbeiten]

Es seien (V1) - (V3) erfüllt. Für alle Paare und mit (3.1) und Zahlen und enthält die Menge mindestens ein nichtleeres abgeschlossenes Intervall. Ferner ist jede strenge Wolfe-Powell-Schrittweite eine effiziente Schrittweite mit der Konstanten

Beweis.[Bearbeiten]

Für den Nachweis der Existenz eines Intervalls kann man dem Beweis von Satz 3.15 folgen. Wählt man und damit so, dass

gilt, wobei Letzteres wegen und möglich ist, so folgt zusätzlich zu (3.22) noch

Damit ist . Wegen folgt der zweite Teil der Behauptung aus Satz 3.15.

q.e.d.

Ein Algorithmus zur Berechnung einer strengen Wolfe-Powell-Schrittweite ist in [GeiKa99] zu finden.

Die Ungleichungen in (3.30) zeigen, dass man für festes und durch die Wahl von hinreichend kleinen Zahlen und eine beliebig kleine Umgebung eines isolierten kritischen Punktes von bzw. erzeugen kann. Startet man also den Algorithmus zur Berechnung einer strengen Wolfe-Powell-Schrittweite nahe genug bei der Curry-Schrittweite (man verwende dazu ein Einschachtelungsverfahren), so erlaubt die strenge Wolfe-Powell-Schrittweitenregel die Wahl einer Schrittweite, welche der Curry-Schrittweite beliebig nahe kommt. Beispielsweise liefert (3.29) im gleichmäßig konvexen, quadratischen Fall für das Intervall , während man für die Wolfe-Powell-Schrittweitenregel gemäß (3.17) das viel größere Intervall erhält. Es liegt somit nahe, die strenge Wolfe-Powell-Schrittweitenregel zu verwenden, wenn ein Verfahren relativ empfindlich auf starke Abweichungen von den exakten Schrittweiten reagiert. Wir verweisen diesbezüglich z. B. auf die Bemerkungen zu CG-Verfahren in Abschnitt 5.5.