La derivación del BFGS es más intuitiva cuando se consideran (estrictamente) los costos convexos funcionales:
Sin embargo, es necesaria cierta
información de fondo : supongamos que se quiere minimizar una función
convexa
F( x ) → minx ∈ Rnorte.
Digamos que hay una solución aproximada
Xk . Luego, se aproxima el mínimo de
F por el mínimo de la expansión de Taylor truncada
F( xk+ p ) ≈ f( xk) + ∇ f( xk)Tp + 12pagTH( xk) p .( ∗ )
Es decir, uno busca
pag tal que
(∗) es mínimo y establece
xk+1:=xk+p . Calcular el gradiente de
(∗) - "con respecto a
p " - y ponerlo a cero da la relación
H(xk)[xk+1−xk]=∇f(xk+1)−∇f(xk),
donde
H es el 'jacobiano del gradiente' o la matriz de Hesse.
Dado que el cálculo y la inversión del hessiano son caros ...
... una respuesta corta
(véase la actualización de Broyden) podría ser que la actualización BFGS H−1k+1 minimiza
∥H−1k−H−1∥W
en una norma de Frobenius ponderada elegida de forma inteligente, sujeto a
- H[xk+1−xk]=∇f(xk+1)−∇f(xk) - esto es lo que uno está buscando - y
- HT=H , porque el hessiano es simétrico.
Luego, la elección del peso en como la inversa de la arpillera promedio , cf. aquí para la declaración pero sin pruebas, da la fórmula de actualización BFGS (con ).‖ H ‖ W : = ‖ W 1 / 2 H W 1 / 2 ‖ F G : = ∫ 1 0 H ( x k + τ p ) d τ alpha k = 1W∥H∥W:=∥W1/2HW1/2∥F
G:=∫10H(xk+τp)dταk=1
Los puntos principales son:
- Uno intenta aproximar la solución para los costos reales mediante la solución para una aproximación cuadrática
- El cálculo de la arpillera, y su inverso, es costoso. Uno prefiere actualizaciones simples.
- La actualización se elige óptima para el inverso en lugar del real de Hesse.
- El hecho de que sea una actualización de rango 2 es una consecuencia de la elección particular de los pesos en la norma Frobenius.
Una respuesta más larga debe incluir cómo elegir los pesos, cómo hacer que esto funcione para problemas no convexos (donde aparece una condición de curvatura que requiere una escala de la dirección de búsqueda ), y cómo derivar la fórmula real para la actualización. Una referencia está aquí (en alemán).p