J'effectue une recherche de ligne dans le cadre d'un algorithme BFGS quasi-Newton. Dans une étape de la recherche de ligne, j'utilise une interpolation cubique pour me rapprocher du minimiseur local.
Soit la fonction d'intérêt. Je veux trouver un tel que .x ∗ f ′ ( x ∗ ) ≈ 0
Soit , , et connus. Supposons également . J'ajuste un polynôme cubique sorte que , , Q (x_ {k +1} -x_ {k}) = f (x_ {k + 1}) et Q '(x_ {k + 1} -x_ {k}) = f' (x_ {k + 1}) .f ′ ( x k ) f ( x k + 1 ) f ′ ( x k + 1 ) 0 ≤ x k < x ∗ < x k + 1 Q ( x ) = a x 3 + b x 2 + c x + d Q ( 0 ) = fQ ′ ( 0 ) = f ′ ( x k ) Q ( x k + 1 - x k ) = f ( x k + 1 ) Q ′ ( x k + 1 - x k ) = f ′ ( x k + 1 )
Je résous l'équation quadratique: pour mon utilisant la solution de forme fermée.
Ce qui précède fonctionne bien dans la plupart des cas, sauf lorsque comme la solution de forme fermée pour divise par qui devient très proche ou exactement .
Ma solution est de regarder et si elle est "trop petite" il suffit de prendre la solution de forme fermée pour le minimiseur du polynôme quadratique pour lequel j'ai déjà les coefficients de l'ajustement antérieur à .
Ma question est: comment puis-je concevoir un bon test pour savoir quand prendre l'interpolation quadratique sur le cube? L'approche naïve pour tester est mauvaise pour des raisons numériques, donc je regarde où est la précision de la machine, mais je ne peux pas décider d'un bon qui soit invariant à l'échelle de .| a | < ϵ τ ϵ τ f
Question bonus: y a-t-il des problèmes numériques avec l'utilisation des coefficients, , de l'ajustement cubique échoué ou dois-je effectuer un nouvel ajustement quadratique avec une méthode appropriée de calcul des coefficients?
Modifier pour clarification: Dans ma question, est en fait ce qui est communément appelé dans la littérature. Je viens de simplifier la formulation de la question. Le problème d'optimisation que je résous est non linéaire en 6 dimensions. Et je suis bien conscient que les conditions de Wolfe sont suffisantes pour la recherche de ligne BFGS, déclarant donc que j'étais intéressé par ; Je cherche quelque chose qui satisfera les fortes conditions de Wolfe et prendre le minimiseur de l'approximation cubique est une bonne étape en cours de route.ϕ ( α ) = f ( ˉ x k + α ¯
La question ne portait pas sur les BFGS, mais plutôt sur la façon de déterminer quand le coefficient cubique est suffisamment petit pour qu'une approximation quadratique soit plus appropriée.
Edit 2: Mettre à jour la notation, les équations sont inchangées.
Il y a un article de Moré, mis en œuvre par Nocedal, à ce sujet:
la source