一、牛顿法计算步骤
首先给出牛顿法求解无约束优化问题的一般步骤:
给定起始点 x ∈ d o m f x\in\mathbf{dom}f x∈domf,阈值 ϵ > 0 \epsilon>0 ϵ>0。
1.计算牛顿步(方向)和减少量
Δ
x
n
t
:
=
−
∇
2
f
(
x
)
−
1
∇
f
(
x
)
;
λ
2
:
=
∇
f
(
x
)
T
∇
2
f
(
x
)
−
1
∇
f
(
x
)
(1)
\Delta x_\mathrm{nt}:=-\nabla^2f(x)^{-1}\nabla f(x);\quad \lambda^2:=\nabla f(x)^\mathrm{T}\nabla^2f(x)^{-1}\nabla f(x)\tag{1}
Δxnt:=−∇2f(x)−1∇f(x);λ2:=∇f(x)T∇2f(x)−1∇f(x)(1)
2.若 λ 2 / 2 < ϵ \lambda^2/2<\epsilon λ2/2<ϵ,停止迭代;
3.线搜索:利用backtracking等方法计算步长 t t t;
4.更新: x : = x + t Δ x n t x:=x+t\Delta x_\mathrm{nt} x:=x+tΔxnt,返回第1步。
二、牛顿法收敛性分析
一般来说,设计的算法为了能够在理论上有所保证,适当的收敛性分析是必要的(类似于控制系统的稳定性分析,没有稳定性分析不太好,过于强调稳定性分析也不太好,不可走极端)用 x ( 0 ) x^{(0)} x(0)表示迭代起始点,定义集合 S = { x ∈ d o m f ∣ f ( x ) ≤ f ( x ( 0 ) ) } S=\{x\in\mathbf{dom}f\vert f(x)\leq f(x^{(0)})\} S={x∈domf∣f(x)≤f(x(0))},牛顿法有如下假设:
假设1: f f f二阶连续可微,强凸,即存在 m > 0 m>0 m>0, M > 0 M>0 M>0使得对 x ∈ S x\in S x∈S, m I ⪯ ∇ 2 f ( x ) ⪯ M I mI\preceq \nabla^2f(x)\preceq MI mI⪯∇2f(x)⪯MI;
假设2: ∇ 2 f ( x ) \nabla^2f(x) ∇2f(x)在 S S S上为Lipschitz连续,即存在 L L L使得对 x , y ∈ S x,y\in S x,y∈S, ∥ ∇ 2 f ( x ) − ∇ 2 f ( y ) ∥ 2 ≤ L ∥ x − y ∥ 2 \Vert\nabla^2f(x)-\nabla^2f(y)\Vert_2\leq L\Vert x-y\Vert_2 ∥∇2f(x)−∇2f(y)∥2≤L∥x−y∥2。
在这两个假设前提下,牛顿法的收敛性质可描述为:存在 0 < η ≤ m 2 / L 0<\eta\leq m^2/L 0<η≤m2/L和 γ > 0 \gamma>0 γ>0使得
-
若 ∥ ∇ f ( x ( k ) ) ∥ 2 ≥ η \Vert\nabla f(x^{(k)})\Vert_2\geq\eta ∥∇f(x(k))∥2≥η(damped Newton phase),则
f ( x ( k + 1 ) ) − f ( x ( k ) ) ≤ − γ (2) f(x^{(k+1)})-f(x^{(k)})\leq-\gamma\tag{2} f(x(k+1))−f(x(k))≤−γ(2) -
若 ∥ f ( x ( k ) ) ∥ 2 < η \Vert f(x^{(k)})\Vert_2<\eta ∥f(x(k))∥2<η(pure Newton phase),则利用backtracking方法选取 t ( k ) = 1 t^{(k)}=1 t(k)=1,且
L 2 m 2 ∥ ∇ f ( x ( k + 1 ) ) ∥ 2 ≤ ( L 2 m 2 ∥ ∇ f ( x ( k ) ) ∥ 2 ) 2 (3) \frac{L}{2m^2}\Vert \nabla f(x^{(k+1)})\Vert_2\leq\left(\frac{L}{2m^2}\Vert \nabla f(x^{(k)})\Vert_2\right)^2\tag{3} 2m2L∥∇f(x(k+1))∥2≤(2m2L∥∇f(x(k))∥2)2(3)
证明:假设1和假设2分别为damped Newton phase和pure Newton phase打造,确切来说damped Newton phase利用了假设1,而pure Newton phase利用了假设1和假设2,需要分阶段证明,首先对于damped Newton phase,主要证明两个性质。
性质1: 每一次迭代时利用backtracking方法计算步长 t t t能够在有限步内终止;
性质2: 利用backtracking方法得到的步长使得目标函数的值下降,具体下降程度由式(2)给出。
对于damped Newton phase的性质1,首先注意到
λ
(
x
)
2
=
−
∇
f
(
x
)
T
Δ
x
n
t
=
Δ
x
n
t
T
∇
2
f
(
x
)
Δ
x
n
t
≥
m
∥
Δ
x
n
t
∥
2
2
(4)
\lambda(x)^2=-\nabla f(x)^\mathrm{T}\Delta x_\mathrm{nt}=\Delta x_\mathrm{nt}^\mathrm{T}\nabla^2f(x)\Delta x_\mathrm{nt}\geq m\Vert\Delta x_\mathrm{nt}\Vert_2^2\tag{4}
λ(x)2=−∇f(x)TΔxnt=ΔxntT∇2f(x)Δxnt≥m∥Δxnt∥22(4)
然后考虑根据
f
(
x
+
t
Δ
x
n
t
)
f(x+t\Delta x_\mathrm{nt})
f(x+tΔxnt),根据假设1和泰勒展开有
f
(
x
+
t
Δ
x
n
t
)
≤
f
(
x
)
+
t
∇
f
(
x
)
T
Δ
x
n
t
+
M
2
t
2
∥
Δ
x
n
t
∥
2
2
≤
f
(
x
)
−
t
λ
(
x
)
2
+
M
2
m
t
2
λ
(
x
)
2
(5)
\begin{aligned} f(x+t\Delta x_\mathrm{nt})&\leq f(x)+t\nabla f(x)^\mathrm{T}\Delta x_\mathrm{nt}+\frac{M}{2}t^2\Vert\Delta x_\mathrm{nt}\Vert_2^2\\ &\leq f(x)-t\lambda(x)^2+\frac{M}{2m}t^2\lambda(x)^2 \end{aligned}\tag{5}
f(x+tΔxnt)≤f(x)+t∇f(x)TΔxnt+2Mt2∥Δxnt∥22≤f(x)−tλ(x)2+2mMt2λ(x)2(5)
选取步长
t
^
=
m
/
M
\hat{t}=m/M
t^=m/M,考虑到backtracking方法中的
α
<
1
/
2
\alpha<1/2
α<1/2,则根据式(5)可知
f
(
x
+
t
^
Δ
x
n
t
)
≤
f
(
x
)
−
m
2
M
λ
(
x
)
2
≤
f
(
x
)
−
α
t
^
λ
(
x
)
2
(6)
f(x+\hat{t}\Delta x_\mathrm{nt})\leq f(x)-\frac{m}{2M}\lambda(x)^2\leq f(x)-\alpha\hat{t}\lambda(x)^2\tag{6}
f(x+t^Δxnt)≤f(x)−2Mmλ(x)2≤f(x)−αt^λ(x)2(6)
因此存在步长 t ≥ β m / M t\geq\beta m/M t≥βm/M使得backtracking方法终止。
进一步对于damped Newton phase的性质2,注意到
λ
(
x
)
2
=
∇
f
(
x
)
T
∇
2
f
(
x
)
−
1
∇
f
(
x
)
≥
1
M
∥
∇
f
(
x
)
∥
2
2
(7)
\lambda(x)^2=\nabla f(x)^\mathrm{T}\nabla^2f(x)^{-1}\nabla f(x)\geq\frac{1}{M}\Vert\nabla f(x)\Vert_2^2\tag{7}
λ(x)2=∇f(x)T∇2f(x)−1∇f(x)≥M1∥∇f(x)∥22(7)
结合式(6)和(7)可知,对于damped Newton phase,
f
(
x
+
t
Δ
x
n
t
)
f(x+t\Delta x_\mathrm{nt})
f(x+tΔxnt)相比于
f
(
x
)
f(x)
f(x)下降的程度为
f
(
x
+
t
Δ
x
n
t
)
−
f
(
x
)
≤
−
α
t
λ
(
x
)
2
≤
−
α
β
m
M
λ
(
x
)
2
≤
−
α
β
m
M
2
∥
∇
f
(
x
)
∥
2
2
≤
−
α
β
η
2
m
M
2
(8)
\begin{aligned} f(x+t\Delta x_\mathrm{nt})-f(x)&\leq-\alpha t\lambda(x)^2\\ &\leq-\alpha \beta\frac{m}{M}\lambda(x)^2\\ &\leq-\alpha\beta\frac{m}{M^2}\Vert\nabla f(x)\Vert_2^2\\ &\leq-\alpha\beta\eta^2\frac{m}{M^2}\tag{8} \end{aligned}
f(x+tΔxnt)−f(x)≤−αtλ(x)2≤−αβMmλ(x)2≤−αβM2m∥∇f(x)∥22≤−αβη2M2m(8)
比较式(2)和(8),取 γ = α β η 2 m M 2 \gamma=\alpha\beta\eta^2\frac{m}{M^2} γ=αβη2M2m可使得damped Newton phase的收敛性成立。
然后对于pure Newton phase,也是主要证明两个性质。
性质3: 每一次迭代时利用backtracking方法时,步长 t t t取为1能够满足退出条件;
性质4: 目标函数的梯度值下降,具体下降程度由式(3)给出。
对于性质3,令
f
~
(
t
)
=
f
(
x
+
t
Δ
x
n
t
)
\tilde{f}(t)=f(x+t\Delta x_\mathrm{nt})
f~(t)=f(x+tΔxnt),则
f
~
′
′
(
t
)
=
Δ
x
n
t
T
∇
2
f
(
x
+
t
Δ
x
n
t
)
Δ
x
n
t
\tilde{f}''(t)=\Delta x_\mathrm{nt}^\mathrm{T}\nabla^2f(x+t\Delta x_\mathrm{nt})\Delta x_\mathrm{nt}
f~′′(t)=ΔxntT∇2f(x+tΔxnt)Δxnt,结合假设2可知
∣
f
~
′
′
(
t
)
−
f
~
′
′
(
0
)
∣
≤
t
L
∥
Δ
x
n
t
∥
2
3
(9)
\vert \tilde{f}''(t)-\tilde{f}''(0)\vert\leq tL\Vert\Delta x_\mathrm{nt}\Vert_2^3\tag{9}
∣f~′′(t)−f~′′(0)∣≤tL∥Δxnt∥23(9)
考虑到
f
~
′
′
(
0
)
=
λ
(
x
)
2
\tilde{f}''(0)=\lambda(x)^2
f~′′(0)=λ(x)2和式(4),由式(9)可得
f
~
′
′
(
t
)
≤
f
~
′
′
(
0
)
+
t
L
∥
Δ
x
n
t
∥
2
3
≤
λ
(
x
)
2
+
t
L
m
3
/
2
λ
(
x
)
3
(10)
\tilde{f}''(t)\leq\tilde{f}''(0)+tL\Vert\Delta x_\mathrm{nt}\Vert_2^3\leq\lambda(x)^2+t\frac{L}{m^{3/2}}\lambda(x)^3\tag{10}
f~′′(t)≤f~′′(0)+tL∥Δxnt∥23≤λ(x)2+tm3/2Lλ(x)3(10)
考虑到
f
~
′
(
0
)
=
∇
f
(
x
)
T
Δ
x
n
t
=
−
λ
(
x
)
2
\tilde{f}'(0)=\nabla f(x)^\mathrm{T}\Delta x_\mathrm{nt}=-\lambda(x)^2
f~′(0)=∇f(x)TΔxnt=−λ(x)2,对式(10)从0到
t
t
t积分1次有
f
~
′
(
t
)
≤
f
~
′
(
0
)
+
t
λ
(
x
)
2
+
t
2
L
2
m
3
/
2
λ
(
x
)
3
≤
−
λ
(
x
)
2
+
t
λ
(
x
)
2
+
t
2
L
2
m
3
/
2
λ
(
x
)
3
(11)
\tilde{f}'(t)\leq\tilde{f}'(0)+t\lambda(x)^2+t^2\frac{L}{2m^{3/2}}\lambda(x)^3\leq-\lambda(x)^2+t\lambda(x)^2+t^2\frac{L}{2m^{3/2}}\lambda(x)^3\tag{11}
f~′(t)≤f~′(0)+tλ(x)2+t22m3/2Lλ(x)3≤−λ(x)2+tλ(x)2+t22m3/2Lλ(x)3(11)
对式(11)从0到
t
t
t积分1次有
f
~
(
t
)
≤
f
~
(
0
)
−
t
λ
(
x
)
2
+
t
2
2
λ
(
x
)
2
+
t
3
L
6
m
3
/
2
λ
(
x
)
3
(12)
\tilde{f}(t)\leq\tilde{f}(0)-t\lambda(x)^2+\frac{t^2}{2}\lambda(x)^2+t^3\frac{L}{6m^{3/2}}\lambda(x)^3\tag{12}
f~(t)≤f~(0)−tλ(x)2+2t2λ(x)2+t36m3/2Lλ(x)3(12)
对式(12)取
t
=
1
t=1
t=1可得
f
(
x
+
Δ
x
n
t
)
≤
f
(
x
)
−
1
2
λ
(
x
)
2
+
L
6
m
3
/
2
λ
(
x
)
3
(13)
f(x+\Delta x_\mathrm{nt})\leq f(x)-\frac{1}{2}\lambda(x)^2+\frac{L}{6m^{3/2}}\lambda(x)^3\tag{13}
f(x+Δxnt)≤f(x)−21λ(x)2+6m3/2Lλ(x)3(13)
取
η
=
min
{
m
2
/
L
,
3
(
1
−
2
α
)
m
2
/
L
}
\eta=\min\{m^2/L,3(1-2\alpha)m^2/L\}
η=min{m2/L,3(1−2α)m2/L}(类似于控制系统稳定性分析中的增益系数,完全是人为构造出来的),则有
λ
(
x
)
2
=
∇
f
(
x
)
T
∇
2
f
(
x
)
−
1
∇
f
(
x
)
≤
1
m
∥
∇
f
(
x
)
∥
2
2
≤
1
m
η
2
⇒
λ
(
x
)
≤
3
(
1
−
2
α
)
m
3
/
2
L
(14)
\begin{aligned} \lambda(x)^2&=\nabla f(x)^\mathrm{T}\nabla^2f(x)^{-1}\nabla f(x)\\ &\leq\frac{1}{m}\Vert\nabla f(x)\Vert_2^2\\ &\leq\frac{1}{m}\eta^2\\ &\Rightarrow\lambda(x)\leq\frac{3(1-2\alpha)m^{3/2}}{L}\tag{14} \end{aligned}
λ(x)2=∇f(x)T∇2f(x)−1∇f(x)≤m1∥∇f(x)∥22≤m1η2⇒λ(x)≤L3(1−2α)m3/2(14)
结合式(13)和(14)可知
f
(
x
+
Δ
x
n
t
)
≤
f
(
x
)
−
λ
(
x
)
2
(
1
2
−
L
λ
(
x
)
6
m
3
/
2
)
≤
f
(
x
)
−
α
λ
(
x
)
2
=
f
(
x
)
+
α
∇
f
(
x
)
T
Δ
x
n
t
(15)
\begin{aligned} f(x+\Delta x_\mathrm{nt})&\leq f(x)-\lambda(x)^2\left(\frac{1}{2}-\frac{L\lambda(x)}{6m^{3/2}}\right)\\ &\leq f(x)-\alpha\lambda(x)^2\\ &=f(x)+\alpha\nabla f(x)^\mathrm{T}\Delta x_\mathrm{nt}\tag{15} \end{aligned}
f(x+Δxnt)≤f(x)−λ(x)2(21−6m3/2Lλ(x))≤f(x)−αλ(x)2=f(x)+α∇f(x)TΔxnt(15)
由式(15)可知步长 t t t取为1能够满足backtracking方法的退出条件,注意这里步长 t t t不需要像damped Newton phase那样自乘 β \beta β才退出,因为backtracking方法中步长 t t t的初值就是1,然后根本不用进while迭代计算就退出了。
进一步对于pure Newton phase的性质4,注意到
∇
f
(
x
)
+
∇
2
f
(
x
)
Δ
x
n
t
=
0
\nabla f(x)+\nabla^2 f(x)\Delta x_\mathrm{nt}=0
∇f(x)+∇2f(x)Δxnt=0,因此
∥
∇
f
(
x
+
Δ
x
n
t
)
∥
2
=
∥
∇
f
(
x
+
Δ
x
n
t
)
−
∇
f
(
x
)
−
∇
2
f
(
x
)
Δ
x
n
t
∥
2
=
∥
∫
0
1
(
∇
2
f
(
x
+
t
Δ
x
n
t
)
−
∇
2
f
(
x
)
)
Δ
x
n
t
d
t
∥
2
≤
L
2
∥
Δ
x
n
t
∥
2
2
=
L
2
∥
∇
2
f
(
x
)
−
1
∇
f
(
x
)
∥
2
2
≤
L
2
m
2
∥
∇
f
(
x
)
∥
2
2
(16)
\begin{aligned} \Vert\nabla f(x+\Delta x_\mathrm{nt})\Vert_2&=\Vert\nabla f(x+\Delta x_\mathrm{nt})-\nabla f(x)-\nabla^2 f(x)\Delta x_\mathrm{nt}\Vert_2\\ &=\left\Vert\int_0^1(\nabla^2f(x+t\Delta x_\mathrm{nt})-\nabla^2f(x))\Delta x_\mathrm{nt}\mathrm{d}t\right\Vert_2\\ &\leq\frac{L}{2}\Vert\Delta x_\mathrm{nt}\Vert_2^2\\ &=\frac{L}{2}\Vert\nabla^2f(x)^{-1}\nabla f(x)\Vert_2^2\\ &\leq\frac{L}{2m^2}\Vert\nabla f(x)\Vert_2^2 \end{aligned}\tag{16}
∥∇f(x+Δxnt)∥2=∥∇f(x+Δxnt)−∇f(x)−∇2f(x)Δxnt∥2=∥∥∥∥∫01(∇2f(x+tΔxnt)−∇2f(x))Δxntdt∥∥∥∥2≤2L∥Δxnt∥22=2L∥∇2f(x)−1∇f(x)∥22≤2m2L∥∇f(x)∥22(16)
比较式(3)和(16)可知性质4成立,牛顿法的整个收敛性证明完成。
三、牛顿法收敛性含义
我们进一步看看牛顿法的收敛性意味着什么。
设 f ( x ) f(x) f(x)的最优值为 p ∗ p^* p∗,首先在damped Newton phase,每次迭代后 f ( x ) f(x) f(x)的值至少减小 γ \gamma γ,因此damped Newton phase的迭代步数不超过 f ( x ( 0 ) − p ∗ ) γ \frac{f(x^{(0)}-p^*)}{\gamma} γf(x(0)−p∗)。
然后对于pure Newton phase,由式(3)可知一旦进入pure Newton phase,此后一直都是pure Newton phase,且对
l
≥
k
l\geq k
l≥k,有
L
2
m
2
∥
∇
f
(
x
(
l
)
)
∥
2
≤
(
L
2
m
2
∥
∇
f
(
x
(
k
)
)
∥
2
)
2
l
−
k
≤
(
1
2
)
2
l
−
k
(17)
\frac{L}{2m^2}\Vert \nabla f(x^{(l)})\Vert_2\leq\left(\frac{L}{2m^2}\Vert \nabla f(x^{(k)})\Vert_2\right)^{2^{l-k}}\leq\left(\frac{1}{2}\right)^{2^{l-k}}\tag{17}
2m2L∥∇f(x(l))∥2≤(2m2L∥∇f(x(k))∥2)2l−k≤(21)2l−k(17)
由假设1可知对任意
x
,
y
∈
S
x,y\in S
x,y∈S,
f
(
y
)
≥
f
(
x
)
+
∇
f
(
x
)
T
(
y
−
x
)
+
m
2
∥
y
−
x
∥
2
2
(18)
f(y)\geq f(x)+\nabla f(x)^\mathrm{T}(y-x)+\frac{m}{2}\Vert y-x\Vert_2^2\tag{18}
f(y)≥f(x)+∇f(x)T(y−x)+2m∥y−x∥22(18)
固定
x
x
x,将式(18)右端视为关于
y
y
y的凸函数,其在
x
−
(
1
/
m
)
∇
f
(
x
)
x-(1/m)\nabla f(x)
x−(1/m)∇f(x)处取极小值,因此有
f
(
y
)
≥
f
(
x
)
+
∇
f
(
x
)
T
(
−
1
m
∇
f
(
x
)
)
+
m
2
∥
1
m
∇
f
(
x
)
∥
2
2
=
f
(
x
)
−
1
2
m
∥
∇
f
(
x
)
∥
2
2
(19)
f(y)\geq f(x)+\nabla f(x)^\mathrm{T}(-\frac{1}{m}\nabla f(x))+\frac{m}{2}\Vert\frac{1}{m}\nabla f(x)\Vert_2^2=f(x)-\frac{1}{2m}\Vert\nabla f(x)\Vert_2^2\tag{19}
f(y)≥f(x)+∇f(x)T(−m1∇f(x))+2m∥m1∇f(x)∥22=f(x)−2m1∥∇f(x)∥22(19)
由于式(19)对任意
x
,
y
∈
S
x,y\in S
x,y∈S都成立,因此有
p
∗
≥
f
(
x
)
−
1
2
m
∥
∇
f
(
x
)
∥
2
2
(20)
p^*\geq f(x)-\frac{1}{2m}\Vert\nabla f(x)\Vert_2^2\tag{20}
p∗≥f(x)−2m1∥∇f(x)∥22(20)
结合式(17)和(20)可知
f
(
x
(
l
)
)
−
p
∗
≤
1
2
m
∥
∇
f
(
x
(
l
)
)
∥
2
2
≤
2
m
3
L
2
(
1
2
)
2
l
−
k
+
1
f(x^{(l)})-p^*\leq\frac{1}{2m}\Vert\nabla f(x^{(l)})\Vert_2^2\leq \frac{2m^3}{L^2}\left(\frac{1}{2}\right)^{2^{l-k+1}}
f(x(l))−p∗≤2m1∥∇f(x(l))∥22≤L22m3(21)2l−k+1
因此要想使 f ( x ) − p ∗ ≤ ϵ f(x)-p^*\leq\epsilon f(x)−p∗≤ϵ,在pure Newton phase中需要的迭代步数不超过 log 2 ( log 2 ( ϵ 0 / ϵ ) ) \log_2(\log_2(\epsilon_0/\epsilon)) log2(log2(ϵ0/ϵ)),其中 ϵ 0 = 2 m 3 / L 2 \epsilon_0=2m^3/L^2 ϵ0=2m3/L2,这一迭代速度是很快的,特别地,6次迭代就可以使得 ϵ ≈ 5 × 1 0 − 20 ϵ 0 \epsilon\approx 5\times 10^{-20}\epsilon_0 ϵ≈5×10−20ϵ0,因此在大部分场合,牛顿法需要的迭代步数不超过 f ( x ( 0 ) − p ∗ ) γ + 6 \frac{f(x^{(0)}-p^*)}{\gamma}+6 γf(x(0)−p∗)+6。