当前位置:文档之家› 关于拟牛顿法的综述

关于拟牛顿法的综述

几种拟牛顿算法综述摘要:拟牛顿方法是求解无约束优化问题有效而著名的算法。

在拟牛顿法中,有根据矫正公式的不同分为几类方法。

本文主要针对SR1、SR1的一种修改、BFGS、MBFGS、非单调的CBFGS、LBFGS这几种矫正公式产生方法进行理论阐述,包括其收敛性,收敛速度的证明并检验其在正定二次问题上的等价性。

最后通过C#编程语言检验上述方法在收敛速度上的差异性。

关键字:拟牛顿法、矫正公式、收敛性、非线性方程引言:考虑无约束问优化题minf(x)(0.1)f是连续可微的函数。

牛顿法利用Newton方法最突出的优点是其收敛速度快,凡是目标函数的Hessian矩阵较简单的问题都可以采用Newton方法,1-。

对于那些Hessian矩阵复杂的问题而言,求解Hessian矩阵无疑是一项艰巨的工程,这是很多学者选择采用拟牛顿的方法来解决现实中较复杂的问题的原因所在。

拟牛顿法和Newton法的主要区别于求解迭代方向。

拟牛顿法的主要思路是通过构造一个矩阵序列*H(k)+去逼近原问题迭代方向中的Hessian矩阵*G(k)−1+,这很好的避免了复杂矩阵求逆的问题。

在算法上很好的降低了计算量,从而提高计算速度。

为了寻找与G有某种近似的,我们需要来考察的各种相关关系。

为此目的,我们将f(x)的梯度在处作Taylor 展开,(δ)()δ(x) f(x)当δ充分小时,可得到近似关δ()δ(δ)()或δγ,γ 1 1(δ)(0.2)关系式(1)对二次函数f(x)恒成立,但对于不一定成立。

现在我们研究与寻找,使它满足关系式(1)。

为讨论与计算上的方便,当得到 1 δ时,δ,γ已知,我们求得 1,它满足关系:1δγ(0.3)为了叙述方便,我们引入=−1那么有以下式子成立1γ δ由于二次凸f(x)的性质,关系式(0.2)与(0.3)均成立,我们称它们为拟牛顿方程。

关系式(0.3)中δ ,γ 已知时,如何寻找适合的矩阵 1,已有若干文献讨论, 一个较为简单的办法是采用校正办法, 即令 1 or 1(0.4) 当 已知时,给出修正矩阵,就可得到 1、 1,修正矩阵不同,得到的 1、 1不同,由此形成的迭代算法也就不同,我们统称这类算法为拟牛顿算法。

正文1.秩1的拟牛顿算法,2-1.3 秩1的拟牛顿算法矫正形式设校正矩阵的形式为:Tk k-1k k k H =H +u u α (1.1)其中k 0α≠,k k12u =(u ,u ,,)0k kn L u ≠代入拟牛顿方程k H k k γδ= 得: 1()Tk k k k kk k H γαμμγδ-+= 注意k α,Tkμk γ都是数,所以向量k μ与1k k k H δγ--成比例,特殊地,不妨取()1Tk k k αμγ=,则有1k k k k H μδγ-=-。

因此可见1111()k TTTk kk kk k k k H αμγγμγδγ-===- 代入(1.1),得11k k-11()()H =H +()Tk k k k k k k k k k H H H δγδγγδγ------ (1.2)此为秩1算法矫正公式。

11,k k k k k k x x g g δγ++=-=- 1.2秩1算法步骤:Step1: 给出00,,01,0n x R H k ε∈≤≤=00取().d f x =-∇Step2:*k k k k+1k k k 若f (),停止运算,此时取x =x ;否则,进行精确线搜索求,既=argminf(x )并令x =x +d 。

k k kx d εαααα∇≤+Step3:计算1k+111111111111111()()()k kk k k T Tk k k k k kk k T Tk k k k kk k k x x f x f x H H H H H d H f x δγδδγγδγγγ+++++++++++++++=-=∇-∇=+-=-∇Step4: 令k=k+1,返回Step2(注释第一步迭代与最速下降法相同)1.1秩1算法性质及其收敛性证明,3-秩1拟牛顿算法,具有结构简单,易于实现的特点,当用于正定二次凸函数时,算法具有较好的收敛性质。

但是它也有缺点,一方面,即时k H 正定,也无法保证1k H +正定,还有分母可能为0。

收敛性证明同下一种修正秩1拟牛顿法,这里省略。

2.修正秩1拟牛顿法为了解决秩1拟牛顿算法产生的上述的两个问题,许多学者都提出了自己的想法,在这里选[3]取一种修正的秩1的拟牛顿法,并探讨其算法及其收敛性。

2.1修正秩1矫正公式为:11k k-11()()H =H +()Tk k k k k k k k k k k k k H H H δαγδαγαγδγ------ (2.1)其中11,k k k k k k x x g g δγ++=-=-,T k k k k k k 为任一满足H k ααγγδγ≠的实数。

从而易知此时k+1H 满足拟牛顿方程k +1k H =γδ (2.2)2.2修正秩1算法步骤:Step1:取初始点1x 和初始正定矩阵1H ,置k :=1.Step2:k k 计算g (),若g 0,停止计算;否则转为3。

k g x == Step3:置d H g 。

k k k =- Step4:求使αk()min{()|0}.k k k k k f x d f x d ααα+=+≥Step5:11+111置.计算g ()。

若g =0,停止计算;否则取满足0的任何一值,按(2.1)计算H .k k k k k k k k kk k k k k kx x d g x H αδγααγγ++++=+=<< Step6:置 k:=k+1.转Step3。

2.3修正秩1算法性质及其收敛性证明:引理 2.1 若修正秩1拟牛顿法算法在k x 处不停止,则k H 正定蕴含着1k H +也正定。

证.首先我们证明0k kk k kH δγγγ> (2.3)因k k k 110,正定,知d =-H 是点x 处的下降方向.因此中的0.但 () = ()= >0,k k k k k k k k k k k k k k k T T k k k k k k k k g H g x x H g g g H g g g H g δααδγδαα++≠=-=->=-(2.4)1从而又知 0.这样必有 H >0, (2.5)结合(2.4)和(2.5)既得(2.3).从而对满足0的任何一,有 ()0.此时因为一正定矩阵与一半正定矩阵之和,故结论显然。

k k k k k kk k k k kTk k k k k k H H H γγγδγααγγδαγγ+≠<<->定理2.211()为具有正定的Hessian 矩阵A 的二次凸函数,则对于任意给定的初始点x 和初始对称正定矩阵,该算法应用于f(x )时至多n+1步后迭代终止.f x H证.i 11211 (2.7)归纳法第一步,验证当k=2时(2.6)和(2.7)成立.由(2.1)知此时有首先我们用归纳法证明,对任意的1k n,有0 ( 1) (2.6) 当i=k H ... 当 H 由此1Ti j k i k i i A j i k i k δδδγαγδαδ++≤≤=≤≤≤=⎪≤<⎧⎪⎨⎩=212122222222223122122121222122122122212得 ()0.而 且 0, ()0.这样归纳法第一步验证完毕。

 ()() H =H +() TT T TT T TT T H A H g g A A A H A H H δαγδαγγαγγδγδδδγαγαδδγδδγγδγδδ==-=-======---iii 11i 当i =归纳法第二步,假设当k-1情形时, k-1H .有 0 ( 11), (2.8) (2.9)要证明0 ( 1), (2.10).. 当1-1 当i H k i k i i Tj k i Tij A j i k A j i i k k δγααδδγδδδδ-++=≤≤≤-⎧⎪⎨⎪⎩≤==<=≤≤≤1 = k ... 当(2.1)111k i i i k ααδ+≤<-⎧⎪⎨⎪⎩kk111,211k,-g 当j=k-1,( 2.13)...我们归纳假设知,当j=1,2,...,k-1时 () 注意到g 是处的梯度,而是依次沿非零两两共轭方向,,...做精确搜索所得的点,故有共轭性知g 垂直于g, 当1,1T T Tk j k j k k k jTk k k i k k k k j k Tj Tk k j j A H g g H x x k αδαααδδδδγαγαδδδδδ--+-==-⎧⎪=-=⎨<-⎪⎩≤1k+121k ,...,既 0 ( 0,1...,1) 这样从(2.13)变得 0 ( 0,1...,1) (2.14) 故证得(2.10) 所以我们下面只需证明(2.13)成立即可,当1i 1时 ()(H =H + k T k i T k k k k k k k k i k i g i k H H i k A k δαγδαγαγδδδδδ---==-==-≤≤--11i 11)() 根据归纳假设和(2.14)知 当i = k-1 H ... 当1-1Tk k ik k k k kk i k i i H i k γγγδγγδγααδ---+-=≤<⎧⎪⎨⎪⎩1k112 () (2.15) 从而 ()=0 (i=1,2,...,k-1) 联合(2.1)和(2.15),既证得(2.11). 从而(2.6),(2.7)成立,而当k=n 时,- 当i=k-1,..., 当11由(2.6)知,,...T Tkk i k k i Tk k Tk i Tk K i n i K i H A H S A i k H γγδγδδδααδαδδδγγδ-+⎧⎪=<-=⎨≤⎪⎩-为个非零的两两共轭方向,故算法至多在第1步终止。

此算法收敛!n n +3.BFGS 算法3.1BFGS 矫正公式BFGS 算法中的矫正公式为()()()()()()()()()()()1()()()()()()()()()()11δδγγδγδγδγδδ+⎡⎤⎢⎥=++⎢⎥⎣⎦⎡⎤-+⎢⎥⎣⎦T T k k k k kk kT T k k k k T T k k kkk k Tk k H H H y H H y (3.1)为了保证k H 的正定性,在下面算法步骤中迭代一定次数后,重置初始点和迭代矩阵再进行迭代。

3.2 BFGS 算法步骤1) 给定初始点(0)x ,初始矩阵0n H I =及精度0ε>; 2) 若()(0)f x ε∇≤,停止,极小点为(0)x ;否则转步骤3); 3) 取()(0)(0)0p H f x =-∇,且令0k =;4) 用一维搜索法求k t ,使得()()()()()min ()k k k k k k t f X t p f X tpα≥+=+,令(1)()()k k k x x tp +=+,转步骤5); 5) ()(1)k f x ε+∇≤,停止,极小值点为(1)k x +;否则转步骤6); 6) 若1k n +=,令(0)()n x x =,转步骤3);否则转步骤7);7) 令()()()()()()()()()()()1()()()()()()()()()()11δγγδγδγδγγδδγ+⎡⎤⎢⎥=++⎢⎥⎣⎦⎡⎤-+⎢⎥⎣⎦TT k k k k kk kTT k k k k T T k k k k k k Tk k H H H H H其中:()()()(1)()()(1)()δγ++=-=∇-∇k k k k k k x x f xf x,取()()(1)1k k k p H f x++=-∇,置1k k =+,转步骤4)。

相关主题