SR1#
- class scipy.optimize.SR1(min_denominator=1e-08, init_scale='auto')[Quelle]#
Symmetrische Rang-1-Hessian-Update-Strategie.
- Parameter:
- min_denominatorfloat
Diese Zahl, skaliert durch einen Normierungsfaktor, definiert die zulässige minimale Nennergröße beim Update. Wenn die Bedingung verletzt wird, überspringen wir das Update. Standardmäßig wird
1e-8verwendet.- init_scale{float, np.array, ‘auto’}, optional
Dieser Parameter kann verwendet werden, um die Hesse-Matrix oder ihre Inverse zu initialisieren. Wenn ein Float-Wert angegeben wird, wird das relevante Array mit
np.eye(n) * init_scaleinitialisiert, wobeindie Problemdimension ist. Alternativ, wenn ein Array der exakten Form(n, n)und symmetrisch angegeben wird, wird dieses Array verwendet. Andernfalls wird ein Fehler generiert. Setzen Sie es auf 'auto', um eine automatische Heuristik zur Auswahl der anfänglichen Skalierung zu verwenden. Die Heuristik wird in [1], S. 143, beschrieben. Der Standardwert ist 'auto'.
Methoden
dot(p)Berechnet das Produkt der internen Matrix mit dem gegebenen Vektor.
Gibt die aktuelle interne Matrix zurück.
initialize(n, approx_type)Initialisiert die interne Matrix.
update(delta_x, delta_grad)Interne Matrix aktualisieren.
Hinweise
Das Update basiert auf der Beschreibung in [1], S. 144-146.
Referenzen