导航:首页 > 源码编译 > bfgs算法的收敛性

bfgs算法的收敛性

发布时间:2025-03-29 11:22:27

‘壹’ BFGS算法剖析与实现

在优化算法领域,BFGS算法是一种广受欢迎的方法,其核心思想是逼近Hessian矩阵的逆,以提升梯度下降的效率。相较于DFP算法,BFGS算法在推导过程中有着不同的初始目标,因此其迭代公式与DFP算法存在差异。

BFGS算法通过Sherman-Morrison公式对输出进行变换,从而实现更新Hessian逆矩阵的目标。这个公式在矩阵运算中非常关键,能够有效减少计算复杂度,提升算法效率。在实现过程中,BFGS算法需要遵循特定的更新公式,以确保迭代过程的收敛性与稳定性。

实现BFGS算法的代码通常可以找到,例如在特定的GitHub仓库中。代码的使用方法也应详细说明,以便开发者能够快速上手并应用到实际问题中。

在实践应用中,BFGS算法表现出色,尤其是在变量数量不超过100时。对比其他方法,如共轭梯度法,BFGS算法往往能够提供更好的性能,尤其是在需要变尺度调整的场景中。这些性能优势使得BFGS算法成为优化问题中的有力工具。

值得注意的是,修正版的BFGS算法在处理特定问题时,对公式中的权重要求正定性,而权重计算通常使用一阶原始梯度即可,无需额外的负号。先前的算法剖析中提到的正定放松约束实际上没有必要,直接应用正定权重公式即可。

综合来看,BFGS算法在优化问题中展现出独特的优势,尤其是在特定规模的问题上。通过深入理解其原理与实现细节,开发者能够更有效地应用BFGS算法解决实际问题。

‘贰’ 【技术分享】L-BFGS算法

本文原作者:尹迪,经授权后发布。

原文链接: cloud.tencent.com/devel...

在优化领域,牛顿法和拟牛顿法是常用的求解极小化问题的方法,但它们各有优劣。牛顿法虽然收敛速度快,但计算复杂,需要求解Hesse矩阵及其逆矩阵;而拟牛顿法通过近似Hesse矩阵的逆矩阵,避免了求解Hesse矩阵的复杂性。本文将详细介绍牛顿法、拟牛顿法,包括DFP算法、BFGS算法以及限制内存BFGS(L-BFGS)算法,并探讨L1正则化与OWL-QN算法。

牛顿法通过Taylor级数展开逼近目标函数,并在当前点进行二阶优化,以求得极小点的估计。然而,当初始点远离极小点时,牛顿法可能不收敛,因此引入阻尼牛顿法,通过增加搜索方向来提高稳定性。

拟牛顿法通过构建不包含二阶导数的矩阵来近似Hesse矩阵的逆矩阵,克服了牛顿法的计算复杂性。其中,DFP算法通过秩1校正策略构造近似矩阵,而BFGS算法进一步优化了DFP算法,使得计算效率更高。

L-BFGS算法针对大规模优化问题,通过限制存储和计算,仅保存最近m次迭代信息,极大地减少了数据存储空间,提高了计算效率。通过重新整理迭代公式,L-BFGS算法在保持收敛性的同时,显着降低了计算复杂性。

在机器学习中,L1正则化被广泛应用,它通过添加L1正则项到损失函数中,限制模型参数,达到特征选择和减少过拟合的效果。为了解决L1正则化项不可微的难题,OWL-QN算法基于L-BFGS算法,采用象限映射和伪梯度函数,实现了解L1正则化优化问题的有效算法。

本文详细探讨了牛顿法、拟牛顿法、L-BFGS算法、L1正则化以及OWL-QN算法的原理、构造和应用,为优化问题的求解提供了丰富的理论基础和实际应用指导。

‘叁’ 混沌优化算法可以求解全局最优解吗

非线性最优化问题的一种混合解法

摘 要:把BFGS方法与混沌优化方法相结合,基于混沌变量提出一种求解具有变量边界约束非线性最优化问题的混合优化方法。混合算法兼顾了混沌优化全局搜索能力强和BFGS方法收敛速度快的优点,成为一种求解非凸优化问题全局最优的有效方法。算例表明,当混沌搜索的次数达到一定数量时,混合优化方法可以保证算法收敛到全局最优解,且计算效率比混沌优化方法有很大提高。

关键词:混合法;BFGS方法;混沌优化方法;全局最优

1 引言
在系统工程、控制工程、统计学、反问题优化求解等领域中,很多问题是具有非凸性的。对此普通的优化技术只能求出局部最优解,因为这些确定性算法总是解得最近的一个极值点[1],只有能够给出很好的初始点才有可能得出所需要的全局最优解。为此,实际应用中通过在多个初始点上使用传统数值优化方法来求取全局解的方法仍然被人们所采用,但是这种处理方法求得全局解的概率不高,可靠性低,建立尽可能大概率的求解全局解算法仍然是一个重要问题。近年来基于梯度法的全局最优化方法已经有所研究[2],基于随机搜索技术的遗传算法和模拟退火算法等在全局优化问题中的应用也得到越来越大的重视[3-4]。本文则基于混沌优化和BFGS方法,提出一种求解具有简单界约束最优化问题(1)的混合算法。
混沌是存在于非线性系统中的一种较为普遍的现象。混沌运动宏观上无序无律,具有内随机性、非周期性和局部不稳定性,微观上有序有律,并不是完全的随机运动,具有无穷嵌套的自相似几何结构、存在普适性规律,并不是杂乱无章的。利用混沌变量的随机性、遍历性和规律性特点可以进行优化搜索[5],且混沌优化方法容易跳出局部最优点。但是某些状态需要很长时间才能达到,如果最优值在这些状态时,计算时间势必很长[5]。可以说混沌优化具有全局搜索能力,其局部搜索能力稍显不足,文[5]采用二次载波技术,文[6]考虑逐渐缩小寻优变量的搜索空间都是为了弥补这一弱点。而本文则采用混沌搜索与BFGS方法进行优化求解,一方面采用混沌搜索帮助BFGS方法跳出局部最优,另一方面利用BFGS增强解附近的超线性收敛速度和搜索能力,以提高搜索最优的效率。
2 混沌-BFGS混合优化方法
2.1 BFGS方法
作为求解无约束最优化问题的拟牛顿方法类最有代表性的算法之一,BFGS方法处理凸非线性规划问题,以其完善的数学理论基础、采用不精确线性搜索时的超线性收敛性和处理实际问题有效性,受到人们的重视[7-9]。拟牛顿方法使用了二阶导数信息,但是并不直接计算函数的Hesse矩阵,而是采用一阶梯度信息来构造一系列的正定矩阵来逼近Hesse矩阵。BFGS方法求解无约束优化问题min()的主要步骤如下:
(1) 给变量赋初值x0,变量维数n和BFGS方法收敛精度ε,令B0=I(单位阵),k=0,计算在点x0的梯度g0。
(2) 取sk=-Bk-1gk,沿sk作一维搜索,确定最优步长αk,,得新点xk+1=xk+αksk,计算xk+1点的梯度gk+1。
(3) 若||gk+1||≤ε,则令,,BFGS搜索结束,转步骤3;否则执行(4)。
(4) 计算Bk+1:
(2)
(3)
(5) k=k+1,转(2)。
2.2 混沌优化方法
利用混沌搜索求解问题(1)时,先建立待求变量与混沌变量的一一对应关系,本文采用。然后,由Logistic映射式(4)产生个轨迹不同的混沌变量()进行优化搜索,式(4)中=4。已经证明,=4是“单片”混沌,在[0,1]之间历遍。
(4)
(1)给定最大混沌变量运动次数M;给赋初值,计算和;置,。
(2) 。
(3) 。
(4) 若k<M,
若,令,;
若,和保持不变;
然后令k=k+1,,转(2)。
若k>M,则,,混沌搜索结束。
2.3 混合优化方法
混沌方法和BFGS方法混合求解连续对象的全局极小值优化问题(1)的步骤如下:
step1 设置混沌搜索的最大次数M,迭代步数iter=0,变量赋初值x0,。
step2 以为始点BFGS搜索,得当前BFGS方法最优解及=。
step3 若,取=;若,取;若,取,是相对于,较小的数。
step 4 以为始点进行混沌搜索M次,得混沌搜索后的最优解及=。
step5 若<,iter=iter+1,,转step2;否则执行step6。
step6 改变混沌搜索轨迹,再次进行混沌搜索,即给加微小扰动,执行step 4,得搜索结果和。若<,iter=iter+1,,转step2;否则计算结束,输出、。
对全局极大值问题,max ,可以转化为求解全局极小问题min 。
混合算法中混沌搜索的作用是大范围宏观搜索,使得算法具有全局寻优性能。而BFGS搜索的作用是局部地、细致地进行优化搜索,处理的是小范围搜索问题和搜索加速问题。
3 算例

图 1 函数-特性示意图 图 2 函数特性示意图
采用如下两个非常复杂的、常用于测试遗传算法性能的函数测试本文算法:

函数称为Camel 函数,该函数有6个局部极小点(1.607105, 0.568651)、(-1.607105, -0.568651)、(1.703607, -0.796084)、(-1.703607, 0.796084)、(-0.0898,0.7126)和(0.0898,-0.7126),其中(-0.0898,0.7126)和(0.0898,-0.7126)为两个全局最小点,最小值为-1.031628。函数称为 Schaffer's函数,该函数有无数个极大值,其中只有(0,0)为全局最大点,最大值为1。此函数的最大峰值周围有一圈脊,它们的取值均为0.990283,因此很容易停留在此局部极大点。文献[10]采用该函数对该文提出的基于移动和人工选择的改进遗传算法(GAMAS)其性能进行了考察,运行50次,40%的情况下该函数的唯一全局最优点能够找到。而采用本文混合算法,由计算机内部随机函数自动随机生产100个不同的初始点,由这些初始点出发,一般混合算法迭代2-4次即能够收敛。M取不同数值时对函数、的计算结果分别如表1和表2所示,表中计算时间是指在奔腾133微机上计算时间。
由表2可见,当M=1500时,本文方法搜索到最优解的概率即达到40%,而此时计算量比文献[10]小。同样由混合算法的100个起始点,采用文献[5]的算法对函数优化计算100次,以作为收敛标准,混沌搜索50000次,计算结果为67次搜索到最优解,概率为67%,平均计算时间为1.2369s。而即使保证混合算法100次全收敛到最优解所花费的平均计算时间也只为0.2142s(表1),可见混合算法优于文献[5]的方法。
表1 M取不同数值时函数的计算结果
_____________________________________________________________________
M 搜索到全局最优点的次数 搜索到最优的概率 平均计算时间
(-0.0898,0.7126) (0.0898,-0.7126)
_____________________________________________________________________________________________
1000 44 39 83% 0.1214s
3000 53 45 98% 0.1955s
5000 53 47 100% 0.2142s
________________________________________________________________________________________________

表2 M取不同数值时函数的计算结果
___________________________________________________________
M 搜索到全局最优点的次数 搜索到最优的概率 平均计算时间
____________________________________________________________________________________
1500 40 40% 0.1406s
5000 73 73% 0.2505s
10000 88 88% 0.4197s
50000 100 100% 1.6856s
____________________________________________________________________________________

4 计算结果分析
由表1和表2可见,混合算法全局寻优能力随M的增加而增大,当M达到某一足够大的数值Mu后,搜索到全局最优的概率可以达到100%。
从理论上说,Mu趋向无穷大时,才能使混沌变量遍历所有状态,才能真正以概率1搜索到最优点。但是,本文混沌运动M次的作用是帮助BFGS方法跳出局部最优点,达到比当前局部最优函数值更小的另一局部最优附近的某一点处,并不是要混沌变量遍历所有状态。由混沌运动遍历特性可知,对于某一具体问题,Mu达到某一具体有限数值时,混沌变量的遍历性可以得到较好模拟,这一点是可以满足的,实际算例也证实了这一点。
由于函数性态、复杂性不同,对于不同函数,如这里的测试函数、,数值Mu的大小是有差别的。对于同一函数,搜索区间增大,在相同混沌运动次数下,即使始点相同,总体而言会降低其搜索到全局最优的概率,要保证算法仍然以概率1收敛到全局最优,必然引起Mu 增大。跟踪计算中间结果证实,当M足够大时,混合算法的确具有跳出局部最优点,继续向全局最优进行搜索的能力;并且混合算法的计算时间主要花费在为使混合算法具有全局搜索能力而进行混沌搜索上。
5 结语
利用混沌变量的运动特点进行优化,具有非常强的跳出局部最优解的能力,该方法与BFGS方法结合使用,在可以接受的计算量下能够计算得到问题的最优解。实际上,混沌优化可以和一般的下降类算法结合使用,并非局限于本文采用的BFGS方法。采用的Logistic映射产生混沌变量序列,只是产生混沌变量的有效方式之一。
混沌运动与随机运动是不同的。混沌是确定性系统中由于内禀随机性而产生的一种复杂的、貌似无规的运动。混沌并不是无序和紊乱,更像是没有周期的秩序。与随机运动相比较,混沌运动可以在各态历经的假设下,应用统计的数字特征来描述。并且,混沌运动不重复地经过同一状态,采用混沌变量进行优化比采用随机变量进行优化具有优势。
混沌优化与下降类方法结合使用是有潜力的一种全局优化途径,是求解具有变量界约束优化问题的可靠方法。如何进一步提高搜索效率,以及如何把混沌优化有效应用于复杂约束优化问题是值得进一步研究的课题。
本文算法全局收敛性的严格数学证明正在进行之中。
参考文献
[1]胡山鹰,陈丙珍,何小荣,沈静珠.非线性规划问题全局优化的模拟退火法[J].清华大学学报,37(6),1997,5-9.
[2]C A Floudas, A Aggarwal, A R Ciric. Global optimum search for nonconvex NLP and MINLP problems[J]. Comput Chem Engng. 1989, 13(10), 1117~1132.
[3]康立山,谢云,尤矢勇等.非数值并行算法(第一册)――模拟退火算法[M].北京:科学出版社,1998.
[4]刘勇,康立山,陈琉屏.非数值并行算法(第二册)――遗传算法[M].北京:科学出版社,1998.
[5]李兵,蒋慰孙.混沌优化方法及其应用[J].控制理论与应用,14(4),1997,613-615.
[6]张彤,王宏伟,王子才.变尺度混沌优化方法及其应用[J].控制与决策,14(3),1999,285-287.
[7]席少霖.非线性最优化方法[M].北京:高等教育出版社,1992.
[8]席少霖,赵凤志.最优化计算方法[M].上海:上海科学技术出版社,1983.
[9]Press W H, Tenkolsky S A, Vetterling W T, Flannery B P.Numerical Recipes in C, The Art of Scientific Computing[M]. Second edition, Cambridge University Press, 1992.
[10]J C Ports.The development and evaluation of an improved genetic algorithm based on migration and artificial selection[J].IEEE Trans. Syst. Man and Cybern..1994, 24(1),73-85.
A Hybrid Approach for Nonlinear Optimization
Abstract:Combined BFGS method with chaos optimization method, a hybrid approach was proposed to solve nonlinear optimization problems with boundary restraints of variables. The hybrid method is an effective approach to solve nonconvex optimization problems, as it given both attentions to the inherent virtue to locate global optimum of chaos optimization method and the advantage of high convergence speed of BFGS method. Numerical examples illustrate that the present method possesses both good capability to search global optima and far higher convergence speed than that of chaos optimization method.

阅读全文

与bfgs算法的收敛性相关的资料

热点内容
云主机快还是服务器快 浏览:800
公积金app怎么申请公积金 浏览:467
电机的额定电流算法 浏览:41
君威怎么连手机app 浏览:630
证书被加密 浏览:655
下大封城命令 浏览:494
哪个APP可以看欧洲篮球 浏览:421
phpsession重复 浏览:252
php多条件判断语句 浏览:381
服务器uhd是什么东西 浏览:996
解压泡泡纸的双人玩法 浏览:607
linux下显示乱码 浏览:883
编译器设计之路源码 浏览:193
华为文件夹大图标如何能完全显示 浏览:787
加密相册哪里看 浏览:55
pythonapriori算法实现 浏览:410
高效学习法pdf 浏览:785
投资的书籍哪个app可以看 浏览:833
phpmysql经纬度 浏览:210
u盘自带的文件夹怎么删除 浏览:605