Sensibilité du BFGS aux approximations initiales de la Hesse

9

J'essaie d'implémenter la méthode Broyden-Fletcher-Goldfarb-Shanno pour trouver le minimum d'une fonction. J'ai besoin de deux suppositions initiales & x 0 et d'une approximation initiale de la matrice de Hesse B 0 . La seule exigence que je trouve pour B 0 est que si la Hesse est définie positive symétrique, il en va de même pour B 0 . En regardant wikipedia, je vois qu'une approximation initiale typique est B 0 = I (la matrice d'identité). Est-ce toujours un bon B 0 initial ? Y a-t-il une raison pour laquelle je voudrais choisir autre chose que moix1x0B0B0B0B0=IB0I? Est-ce que d'autres choix de B, satisfaisant aux mêmes propriétés matricielles, affecteraient grandement la convergence de la méthode?

Paul
la source

Réponses:

6

Si vous avez une approximation hessois justifiée, il est préférable de l' utiliser plutôt que l'arbitraire .B0=I

xr>0r+1r+1q=B01f(x)G<1rGde la matrice d'identité. Ainsi, essayer de faire ce petit est très précieux. (Cela équivaut à préconditionner le système.) Le facteur de convergence s'améliore avec le temps et se rapproche finalement de zéro (convergence superlinéaire), mais dans de nombreux problèmes réels (en particulier ceux de grande dimension), on ne fait jamais suffisamment d'itérations pour atteindre le régime superlinéaire. Ainsi, la vitesse initiale est assez importante.

F(x)22B0=F(x0)TF(x0)x

Un autre cas important est lorsque vous résolvez une séquence de problèmes connexes. Souvent, le redémarrage du solveur avec l'approximation hessienne finale du problème précédent réduit considérablement le nombre d'itérations nécessaires.

Arnold Neumaier
la source
B0B0
k
@Paul: Voir ma modification.
Arnold Neumaier