收敛速度的快慢是决定一个算法好坏的重要因素。在拟牛顿算法中,算法的收敛性在某种程度上等价于Dennis-Moré条件,但这并不意味着算法所产生的迭代矩阵就会收敛到Hessian矩阵。本文证明了由求解对称非线性方程组的Gauss-Newton BFGS方法所产生的迭代矩阵序列的收敛性,并通过数值实验对结论进行验证。 The speed of convergence is an important factor that determines the quality of an algorithm. In the quasi-Newton algorithm, the convergence of the algorithm is equivalent to the Dennis-Moré condi-tion to some extent, but this does not mean that the iterative matrix generated by the algorithm will converge to the Hessian matrix. This paper proves the convergence of the iterative matrix se-quence generated by the Gauss-Newton BFGS method for solving symmetric nonlinear equations, and validates the conclusion by numerical experiments.
收敛速度的快慢是决定一个算法好坏的重要因素。在拟牛顿算法中,算法的收敛性在某种程度上等价于Dennis-Moré条件,但这并不意味着算法所产生的迭代矩阵就会收敛到Hessian矩阵。本文证明了由求解对称非线性方程组的Gauss-Newton BFGS方法所产生的迭代矩阵序列的收敛性,并通过数值实验对结论进行验证。
BFGS方法,收敛性
Chuyang Chen
School of Mathematics and Statistics, Changsha University of Science and Technology, Changsha Hunan
Received: Jul. 8th, 2022; accepted: Aug. 2nd, 2022; published: Aug. 11th, 2022
The speed of convergence is an important factor that determines the quality of an algorithm. In the quasi-Newton algorithm, the convergence of the algorithm is equivalent to the Dennis-Moré condition to some extent, but this does not mean that the iterative matrix generated by the algorithm will converge to the Hessian matrix. This paper proves the convergence of the iterative matrix sequence generated by the Gauss-Newton BFGS method for solving symmetric nonlinear equations, and validates the conclusion by numerical experiments.
Keywords:BFGS Method, Convergence
Copyright © 2022 by author(s) and beplay安卓登录
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
我考虑如下非线性方程组:
g ( x ) = 0 , x ∈ R n .
其中g是 R n 到 R n 上的可微映射且g的雅可比阵 ∇ g ( x ) 是对称的。在这种情况下我把g看作某个函数f从 R n 到R的梯度映射,从而 g ( x ) = ∇ f ( x ) , ∇ g ( x ) = ∇ 2 f ( x ) , g ( x ) = 0 就是无约束优化问题:
min x ∈ R n f ( x ) .
的一阶必要条件。
DONGHUI LI and MASAO FUKUSHIMA在 [
x k + 1 = x k + λ k p k ,
p k : = − B k − 1 ( g ( x k + λ k − 1 g k ) − g k ) λ k − 1 , g k : = g ( x k ) .
其中 p k 是搜索方向,步长 λ k > 0 且使得序列 { g k } 在总体上具有近似范数下降性。矩阵 B k 由BFGS公式进行更新来确保它的正定性从而 p k 就是映射g在迭代点 x k 处的下降方向,因此 B k 满足割线方程:
B k + 1 s k = y k ,
其中
s k : = x k + 1 − x k , y k : = g ( x k + δ k ) − g k , δ k = g k + 1 − g k .
和常用的BFGS公式不同的是我经常用 y k 来表示梯度差而这里用 δ k 表示,在这种情况下我有以下近似关系:
y k ≈ ∇ g k + 1 δ k ≈ ∇ g k + 1 ∇ g k + 1 s k .
又因为 B k + 1 满足割线方程且雅可比阵 ∇ g k 是对称的,我又有以下近似关系:
B k + 1 s k ≈ ∇ g k + 1 ∇ g k + 1 s k ≈ ∇ g k + 1 ∇ g k + 1 T s k .
这就意味着 B k + 1 沿 s k 方向近似于 ∇ g k + 1 ∇ g k + 1 T ,又因为
λ k − 1 − 1 ( g ( x k + λ k − 1 g k ) − g k ) ≈ ∇ g k g k ,
所以我得到
B k p k + ∇ g k g k ≈ 0 .
因此我把 p k 看作Gauss-Newton的近似方向,把这种方法称为Gauss-Newton-based BFGS方法。该方法的优点在于不需要计算雅可比阵并且在合适的条件下具有全局收敛性和超线性收敛性。
我让函数f满足以下假设:
1) 函数f在 R n 上二阶连续可微。
2) ∃ M > 0 ,对 ∀ x ∈ Ω 1 , ‖ ∇ 2 f ( x ) ‖ ≤ M 。
3) ∇ 2 f ( x ) 在 Ω 1 上一致非奇异。
其中 Ω 1 的定义见 [
在以上假设条件下,由 [
4) ∃ x * 使得 g ( x * ) = 0 。
5) ∑ k ‖ x k − x * ‖ < ∞ , ∑ k ‖ s k ‖ < ∞ 。
6) 当 k → ∞ 时, B k + 1 总是由BFGS公式更新。
我进一步假设:
7) ∇ 2 f ( x * ) 是正定的且 ∇ 2 f ( x ) 在 x * 处Lipschitz连续,即 ‖ ∇ 2 f ( x ) − ∇ 2 f ( x * ) ‖ ≤ L ‖ x − x * ‖ ,其中x属于 x * 的一个邻域。
同样我从 [
8) sup k ‖ B k ‖ < ∞ , sup k ‖ B k − 1 ‖ < ∞ 。
9) 当 k → ∞ 时, λ k 恒等于1。
类似于常用的BFGS方法,超线性收敛性在某种程度上等价于Dennis-Moré条件 [
lim k → ∞ ‖ ( B k − ∇ g * ∇ T g * ) s k ‖ ‖ s k ‖ = 0 .
但这并不意味着 B k 就一定最终等于 ∇ g * ∇ T g * (由 [
Gauss-Newton-based BFGS算法
Step 0. Choose an initial point x 0 ∈ R n , an initial symmetric positive definite matrix B 0 ∈ R n × n , a positive
sequence { ω k } satisfying ∑ k = 0 ∞ ω k < ∞ , and constants r , ρ ∈ ( 0 , 1 ) , σ 1 , σ 2 > 0 , λ − 1 > 0 . Let k : = 0 .
Step 1. Stop if g k = 0 . Otherwise, solve the following linear equation to get p k :
B k p + λ k − 1 − 1 ( g ( x k + λ k − 1 g k ) − g k ) = 0 .
Step 2. If
‖ g ( x k + p k ) ‖ ≤ ρ ‖ g k ‖ ,
then take λ k = 1 and go to Step 4. Otherwise go to Step 3.
Step 3. Let i k be the smallest nonnegative integer i such that:
‖ g ( x k + λ p k ) ‖ 2 − ‖ g k ‖ 2 ≤ − σ 1 ‖ λ g k ‖ 2 − σ 2 ‖ λ p k ‖ 2 + ω k ‖ g k ‖ 2 holds for λ = r i .
Let λ k = r i k .
Step 4. Let the next iterate be x k + 1 = x k + λ k p k .
Step 5. Put s k = x k + 1 − x k = λ k p k , δ k = g k + 1 − g k , and y k = g ( x k + δ k ) − g ( x k ) . If y k T s k ≤ 0 , then B k + 1 = B k and go to Step 6. Otherwise, update B k by the BFGS formula:
B k + 1 = B k − B k s k s k T B k s k T B k s k + y k T y k s k T y k .
Step 6. Let k : = k + 1 . Go to Step 1.
由BFGS方法的不变性,我假设 ∇ 2 f ( x * ) ∇ 2 f ( x * ) T = I 。如果函数 f ( x ) 是二次函数,那么 g ( x ) 就是线性的,那么此时
p k = − B k − 1 g , y k = g k + 1 − g k = δ k ,
我直接由 [
y k = g ( x k + δ k ) − g k = ∫ 0 1 ∇ 2 f ( x k + θ δ k ) d θ δ k = ∫ 0 1 ∇ 2 f ( x k + θ δ k ) d θ ∫ 0 1 ∇ 2 f ( x k + θ s k ) d θ s k = Q k P k s k
其中 Q k = ∫ 0 1 ∇ 2 f ( x k + θ δ k ) d θ , P k = ∫ 0 1 ∇ 2 f ( x k + θ s k ) d θ 。
有假设得知当k充分大时, P k 是正定矩阵且
P k = Ι + O ( ‖ s k ‖ ) ,
同理当k充分大时
δ k = g k + 1 − g k = ∫ 0 1 ∇ 2 f ( x k + t s k ) d θ s k = s k + O ( ‖ s k ‖ 2 ) ,
y k = [ Ι + O ( ‖ δ k ‖ ) ] [ Ι + O ( ‖ s k ‖ ) ] d θ s k = s k + O ( ‖ s k ‖ 2 ) .
因此由BFGS公式我有
B k + 1 = B k − B k s k s k T B k s k T B k s k + y k T y k s k T y k = B k − B k s k s k T B k s k T B k s k + s k T s k s k T s k + O ( ‖ s k ‖ ) = B ′ k + 1 + O ( ‖ s k ‖ ) (1)
我定义 E k : = B k − Ι , λ k i , i = 1 , 2 , ⋯ , n 是它的特征值且 | λ k 1 | ≤ | λ k 2 | ≤ ⋯ ≤ | λ k n | , υ k i , i = 1 , 2 , ⋯ , n 是特征值对应的正交特征向量, E k υ k i = λ k i υ k i 。由 [
| λ k + 1 , i | ≤ | λ k , i | ,
s i g n λ k + 1 , i = s i g n λ k , i , i = 1 , 2 , ⋯ , n .
由(1)以及 ∑ k ‖ s k ‖ 收敛,根据文献 [
lim k λ k i = 0 , i = 1 , 2 , ⋯ , n
| λ k i | ≥ β , i = m + 1 , ⋯ , n .
又因为
s k T E k + 1 s k s k T s k = s k T ( y k − s k ) s k T s k = s k T ( Q k P k − Ι ) s k s k T s k = O ( ‖ s k ‖ )
而 lim k ‖ s k ‖ = 0 ,所以 m ≥ 1 。
由 [
E k : = Δ k + H k
其中
Δ k : = ∑ i = 1 m λ k i υ k i υ k i T , H k : = ∑ i = m + 1 n λ k i υ k i υ k i T ,
S k : = s p a n { υ k 1 , υ k 2 , ⋯ , υ k m } .
那么 S k ⊥ = s p a n { υ k , m + 1 , ⋯ , υ k , n } 。
由以上定义我有 Δ k S k ⊂ S k , H k S k ⊥ ⊂ S k ⊥ , Δ k S k ⊥ = H k S k = 0 ,根据m的定义有 lim k Δ k = 0 。
通过以上讨论,我将通过证明 ∑ k ‖ H k + 1 − H k ‖ < ∞ 来证明序列 { B k } 的收敛性。我将证明
‖ H k + 1 − H k ‖ F ≤ c 1 ‖ η k ‖ / ‖ s k ‖ + c 2 ‖ s k ‖ (2)
对充分大的k都成立。这里 η k 取自 s k 的正交分解
s k = γ k + η k , γ k ∈ S k , η k ∈ S k ⊥ .
(2)式的证明就是 [
因为 ∑ k ‖ s k ‖ < ∞ ,由(2)我只需证明 ∑ k ‖ η k ‖ / ‖ s k ‖ < ∞ 。首先证明一个重要不等式
∑ k ‖ E k s k ‖ 2 ‖ s k ‖ 2 < ∞ (3)
E k + 1 = B k + 1 − Ι = B ′ k + 1 − Ι + O ( ‖ s k ‖ ) = E k − ( Ι + E k ) s k s k T ( Ι + E k ) ‖ s k ‖ 2 + s k T E k s k + s k s k T ‖ s k ‖ 2 + O ( ‖ s k ‖ )
由文献 [
‖ E k + 1 ‖ F 2 ≤ ‖ E k ‖ F 2 − ( E k s k ) T B k ( E k s k ) s k T B k s k + O ( ‖ s k ‖ ) ,
不等式两边对k进行累加,又因为 { B k } 和 { B k − 1 } 都是正定有界的,(3)式得证。从文献 [
接下来我证明 ∑ k ‖ η k ‖ / ‖ s k ‖ < ∞ ,由 k → ∞ 时 λ k ≡ 1 得,存在常数 k 1 ,当 k ≥ k 1 时, λ k = 1 。下面我证明几个不等式,其中 E ¯ = B k − Q k P k 。
a) ∑ k 1 ‖ E k E ¯ k s k ‖ 2 ‖ E ¯ k s k ‖ 2 < ∞ ,
b) ∑ k 1 ‖ E ¯ k s k ‖ 2 ‖ s k ‖ 2 < ∞ ,
c) ∑ k 1 ‖ E k E ¯ s k ‖ ‖ s k ‖ < ∞ ,
d) ∑ k 1 ‖ E k 2 s k ‖ ‖ s k ‖ < ∞ .
证明和 [
p k = s k = − B k − 1 ( g ( x k + g k ) − g k ) = − B k − 1 ∫ 0 1 ∇ 2 f ( x k + l g k ) d l g k = − B k − 1 G k g k
另一个是
E ¯ k s k = B k s k − y k = − G k g k − Q k δ k = ( Q k − G k ) g k − Q k g k + 1 = ( Q k − G k ) g k + Q k G k + 1 − 1 B k + 1 s k + 1
当k充分大时,由于函数f二阶可微可得 Q k − G k → 0 ,所以上式最后一个等式的第一部分趋于0,由假设2),3)以及 B k 的有界性得证。
现在我的结论显而易见,由 E k : = Δ k + H k , s k = γ k + η k 以及 | λ k i | ≥ β , i = m + 1 , ⋯ , n 我有
‖ E k 2 s k ‖ ‖ s k ‖ = ‖ Δ k 2 γ k + H k 2 η k ‖ ‖ s k ‖ ≥ ‖ H k 2 η k ‖ ‖ s k ‖ ≥ β 2 ‖ η k ‖ ‖ s k ‖
所以 ∑ k ‖ η k ‖ / ‖ s k ‖ < ∞ ,得证。
在这部分我通过画图来观察 ‖ B k − ∇ g * ∇ T g * ‖ 的收敛性,我在三个不同的方面进行比较:初始点、维度、和精度。我把 ∇ g * 记作j,这里所取的问题就是 [
问题1
g ( x ) ≜ A x + 1 ( n + 1 ) 2 F ( x ) = 0 ,
其中 A ∈ R n × n
A = ( 2 − 1 − 1 2 − 1 ⋱ ⋱ ⋱ ⋱ ⋱ − 1 − 1 2 ) ,
F ( x ) = ( F 1 ( x ) , F 2 ( x ) , ⋯ , F n ( x ) ) T
F i ( x ) = sin x i − 1 , i = 1 , 2 , ⋯ , n .
以下是不同初始点(见表1)的影响(见图1),维度n = 19。
x 0 | ( 1 , 1 , ⋯ , 1 ) | ( 0 , 0 , ⋯ , 0 ) | ( 1 , 0 , 1 , 0 , ⋯ ) | ( 0 , 1 , 0 , 1, ⋯ ) | ( 1 , 2 , 3 , ⋯ ) |
---|---|---|---|---|---|
表现形式 | −b+ | −go | −r* | −mx | −yd |
表1. 不同初始点及其表现形式
图1. 不同初始点的表现
以下是不同维度(见表2)的影响(见图2),初始点为全1向量。
维度 | n = 19 | n = 39 | n = 59 | n = 79 | n = 99 |
---|---|---|---|---|---|
表现形式 | −b+ | −go | −r* | −mx | −yd |
表2. 不同维度及其表现形式
图2. 不同维度的表现
以下是不同精度(见表3)的影响(见图3),维度n = 19,初始点设置为全1向量。
精度 | 10−7 | 10−9 | 10−11 | 10−13 | 10−15 |
---|
表3. 精度
图3. 不同精度的表现
在实验中对应的参数为 r = 0.1 , ρ = 0.9 , σ 1 = σ 2 = 10 − 5 , λ − 1 = 0.01 , and ω k = k − 2 ,初始矩阵 B 0 为单位阵。在前两个实验中精度固定为10−5,第二个实验我选取全1向量的原因是因为问题是对称问题,在这种情况下初始点的运动轨迹是一样的。而在最后一个实验中由于精度的提高我们将MATLAB程序显示的有效数字调整为15位来得到更好的准确性。从这三张图我们可以清晰的看出当迭代点趋近最小点时函数图像基本保持水平,所以结论是有效的。
本文证明了处理特殊问题的Gauss-Newton-based BFGS方法所产生的迭代矩阵序列的收敛性,由此可以猜测这种收敛性是公式本身的性质,这也启发我如果在应用相应公式做算法时,如果算法不具有超线性收敛性,是否可以通过修正 B k 使他倾向于Hessian阵从而具有超线性收敛性。
陈初阳. Gauss-Newton BFGS方法所产生的迭代矩阵序列的收敛性The Convergence of Iterate Matrices Sequences Generated by Gauss-Newton BFGS Methods[J]. 应用数学进展, 2022, 11(08): 5435-5443. https://doi.org/10.12677/AAM.2022.118572
https://doi.org/10.1137/S0036142998335704
https://doi.org/10.1090/S0025-5718-1974-0343581-1
https://doi.org/10.1007/BF02591941
https://doi.org/10.1007/BF01389753
https://doi.org/10.1093/comjnl/13.3.317
https://doi.org/10.1016/B978-0-12-468660-1.50007-4