线搜索理论满足以下模型,其中
ak
为步长,
pk
为搜索方向:
xk+1=xk+αkpk
为保证
pk
在目标函数
f
的下降方向,需要满足
pTk∇fk<0
,其一般模型为:
pk=−B−1k∇fk
其中当
Bk
对称满秩且正定时,能够保证
pk
指向
f
下降方向
- steepest descent method:
Bk=I
(单位矩阵)
- Newton’s method:
Bk=∇2f(xk)
(Hessian 矩阵)
- Quasi-Newton method:
Bk→
Hessian 估计矩阵(SR1 或 BFGS 方法等)
上述内容可以参考 我的上一篇笔记。
这篇笔记对
αk
的选择以及 收敛率(rate of convergence)做深入讨论。
1. 步长 Step Length
对于步长的选择,主要基于两个权衡:
-
αk
能够实现
f
的大幅下降
- 不能花太多时间做决定
一般最为理想的方法是取下述
ϕ(.)
的最小值:
ϕ(α)=f(xk+αpk),α>0
但通常此求解过程非常复杂,无法实现,故退而希望
αk
满足以下两个条件:
- 当前
αk
推进的部分在
f
的
pk
方向的下降区间内
-
αk
较长,可以实现更有效率的下降
故引入以下几种条件。
1.2 Wolfe 条件 The Wolfe Conditions
Wolfe 条件其中包括两条条件:
- Armijo Condition:保证
αk
在
pk
方向上
f
的下降区间内
ϕ(α)=f(xk+αpk)l(α)=f(xk)+c1α∇fTkpk,c1∈(0,1)ϕ(α)≤l(α)
其中
c1
的典型值为
c1=10−4
- 曲率条件:保证
αk
在上述条件的基础上足够大,使得算法有效率
ϕ′(αk)=∇f(xk+αkpk)Tpkϕ′(αk)≥c2ϕ′(0),c2∈(c1,1)
其中
c2
的典型值如下:
- Newton / Quasi-Newton:
c2=0.9
- Nonlinear conjugate gradient method:
c2=0.1
综上所述,完整的 Wolfe Conditions 的叙述是:
f(xk+αpk)≤f(xk)+c1α∇fTkpk∇f(xk+αkpk)Tpk≥c2∇fTkpk,0<c1<c2<1
严格 Wolfe Conditions 的叙述是:
f(xk+αpk)≤f(xk)+c1α∇fTkpk||∇f(xk+αkpk)Tpk||≥c2||∇fTkpk||,0<c1<c2<1
其较于非严格 Wolfe Conditions 加上了
ϕ′(αk)
必须为正的限定。
且需要注意的是,对于所有平滑且取值有界的目标函数
f
都能找到满足 (strong) Wolfe Conditions 的步长
αk
(证明略)
故可以看出来 Wolfe Conditions 具有广义尺度不变性,即将
f
乘以一个常数或将
f
进行尺度变换不会改变 Wolfe Conditions 寻找的结果
1.2 Goldstein 条件 The Goldstein Conditions
其完整表达为:
f(xk)+(1−c)αk∇fTkpk≤f(xk+αkpk)≤f(xk)+cα∇fTkpk,0<c<12
前一个不等式控制步长长度使其不至于太短(以致效率过低),后一个不等值控制步长使其不至于超出
f
在
pk
方向上的下降区间

Goldstein 条件常用于 Newton type 算法,而不太使用于 Quasi-Newton type 算法
1.3 回溯算法 Backtracking
根据上述两个条件,可以看出仅限定
αk
在
f
的
pk
方向上的下降区间内是不足以促成一个成功的算法的,还需要对其收敛效率进行规定,故上述条件都有两个限定。
然而使用回溯算法便可以省略有关效率的那个限定条件,其算法流程如下:
Choose
α¯¯¯>0,ρ∈(0,1),c∈(0,1)
; Set
α←α¯¯¯
repeat until
f(xk+αpk)≤f(xk)+cα∇fTkpk
α←ρα
end(repeat)
Terminate with
αk=α
其中
α¯¯¯
的初值取法如下:
- Newton and Quasi-Newton:
α¯¯¯=1
- 其他算法的
α¯¯¯
的取值各不相同
其中的收缩系数
ρ
可在每步迭代后进行变动,只要满足
0<ρlo<ρhi<1
即可
这种算法很适合 Newton,但是不那么适用于 Quasi-Newton 与 Conjugate gradient 算法
2. 线搜索算法的收敛性
可证明,其他算法和 steepest descent algorithm 一样可以具有全局收敛性(虽然实现收敛的路径不同)
证明略
3. 收敛率 Rate of convergence
一个好的算法,需要满足下面两个条件:
但是这两个需要相互权衡,譬如: steepest descent method 具有极佳的全局收敛保证,但收敛速度慢;而纯 Newton method 收敛速度快,但有时可能达不到全局收敛。
故为了检验算法的全局收敛性,需要引入一个量“收敛率”。
在正式讨论各类算法的收敛率之前,首先引入另外两个小概念,方便后面叙述:
有两个迭代点
xk+1,xk
,最优收敛点
x∗
,若存在实数
q>0
满足:
limk→∞||xk+1−x∗||||xk−x∗||=q
若:
-
q∈(0,1)
,线性收敛
-
q=0
,超线性收敛
3.1 steepest descent 的收敛率
首先我们假设一个典型的二次目标函数:
f(x)=12xTQx−bTx∇f(x)=Qx−b
其中 Q 对称正定,其最佳收敛点为
x∗
,即有
∇f(x∗)=0
在此算法中
pk=−∇fk
,设步长为
αk
,则有:
f(xk−α∇fk)=12(xk−α∇fk)TQ(xk−α∇fk)−bT(xk−α∇fk)
使得上式等于 0,可以得到步长推断式:
αk=∇fTk∇fk∇fTkQ∇fk
这样就得到了迭代方程:
xk+1=xk−(∇fTk∇fk∇fTkQ∇fk)∇fk
使用下式量化收敛率,即计算所得值和理想值之间的差距:
12||x−x∗||2Q=f(x)−f(x∗)
根据上面的讨论可以严格推导 steepest descent method 的收敛率推导式:
||xk+1−x∗||2Q=1−(∇fTk∇fk)2(∇fTkQ∇fk)(∇fTkQ−1∇fk)||xk−x∗||2Q
然而,这个推倒式太难计算了,所以给出了一些计算的替代方案:

这显示出 steepest descent 算法在某些情况下(通常在
κ(Q)
很大的情况下),可能会非常非常慢。
3.2 Newton’s method
其
pk
遵循下式:
pNk=−∇2f−1k∇fk
但需要注意的是,在上式中有一个限定条件——
∇2fk
必须是正定的,才能保证
pk
指向下降方向。
假定
f
二次可微,那么其 Hessian 矩阵
∇2f(x)
Lipschitz 连续,x* 是最佳点(在 x* 附近开区间内
∇2f
连续且
∇f(x∗)=0
且
∇2f(x∗)
正定)。迭代式为
xk+1=xk+pk
,且
pk
的方法为 Newton 法,则:
- 如果初始点
x0
距离
x∗
足够近,那么序列在
x∗
处收敛
- 其 {
xk
} 的收敛率是二次的
- 梯度序列 {
||∇fk||
} 二次收敛于 0
上述证明略。
但上面的定量非常棒棒,主要是能够递推出下列优厚性质:
当使用 Newton’s method 递推得到
pk
时:
- 对于所有 k,
αk
都可通过 Wolfe/Goldstein conditions 的检验(即对于 Newton’s method 可以直接使用
αk
作为步长)
- 如果还满足
limk→∞||∇fk+∇2fkpk||||pk||=0
,那么对于所有 k 来说,
||x−x∗||2Q=0
- 利用线搜索法时,
αk=1
对于所有 k 局部二次收敛
3.3 Quasi-Newton method
其
pk
推导式为:
pk=−B−1k∇fk
其中
Bk
的推导方法有 SR1,BFGS 等。其步长类似 Newton’s method, 先初定为
α=1
,如果其满足 Wolfe conditions 那么就接受这个初定值。
假定
f:Rn→R
中二次连续可微,迭代方式为
xk+1=xk+αkpk
,其中保证
pk
指向下降方向并且
αk
满足 Wolfe conditions(
c1≤0.5
)。如果序列
xk
收敛于
x∗
,即
∇f(x∗)=0
且 c1≤0.5
)。如果序列
xk
收敛于
x∗
,即
∇f(x∗)=0
且
∇2
xk
收敛于
x∗
,即
∇f(x∗)=0
且
∇2f(x∗∇f(x