24.04.2013 Aufrufe

Fachbereich Mathematik - GSI

Fachbereich Mathematik - GSI

Fachbereich Mathematik - GSI

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

6 BFGS-Verfahren<br />

führe Schritt 7 aus und überspringe Schritt 8.<br />

Ist (6.23) nicht erfüllt, dann verwende als Suchrichtung<br />

und mache weiter mit Schritt 8.<br />

7. Berechne die Startschrittweite µmax,k über (4.12).<br />

dk = −∇χ 2 ( Nk) (6.25)<br />

8. Berechne die Startschrittweite µmax,k über µBio aus (4.10).<br />

9. Bestimme eine Schrittweite µk über das Armijo-Verfahren.<br />

10. Berechne einen neuen Teilchenzahlenvektor Nk+1 = Nk + µk dk.<br />

11. Berechne sk = Nk+1 − Nk und yk = ∇χ 2 ( Nk+1) − ∇χ 2 ( Nk).<br />

12. Berechne H −1<br />

k+1 nach dem inversen BFGS-Update (6.21).<br />

13. Setze k := k + 1 und gehe zurück zu Schritt 4.<br />

Bei (6.23) handelt es sich um den sogenannten Winkeltest. Dabei wird der Winkel<br />

zwischen dem negativen Gradienten der χ2-Funktion an der Stelle Nk und der<br />

BFGS-Suchrichtung dBFGS k berechnet. Der negative Gradient der Zielfunktion steht<br />

orthogonal auf den Höhenlinien. Ist der Winkel zwischen −∇χ2 ( Nk) und dBFGS k exakt<br />

90 ◦ , dann würde das den Fall repräsentieren, dass man mit der BFGS-Suchrichtung<br />

anfangs entlang der Höhenlinie läuft. In dem entsprechenden Iterationsschritt könnte<br />

dann die Zielfunktion nicht minimiert werden. Ist der Winkel nahe bei 90 ◦ (z.B.<br />

zwischen 80 ◦ und 90 ◦ ), würde man mit dem Schritt die Zielfunktion wahrscheinlich<br />

nur geringfügig minimieren können. Mit dem Winkeltest kann dies verhindert<br />

werden. Die Idee dabei ist, dass wenn die berechnete BFGS-Suchrichtung zu nahe<br />

an den Höhenlinien liegt, dass diese dann verworfen wird und in dem aktuellen Iterationsschritt<br />

der negative Gradient als Suchrichtung verwendet wird. Man ersetzt<br />

damit in einem Iterationsschritt den BFGS-Schritt mit einem Schritt des GRVs.<br />

In dem hier angegebenen BFGS-Algorithmus wird τ = 0.15 als kritischer Winkel-<br />

wert verwendet. Es gilt4 arccos(0.15) ≈ 81, 373. D.h., dass zwischen dem negativem<br />

Gradienten der Zielfunktion an der Stelle Nk und der BFGS-Suchrichtung dBFGS k ein<br />

Winkel von 81, 37◦ noch toleriert wird. Ist der Winkel größer (und damit ziemlich<br />

nahe an der entsprechenden Höhenlinie), dann wird die BFGS-Suchrichtung mit der<br />

Suchrichtung vom GRV überschrieben.<br />

Der Winkeltest ist bei Newton-artigen-Verfahren als auch bei Quasi-Newton-<br />

Verfahren sinnvoll, obwohl man ihn selten in der Literatur findet. Bei beiden Verfahren<br />

werden in jedem Iterationsschritt Approximationen für die Hesse-Matrix verwendet.<br />

Ist in einem Iterationsschritt die Approximation schlecht, dann kann die<br />

4 Für den Winkel φ zwischen den Vektoren v und w gilt:<br />

70<br />

〈v,w〉<br />

||v||·||w|| = cos φ.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!