La dérivation du BFGS est plus intuitive quand on considère les fonctionnelles de coût (strictement) convexes:
Cependant, certains
fond informations sont nécessaires: Supposons que l' on veut réduire au minimum une convexe fonctionnelle
Supposons qu'il existe une solution approximative . Ensuite, on rapproche le minimum de par le minimum de l'expansion de Taylor tronquée
Autrement dit, on cherche tel que est minimal et fixe . Le calcul du gradient de - "par rapport à " - et sa mise à zéro donne la relation
x k f f ( x k
F( x ) → minx ∈ Rn.
XkFp ( ∗ ) x k + 1 : = x k + p ( ∗ ) p H ( x k ) [ x k + 1 - x k ] = ∇ f ( x kF( xk+ p ) ≈ f( xk) + ∇ f( xk)Tp + 12pTH( xk) p .( ∗ )
p( ∗ )Xk + 1: = xk+ p( ∗ )pHH( xk) [ xk + 1- xk] = ∇f(xk+ 1) - ∇f( xk) ,
où est le 'jacobien du gradient' ou la matrice de Hesse.
H
Puisque le calcul et l'inversion de la toile de jute coûtent cher ...
... une réponse courte
(cf. mise à jour de Broyden) pourrait être que la mise à jour BFGS minimise
dans une norme Frobenius pondérée intelligemment choisie, sujet à ‖ H - 1 k - H - 1 ‖ OH- 1k + 1
∥ H- 1k- H- 1∥W
- H[ xk + 1- xk] = ∇ f( xk + 1) - ∇ f( xk) - c'est pour ça qu'on est dehors - et
- HT= H , car la Hesse est symétrique.
Ensuite, le choix du poids dans comme l'inverse de la moyenne de Hesse , cf. ici pour l'instruction mais sans preuve, donne la formule de mise à jour BFGS (avec ).W∥ H∥W: = ∥ W1 / 2HW1 / 2∥F
G : = ∫10H( xk+ τp ) dταk= 1
Les points principaux sont:
- On essaie d'approximer la solution pour les coûts réels par la solution pour une approximation quadratique
- Le calcul de la Hesse et de son inverse coûte cher. On préfère les mises à jour simples.
- La mise à jour est choisie optimale pour l' inverse plutôt que la Hesse réelle.
- Le fait qu'il s'agisse d'une mise à jour de rang 2 est une conséquence du choix particulier des poids dans la norme Frobenius.
Une réponse plus longue devrait inclure comment choisir les poids, comment faire fonctionner cela pour des problèmes non convexes (où une condition de courbure apparaît qui nécessite une mise à l'échelle de la direction de recherche ), et comment dériver la formule réelle de la mise à jour. Une référence est ici (en allemand).p