scipy.optimize.
BFGS#
- class scipy.optimize.BFGS(exception_strategy='skip_update', min_curvature=None, init_scale='auto')[源代码]#
Broyden-Fletcher-Goldfarb-Shanno (BFGS) Hessian 更新策略。
- 参数:
- exception_strategy{‘skip_update’, ‘damp_update’}, 可选
定义当曲率条件被违反时如何进行。设置为 ‘skip_update’ 以直接跳过更新。或者,将其设置为 ‘damp_update’ 以在实际的 BFGS 结果和未修改的矩阵之间进行插值。两种异常策略都在 [1],第 536-537 页中进行了解释。
- min_curvature浮点数
该数字,通过归一化因子缩放,定义了最小曲率
dot(delta_grad, delta_x)
,允许不受异常策略的影响。默认情况下,当exception_strategy = 'skip_update'
时等于 1e-8,当exception_strategy = 'damp_update'
时等于 0.2。- init_scale{浮点数, np.array, ‘auto’}
此参数可用于初始化 Hessian 矩阵或其逆矩阵。当给定一个浮点数时,相关数组初始化为
np.eye(n) * init_scale
,其中n
是问题的维度。或者,如果给出一个精确(n, n)
形状的对称数组,将使用此数组。否则会生成错误。将其设置为 ‘auto’ 以使用自动启发式方法来选择初始比例。该启发式方法在 [1],第 143 页中进行了描述。默认值为 ‘auto’。
说明
此更新基于 [1],第 140 页中的描述。
参考文献
方法
dot
(p)计算内部矩阵与给定向量的乘积。
返回当前的内部矩阵。
initialize
(n, approx_type)初始化内部矩阵。
update
(delta_x, delta_grad)更新内部矩阵。