scipy.optimize.

HessianUpdateStrategy#

scipy.optimize.HessianUpdateStrategy[源码]#

用于实现 Hessian 更新策略的接口。

许多优化方法利用 Hessian(或逆 Hessian)近似,例如拟牛顿法 BFGS、SR1、L-BFGS。然而,其中一些近似实际上不需要存储整个矩阵,或者可以非常高效地计算给定向量与内部矩阵的乘积。此类作为优化算法和拟牛顿更新策略之间的抽象接口,赋予实现者自由地以尽可能高效的方式存储和更新内部矩阵。不同的初始化和更新过程选择将导致不同的拟牛顿策略。

派生类中应实现四种方法:initializeupdatedotget_matrix。矩阵乘法运算符 @ 也被定义为调用 dot 方法。

方法

dot(p)

计算内部矩阵与给定向量的乘积。

get_matrix()

返回当前内部矩阵。

initialize(n, approx_type)

初始化内部矩阵。

update(delta_x, delta_grad)

更新内部矩阵。

备注

任何实现了此接口的类实例,都可以被 minimize 方法接受,并由兼容的求解器用于近似优化算法中使用的 Hessian(或逆 Hessian)。