BFGS 对初始 Hessian 近似的敏感性

计算科学 优化 算法
2021-12-12 04:18:06

我正在尝试实现 Broyden-Fletcher-Goldfarb-Shanno 方法来找到函数的最小值。我需要两个初步猜测x1&x0和一个初始的 Hessian 矩阵近似B0. 我找到的唯一要求B0是如果 Hessian 是对称正定的,那么也应该B0. 查看维基百科,我看到一个典型的初始近似值是B0=I(单位矩阵)。这总是一个好的开头吗B0? 有什么理由我可能想选择除I? 满足相同矩阵性质的 B 的其他选择会极大地影响方法的收敛性吗?

1个回答

如果你有一个合理的 Hessian 近似值,最好使用它而不是任意的B0=I.

编辑:理由是,如果您开始接近解决方案x,初始收敛速度是(对于任何r>0)r+1-步线性与r+1-步收敛因子q=B01f(x)G如果对于单位矩阵的某个秩r校正G ,这<1 。因此,尝试将其缩小是非常有价值的。(这相当于对系统进行预处理。)收敛因子随着时间的推移而提高并最终接近于零(超线性收敛),但在许多实际问题(尤其是高维问题)中,人们永远不会进行足够的迭代以达到超线性状态。因此,初始速度非常重要。<1rG

一个重要的情况是在求解非线性最小二乘问题时(最小化),其中初始 Hessian 的高斯-牛顿近似可以是无需二阶导数即可计算。使用它使BFGS方法仿射不变量,即像牛顿法一样F(x)22B0=F(x0)TF(x0)x

另一个重要的案例是当您解决一系列相关问题时。通常,使用前一个问题的最终 Hessian 近似重新启动求解器会显着减少所需的迭代次数。