Motivation intuitive pour la mise à jour de BFGS

15

J'enseigne un cours d'enquête en analyse numérique et je recherche la motivation pour la méthode BFGS pour les étudiants ayant une formation / intuition limitée en optimisation!

Bien que je n'aie pas le temps de prouver rigoureusement que tout converge, je cherche à donner une motivation raisonnable pour expliquer pourquoi la mise à jour BFGS Hessian pourrait apparaître. À titre d'analogie, la méthode de recherche de racines de Broyden (mon article est ici ) peut être motivée en demandant que votre approximation actuelle du jacobien minimise la différence Jk-Jk-1Fro2 avec l'ancien jacobien sous la contrainte de prendre en compte la dernière sécante: Jk(Xk-Xk-1)=F(Xk)-F(Xk-1) .

Les dérivations des mises à jour de BFGS semblent beaucoup plus compliquées et troubles! En particulier, je ne voudrais pas supposer a priori que la mise à jour devrait être de rang 2 ou prendre une forme particulière. Y a-t-il une courte motivation de variation pour la mise à jour de BFGS Hessian comme celle de Broyden?

Justin Solomon
la source
4
Si vous autorisez une mise à jour arbitraire, vous pouvez simplement utiliser le Hessian complet dans la méthode de Newton. Un avantage informatique majeur d'une mise à jour de bas rang est qu'elle vous permet de mettre à jour la factorisation de la Hesse approximative très rapidement.
Brian Borchers

Réponses:

12

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)minXRn.
XkFp ( ) x k + 1 : = x k + p ( ) p H ( x k ) [ x k + 1 - x k ] = f ( x k
F(Xk+p)F(Xk)+F(Xk)Tp+12pTH(Xk)p.()
p()Xk+1: =Xk+p()pH
H(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 - 1OHk+1-1

Hk-1-H-1W
  1. H[Xk+1-Xk]=F(Xk+1)-F(Xk) - c'est pour ça qu'on est dehors - et
  2. 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 ).WHW: =W1/2HW1/2F g: =01H(Xk+τp)τα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

Jan
la source
Merci beaucoup, c'est super (et plus ou moins ce à quoi je m'attendais d'après la discussion dans Nocedal & Wright). La dernière question que je me pose est la suivante: pourquoi choisissons-nous et la norme comme nous le faisons? Je comprends que cela a à voir avec les unités, mais il y a beaucoup de choix potentiel de et de normes qui le font. WW
Justin Solomon
Oui c'est vrai. Eh bien, je ne sais pas. Une réponse est qu'il donne la formule de mise à jour simple à calculer et qui fonctionne bien. Historiquement, cette approche de la mise à jour - minimiser la différence dans la mise à jour - était celle de Shanno. C'est un arbitre (Goldfarb) qui a constaté qu'un choix particulier des poids conduit à la formule de Broyden et Fletcher. Voir cette thèse Développement historique de la méthode sécante BFGS ... pour les intuitions des développeurs du BFGS. Cependant, les 3 approches sont assez abstraites.
Jan
1
Intéressant, merci pour les conseils! Ma rédaction actuelle (avec quelques erreurs mathématiques qui ont besoin d'aide) est ici: graphics.stanford.edu/courses/cs205a-13-fall/assets/notes/… (si vous souhaitez un crédit pour votre aide, je suis heureux de la fournir - veuillez m'envoyer un e-mail avec les coordonnées appropriées)
Justin Solomon
@jan Pourquoi votre équation et non N'est-ce pas la condition sécante donnée par , où . Merci!
H(Xk)[Xk+1-Xk]=F(Xk+1)-F(Xk)
H(Xk+1)[Xk+1-Xk]=F(Xk+1)-F(Xk)?
Hk+1sk=yksk=Xk+1-Xk,yk=Fk+1-Fk
Jeff Faraci