Fachbereich Mathematik - GSI
Fachbereich Mathematik - GSI
Fachbereich Mathematik - GSI
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 φ.