跳转到内容

BFGS算法:修订间差异

维基百科,自由的百科全书
删除的内容 添加的内容
标签TW 移除删除性模板
Jonathan5566留言 | 贡献
无编辑摘要
 
(未显示2个用户的3个中间版本)
第1行: 第1行:
{{Onesource|time=2021-05-24T10:30:43+00:00}}
在[[数值分析|数值]][[最优化|优化]]中, '''Broyden–Fletcher–Goldfarb–Shanno(BFGS)算法'''是一种求解无约束[[非线性规划|非线性优化]]问题的[[迭代法|迭代算法]]。 <ref>{{Citation|last=Fletcher|first=Roger|title=Practical Methods of Optimization|publisher=[[John Wiley & Sons]]|place=New York|edition=2nd|isbn=978-0-471-91547-8|year=1987|url=https://archive.org/details/practicalmethods0000flet}}</ref>和相关的Davidon–Fletcher–Powell算法类似,BFGS算法通过利用[[曲率]]信息对[[梯度]]进行预处理来确定下降方向。曲率信息则是通过维护一个使用广义的[[割线法]]逐步近似的关于[[损失函数]]的[[Hessian矩阵|Hessian矩陣]]来获得。
在[[数值分析|数值]][[最优化|优化]]中, '''Broyden–Fletcher–Goldfarb–Shanno(BFGS)算法'''是一种求解无约束[[非线性规划|非线性优化]]问题的[[迭代法|迭代算法]]。 <ref>{{Citation|last=Fletcher|first=Roger|title=Practical Methods of Optimization|publisher=[[John Wiley & Sons]]|place=New York|edition=2nd|isbn=978-0-471-91547-8|year=1987|url=https://archive.org/details/practicalmethods0000flet}}</ref>和相关的Davidon–Fletcher–Powell算法类似,BFGS算法通过利用[[曲率]]信息对[[梯度]]进行预处理来确定下降方向。曲率信息则是通过维护一个使用广义的[[割线法]]逐步近似的关于[[损失函数]]的[[Hessian矩阵|Hessian矩陣]]来获得。
== 算法 ==
== 算法 ==
第10行: 第11行:
#
#


<math>f(\mathbf{x})</math>表示要最小化的目标函数。可以通过检查[[梯度]]的[[范数|范数 <math>||\nabla f(\mathbf{x}_k)||</math>]]来判收敛性。如果<math>B_0</math>初始化为<math>B_0 = I</math>,第一步将等效于[[梯度下降法|梯度下降]],但接下来的步骤会受到近似于[[Hessian矩阵]]的<math>B_{k}</math>的调节。
<math>f(\mathbf{x})</math>表示要最小化的目标函数。可以通过检查[[梯度]]的[[范数|范数 <math>||\nabla f(\mathbf{x}_k)||</math>]]来[[收敛性判别法|收敛性]]。如果<math>B_0</math>初始化为<math>B_0 = I</math>,第一步将等效于[[梯度下降法|梯度下降]],但接下来的步骤会受到近似于[[Hessian矩阵]]的<math>B_{k}</math>的调节。


== 拓展阅读 ==
== 拓展阅读 ==
第18行: 第19行:
<references />
<references />


[[Category:命名來源]]
[[Category:最优化算法]]

2021年5月24日 (一) 10:31的最新版本

数值优化中, Broyden–Fletcher–Goldfarb–Shanno(BFGS)算法是一种求解无约束非线性优化问题的迭代算法[1]和相关的Davidon–Fletcher–Powell算法类似,BFGS算法通过利用曲率信息对梯度进行预处理来确定下降方向。曲率信息则是通过维护一个使用广义的割线法逐步近似的关于损失函数Hessian矩陣来获得。

算法

[编辑]

从起始点和初始的Hessian矩阵,重复以下步骤,会收敛到优化问题的解:

  1. 通过求解方程,获得下降方向
  2. 方向上进行一维的优化(线搜索),找到合适的步长。如果这个搜索是完全的,则 。在实际应用中,不完全的搜索一般就足够了,此时只要求满足Wolfe条件
  3. ,并且令

表示要最小化的目标函数。可以通过检查梯度范数 判斷收敛性。如果初始化为,第一步将等效于梯度下降,但接下来的步骤会受到近似于Hessian矩阵的调节。

拓展阅读

[编辑]

参考文献

[编辑]
  1. ^ Fletcher, Roger, Practical Methods of Optimization 2nd, New York: John Wiley & Sons, 1987, ISBN 978-0-471-91547-8