这篇文章我们继续来学习数值最优化方法第三章的后续内容
阻尼Newton方法
这一章我们以及在之前了解过了:最速下降法,基本Newton方法,这一节我们来了解阻尼newton方法
之前我们提到的基本Newton方法是以一固定步长和Newton方向进行迭代的,但是我们学习过线搜索,自然会想到这样的固定步长迭代是否会不合适, 所以对于此进行优化的方法阻尼 Newton 方法就产生了
相比于基本Newton方法,阻尼Newton方法只有一点不一样:
x k + 1 = x k + α k d k x_{k+1}=x_k+\alpha_kd_k xk+1=xk+αkdk
其中的 α k \alpha_k αk是一维线搜索得到的结果
这样的方法能够保证对函数 Hassen矩阵正定的前提下函数值单调下降,于基本Newton方法不同的是,即使迭代点离 x ∗ x^* x∗稍远这个方法也有可能收敛到最低点
对于严格凸函数,采用Wolfe准则的阻尼Newton方法具有全局收敛性
这里附上图集和凸函数的正式定义
有定理如下:
设严格凸函数
f
(
x
)
∈
C
2
,
∀
x
0
∈
R
,
∃
β
>
0
f(x)\in C^2,\forall x_0\in R,\exist \beta>0
f(x)∈C2,∀x0∈R,∃β>0,使得
f
(
x
)
f(x)
f(x)在水平集
L
(
x
0
)
=
{
x
∣
f
(
x
)
≤
f
(
x
0
)
}
L(x_0)=\{x|f(x)\leq f(x_0)\}
L(x0)={x∣f(x)≤f(x0)}上满足
μ
T
G
(
x
)
μ
≥
β
∣
∣
μ
∣
∣
2
,
μ
∈
R
n
,
x
∈
L
(
x
0
)
\mu^TG(x)\mu\geq\beta ||\mu||^2,\mu\in R^n,x\in L(x_0)
μTG(x)μ≥β∣∣μ∣∣2,μ∈Rn,x∈L(x0)
则采用Wolfe准则的阻尼Newton方法产生的
{
x
k
}
\{x_k\}
{xk}满足下列二者之一
- { x k } \{x_k\} {xk}是有穷点列,即存在N,使得 g N = 0 g_N=0 gN=0
- { x k } \{x_k\} {xk}是无穷点列,则会收敛到 f f f的唯一极小点 x ∗ x^* x∗
证明:
首先假设 x 1 , x 2 ∈ L ( x 0 ) x_1,x_2\in L(x_0) x1,x2∈L(x0),则 f ( x 1 ) ≤ f ( x 0 ) , f ( x 2 ) ≤ f ( x 0 ) f(x_1)\leq f(x_0),f(x_2)\leq f(x_0) f(x1)≤f(x0),f(x2)≤f(x0)
再给定 x = λ x 1 + ( 1 − λ ) x 2 , λ ∈ [ 0 , 1 ] x=\lambda x_1+(1-\lambda)x_2,\lambda\in[0,1] x=λx1+(1−λ)x2,λ∈[0,1],又因为 f ( x ) f(x) f(x)是凸函数,则
f ( x ) = f ( λ x 1 + ( 1 − λ ) x 2 ) ≤ λ f ( x 1 ) + ( 1 − λ ) f ( x 2 ) ≤ λ f ( x 0 ) + ( 1 − λ ) f ( x 0 ) = f ( x 0 ) f(x)=f(\lambda x_1+(1-\lambda)x_2)\leq \lambda f(x_1)+(1-\lambda)f(x_2)\leq \lambda f(x_0)+(1-\lambda)f(x_0)=f(x_0) f(x)=f(λx1+(1−λ)x2)≤λf(x1)+(1−λ)f(x2)≤λf(x0)+(1−λ)f(x0)=f(x0)
所以 x x x满足 L ( x 0 ) L(x_0) L(x0)集合的条件, x ∈ L ( x 0 ) x\in L(x_0) x∈L(x0),则 L ( x 0 ) L(x_0) L(x0)满足凸集的定义
设存在序列 { x k } ⊂ L ( x 0 ) \{x_k\}\subset L(x_0) {xk}⊂L(x0),这个序列的极限是函数极小值点,由函数的连续性可知 lim k → ∞ f ( x k ) = f ( x ∗ ) ≤ f ( x 0 ) \lim_{k\rightarrow \infin} f(x_k)=f(x^*)\leq f(x_0) limk→∞f(xk)=f(x∗)≤f(x0),则可知 f ( x ∗ ) ∈ L ( x 0 ) f(x^*)\in L(x_0) f(x∗)∈L(x0), L ( x 0 ) L(x_0) L(x0)是闭集
另外我们有 ∀ x , y ∈ L ( x 0 ) \forall x,y\in L(x_0) ∀x,y∈L(x0),由泰勒展开可得 f ( y ) ≥ f ( x ) + g ( x ) T ( y − x ) + 1 2 ( y − x ) T G ( x + θ ( y − x ) ) ( y − x ) , θ ∈ ( 0 , 1 ) f(y)\geq f(x)+g(x)^T(y-x)+\frac{1}{2}(y-x)^TG(x+\theta(y-x))(y-x),\theta\in(0,1) f(y)≥f(x)+g(x)T(y−x)+21(y−x)TG(x+θ(y−x))(y−x),θ∈(0,1)
且由假设 μ T G ( x ) μ ≥ β ∣ ∣ μ ∣ ∣ 2 , μ ∈ R n , x ∈ L ( x 0 ) \mu^TG(x)\mu\geq\beta ||\mu||^2,\mu\in R^n,x\in L(x_0) μTG(x)μ≥β∣∣μ∣∣2,μ∈Rn,x∈L(x0)可得 f ( y ) ≥ f ( x ) + g ( x ) T ( y − x ) + 1 2 β ∣ ∣ y − x ∣ ∣ 2 f(y)\geq f(x)+g(x)^T(y-x)+\frac{1}{2}\beta||y-x||^2 f(y)≥f(x)+g(x)T(y−x)+21β∣∣y−x∣∣2
这时候我们取 x = x 0 x=x_0 x=x0,则有 f ( y ) ≥ f ( x 0 ) + g ( x 0 ) T ( y − x 0 ) + 1 2 β ∣ ∣ y − x 0 ∣ ∣ 2 f(y)\geq f(x_0)+g(x_0)^T(y-x_0)+\frac{1}{2}\beta||y-x_0||^2 f(y)≥f(x0)+g(x0)T(y−x0)+21β∣∣y−x0∣∣2
则 f ( y ) − f ( x 0 ) ≥ g ( x 0 ) T ( y − x 0 ) + 1 2 β ∣ ∣ y − x 0 ∣ ∣ 2 ≥ − ∣ ∣ g ( x 0 ) ∣ ∣ ∣ ∣ y − x 0 ∣ ∣ + 1 2 β ∣ ∣ y − x 0 ∣ ∣ 2 f(y)-f(x_0)\geq g(x_0)^T(y-x_0)+\frac{1}{2}\beta||y-x_0||^2\geq -||g(x_0)||\ ||y-x_0||+\frac{1}{2}\beta||y-x_0||^2 f(y)−f(x0)≥g(x0)T(y−x0)+21β∣∣y−x0∣∣2≥−∣∣g(x0)∣∣ ∣∣y−x0∣∣+21β∣∣y−x0∣∣2
又因为 L ( x 0 ) L(x_0) L(x0)的定义,可知 f ( y ) ≤ f ( x 0 ) f(y)\leq f(x_0) f(y)≤f(x0),则 0 ≥ − ∣ ∣ g ( x 0 ) ∣ ∣ ∣ ∣ y − x 0 ∣ ∣ + 1 2 β ∣ ∣ y − x 0 ∣ ∣ 2 0\geq -||g(x_0)||\ ||y-x_0||+\frac{1}{2}\beta||y-x_0||^2 0≥−∣∣g(x0)∣∣ ∣∣y−x0∣∣+21β∣∣y−x0∣∣2
∣ ∣ y − x 0 ∣ ∣ ≤ 2 β ∣ ∣ g ( x 0 ) ∣ ∣ ||y-x_0||\leq \frac{2}{\beta}||g(x_0)|| ∣∣y−x0∣∣≤β2∣∣g(x0)∣∣
又已知 f ( x ) f(x) f(x)是严格凸函数,那么其稳定点肯定是唯一的全局极小点
若 { x k } \{x_k\} {xk}是无穷点列,因为这个点列属于 L ( x 0 ) L(x_0) L(x0)这个有界集,不妨假设这个点集的极限为 x ′ x' x′ ,显然也有 x ′ ∈ L ( x 0 ) x'\in L(x_0) x′∈L(x0),而我们的阻尼Newton方法产生的函数值单调下降有下界,所以有 f k → f x ′ f_k\rightarrow f_{x'} fk→fx′,接下来我们回顾一下第二章学习过的非精确线搜索方法的收敛性
显然我们想要有 x ′ = x ∗ x'=x^* x′=x∗也就是 g k → 0 g_k\rightarrow 0 gk→0,只需要 ∃ μ , 0 ≤ θ k ≤ π 2 − μ \exist \mu,0\leq \theta_k\leq \frac{\pi}{2}-\mu ∃μ,0≤θk≤2π−μ
又有 G ( x ) G(x) G(x)连续和 L ( x 0 ) L(x_0) L(x0)是紧集(闭集+凸集),则存在 γ > 0 , ∀ x ∈ L ( x 0 ) , ∣ ∣ G ( x ) ∣ ∣ < γ \gamma>0,\forall x\in L(x_0),||G(x)||< \gamma γ>0,∀x∈L(x0),∣∣G(x)∣∣<γ
则 ∣ ∣ g k ∣ ∣ = ∣ ∣ G k d k ∣ ∣ ≤ γ ∣ ∣ d k ∣ ∣ ||g_k||=||G_kd_k||\leq \gamma||d_k|| ∣∣gk∣∣=∣∣Gkdk∣∣≤γ∣∣dk∣∣,所以有 π 2 − θ k ≥ s i n ( π 2 − θ k ) = c o s θ k = − g k T d k ∣ ∣ g k ∣ ∣ ∣ ∣ d k ∣ ∣ = d k T G k d k ∣ ∣ g k ∣ ∣ ∣ ∣ d k ∣ ∣ ≥ β γ \frac{\pi}{2}-\theta_k\geq sin(\frac{\pi}{2}-\theta_k)=cos\theta_k=\frac{-g_k^Td_k}{||g_k||\ ||d_k||}=\frac{d_k^TG_kd_k}{||g_k||\ ||d_k||}\geq\frac{\beta}{\gamma} 2π−θk≥sin(2π−θk)=cosθk=∣∣gk∣∣ ∣∣dk∣∣−gkTdk=∣∣gk∣∣ ∣∣dk∣∣dkTGkdk≥γβ
即 θ k ≤ π 2 − β γ \theta_k\leq \frac{\pi}{2}-\frac{\beta}{\gamma} θk≤2π−γβ
自然可以得证第二种情况,显然当收敛在有限步结束了自然满足第一种情况
需要记住的是上面的非精确线搜索收敛性准则我们其实之前有提过是对精确线搜索以及Goldstein准则都成立的,所以采用这些准则的阻尼 Newton 方法对严格凸函数的全局收敛性同样是存在的