Die Ableitung des BFGS ist intuitiver, wenn man (streng) konvexe Kostenfunktionen betrachtet:
Einige
Hintergrundinformationen sind jedoch erforderlich: Angenommen, man möchte eine konvexe Funktion
minimieren
Angenommen, es gibt eine ungefähre Lösung . Dann approximiert man das Minimum von durch das Minimum der abgeschnittenen Taylor-Expansion
Das heißt, man sucht nach so dass minimal ist und setzt . Die Berechnung des Gradienten von - "in Bezug auf " und das Setzen auf Null ergibt die Beziehung
x k f f ( x k + p ) ≈ f ( x k ) + ∇ f ( x k ) T p + 1
f( x ) → minx ∈ Rn.
xkfP ( * ) x k + 1 : = x k + p ( * ) p H ( x k ) [ x k + 1 - x k ] = ∇ f ( x k + 1 ) - ∇ f ( x k ) , Hf( xk+ p ) ≈ f( xk) + ∇ f( xk)Tp + 12pTH( xk) p .( ∗ )
p( ∗ )xk + 1: = xk+ p( ∗ )pH( xk) [ xk + 1- xk] = ∇ f( xk + 1) - ∇ f( xk) ,
wobei der "Jacobian des Gradienten" oder die Hessische Matrix ist.
H
Da die Berechnung und Inversion des Hessischen teuer ist ...
... eine kurze Antwort
(vgl. Broydens Update) könnte sein, dass das BFGS-Update
in einer intelligent gewählten gewichteten Frobenius-Norm minimiert
, unterliegen ≤ H - 1 k - H - 1 ≤ WH- 1k + 1
∥ H- 1k- H- 1∥W
- H[ xk + 1- xk] = ∇ f( xk + 1) - ∇ f( xk) - dafür ist man da - und
- HT= H , weil der Hessische symmetrisch ist.
Dann ist die Wahl des Gewichts in als Inverse des gemittelten Hessischen , vgl. Hier für die Anweisung, aber ohne Beweis, gibt die BFGS-Aktualisierungsformel an (mit ).W∥ H∥W: = ∥ W1 / 2HW1/ 2∥F
G : = ∫10H( xk+ τp ) dταk= 1
Die wichtigsten Punkte sind:
- Man versucht, die Lösung für die tatsächlichen Kosten durch die Lösung für eine quadratische Approximation zu approximieren
- Die Berechnung des Hessischen und seines Inversen ist teuer. Man bevorzugt einfache Updates.
- Das Update wird eher für das Inverse als für das eigentliche Hessische optimal gewählt .
- Dass es sich um ein Rang-2-Update handelt, ist eine Folge der besonderen Wahl der Gewichte in der Frobenius-Norm.
Eine längere Antwort sollte enthalten, wie die Gewichte ausgewählt werden, wie dies bei nicht konvexen Problemen funktioniert (wenn eine Krümmungsbedingung auftritt, die eine Skalierung der Suchrichtung erfordert ) und wie die Formel für die Aktualisierung tatsächlich abgeleitet wird. Eine Referenz finden Sie hier .p