第四章: 信赖域方法


信赖域方法的思想来源于非线性最小二乘问题. 正如前面所提到的, 信赖域方法与线搜索算法不同之处其一在于, 后者先产生搜索方向pkp_k, 再求一合适的步长αk\alpha_k, 迭代依照xk+1=xk+αkpkx_{k+1}=x_k+\alpha_kp_k的形式进行; 而前者则同时选取搜索方向与步长 (或者说, 先划定步长的范围, 再选取搜索方向) . 迭代的方式为xk+1=xk+pkx_{k+1}=x_k+p_k (可以认为此时步长融于pkp_k中) . 信赖域方法的大致想法可见第二章. 其求解重心在于子问题minpRnmk(p)=fk+gkTp+12pTBkp,s.t.pΔk.\min_{p\in\mathbb{R}^n}m_k(p)=f_k+g_k^Tp+\frac{1}{2}p^TB_kp,\quad\mathrm{s.t.}\Vert p\Vert\le\Delta_k.
信赖域的大小对于每步的效果直观重要. 若信赖域过小, 则算法可能就会错过充分下降的机会; 若过大, 信赖域中模型mkm_k的极小点可能就与目标函数ff的极小点相距甚远, 从而又得增大信赖域.
下面是线搜索算法与信赖域算法的一个图例.Numerical Optimization (Jorge Nocedal & Stephen J.Wright) Second Edition

图中, 椭圆虚线为建立的模型mkm_k的等高线, 而圆形虚线为信赖域的边界. 从图中可以看到, 线搜索得到的函数值下降并不客观 (当然这可能与mkm_kff的近似程度有关) , 而信赖域方法得到的下一迭代点则被牢牢地锁在信赖域中, 反而带来了较大的下降. 撇开mkm_k不说, 信赖域方法的思想相较于线搜索更加懂得权衡. 拿人来说的话, 线搜索算法像是活力四射说话斩钉截铁的热血青年, 而信赖域算法则像是运筹帷幄决胜千里的沉稳老者.
我们之前提到, 求解用信赖预算法求解无约束优化问题的关键, 在于求解一系列的子问题 (subproblem) . 若Bk1gkΔk\Vert B_k^{-1}g_k\Vert\le\Delta_k, 则可直接将mkm_k的全局极小点作为pkp_k (若Bk=2fkB_k=\nabla^2 f_k, 则就是牛顿法, 我们将其放在第4节讨论). 此时将pkp_k称为满步. 自然我们无法保证这种情况发生, 不然也就没有后续讨论的必要了.

信赖域算法之框架

我们在每步迭代后都要对信赖域进行调整: 如果mkm_kff在当前点的好的近似, 则增大信赖域; 反之, 则缩小信赖域. 并且若实在不行, 干脆不动弹 (xk+1=xkx_{k+1}=x_k) . 因此我们需要用一个参数来度量mkm_kxkx_k处对ff的近似程度. 给定pkp_k, 定义比值ρk=f(xk)f(xk+pk)mk(0)mk(pk);\rho_k=\frac{f(x_k)-f(x_k+p_k)}{m_k(0)-m_k(p_k)}; 其中分子称为实际下降, 而分母称为预估下降. 注意到分母一定是非负的. 如此一来, ρk\rho_k就能够较好地反映mkm_kxkx_k处对ff的近似程度: 若ρk\rho_k足够大甚至接近1, 则说明近似得较好, 应当进一步扩大信赖域; 若ρk\rho_k较小, 则说明近似得不好, 至少应当不扩大信赖域 (根据ρk\rho_k的大小判定是保持不变还是缩小) ; 若ρk\rho_k相当接近0甚至是负数时, 动一动信赖域的中心都看起来不是那么合理了 (xk+1=xkx_{k+1}=x_k).
信赖域的算法框架大致如下:

算法1 (信赖域算法)
给定Δ^>0,Δ0(0,Δ^),η[0,14]\hat{\Delta}>0,\Delta_0\in(0,\hat{\Delta}),\eta\in\left[0,\frac{1}{4}\right];
for k=0,1,2,,k=0,1,2,\ldots,
pk\quad\quad求解子问题得p_k;
ρk\quad\quad计算\rho_k;
\quad\quadif ρk<14\rho_k<\frac{1}{4}
Δk+1=14Δk\quad\quad\quad\quad\Delta_{k+1}=\frac{1}{4}\Delta_k;
\quad\quadelse
\quad\quad\quad\quadif ρk>34\rho_k>\frac{3}{4} and pk=Δk\Vert p_k\Vert=\Delta_k
Δk+1=min(2Δk,Δ^)\quad\quad\quad\quad\quad\quad\Delta_{k+1}=\min(2\Delta_k,\hat{\Delta});
\quad\quad\quad\quadelse
Δk+1=Δk\quad\quad\quad\quad\quad\quad\Delta_{k+1}=\Delta_k;
\quad\quadif ρk>η\rho_k>\eta
xk+1=xk+pk\quad\quad\quad\quad x_{k+1}=x_k+p_k;
\quad\quadelse
xk+1=xk\quad\quad\quad\quad x_{k+1}=x_k;
end (for) .

其中Δ^\hat{\Delta}为步长上界. 注意信赖域半径增大仅当pk\Vert p_k\Vert达到边界. 若此次迭代步位于信赖域中, 则我们认为现在的Δk\Delta_k不会影响算法, 保持其不变.
从上述算法中我们可以看出:

  • 信赖域的半径不会变的过大 (有上界Δ^\hat{\Delta}) , 也不会变的过小 (由泰勒展开, 若函数有一定的光滑性, 则二次模型应当近似得越来越好);
  • 信赖域方法较于线搜索有一定的优势: 后者可能求到极大点和鞍点, 而前者求到的一定是极小点.

我们顺便将求解子问题的关键定理给出, 后面将给出证明.

定理1 向量pp^*为信赖域子问题minpRnm(p)=f+gTp+12pTBp,s.t.pΔ\min_{p\in\mathbb{R}^n}m(p)=f+g^Tp+\frac{1}{2}p^TBp,\quad\mathrm{s.t.}\Vert p\Vert\le\Delta的全局解当且仅当pp^*可行且存在标量λ0\lambda\ge0使得下面的三个条件成立:(B+λI)p=g,(B+\lambda I)p^*=-g,λ(Δp)=0,\lambda(\Delta-\Vert p^*\Vert)=0,(B+λI).(B+\lambda I)半正定.其中第二个条件又称为互补条件. 此定理揭示了信赖域方法的优势: 就算BkB_k是不定的, 我们仍然有子问题达到全局极小的充要条件. 相比之下, 其他方法往往至多有充分条件.

下面为本章架构: 第一节我们提出Cauchy点的概念, 并给出两种基于它的近似求解子问题的策略; 第二节证明全局收敛性; 第三节给出求子问题的迭代方法; 第四节讨论当BkB_k恰好为2fk\nabla^2f_k时的情形, 并考虑它的收敛性质.

1. 基于Cauchy点的算法

1.1 Cauchy点

Cauchy点在证明信赖域算法全局收敛性上的作用, 就如同Wolfe条件在线搜索算法上的作用. 信赖域算法无需精确搜索, 只需要每步迭代满足: 1) 迭代步在信赖域内; 2) 迭代步带来充分下降, 即可得到全局收敛性. 后者便是由Cauchy点保证. Cauchy点的计算基于对函数ff的一阶展开, 事实上就是对一阶模型的极小化:pks=argminpRnfk+gkTp,s.t.pΔk;p_k^s=\arg\min_{p\in\mathbb{R}^n}f_k+g_k^Tp,\quad\mathrm{s.t.}\Vert p\Vert\le\Delta_k;再沿着pksp_k^s最小化mkm_k, 得到步长τk\tau_k, τk=argminτ0mk(τpks),s.t.τpksΔk;\tau_k=\arg\min_{\tau\ge0}m_k(\tau p_k^s),\quad\mathrm{s.t.}\Vert\tau p_k^s\Vert\le\Delta_k;pkC=τkpksp_k^C=\tau_kp_k^s, 即为Cauchy点.
事实上, 可以很容易地得到Cauchy点的解析表示. 易知pks=Δkgkgk.p_k^s=-\frac{\Delta_k}{\Vert g_k\Vert}g_k.为了解析地得到τk\tau_k, 我们分gkTBkgk0g_k^TB_kg_k\le0gkTBkgk>0g_k^TB_kg_k>0两种情况讨论.

  1. 第一种情形, 只要gk0g_k\ne0, mk(τpss)m_k(\tau p_s^s)就是随τ\tau而单调递减的, 从而τk=1\tau_k=1;
  2. 第二种情形, mk(τpks)m_k(\tau p_k^s)τ\tau的凸函数, 从而要么取gk3/(ΔkgkTBkgk)\Vert g_k\Vert^3/(\Delta_kg_k^TB_kg_k)(此时为无约束下的最小点), 要么取1 (达到边界) .

从而有pkC=τkΔkgkgk,p_k^C=-\tau_k\frac{\Delta_k}{\Vert g_k\Vert}g_k, 其中τk={1gkTBkgk0;min(gk3/(ΔkgkTBkgk),1)otherwise.\tau_k=\left\{\begin{array}{ll}1 & 若g_k^TB_kg_k\le0;\\\min(\Vert g_k\Vert^3/(\Delta_kg_k^TB_kg_k),1) & otherwise.\end{array}\right.事实上, Cauchy点的选取可以看做是最速下降法的一种特殊情形: 同样是沿着负梯度方向搜索, 只是选取了特殊的步长. Cauchy点的计算耗费很小, 至多涉及矩阵-向量乘积. 此外, 更重要的是, Cauchy点还是判定全局收敛性的重要手段: 只要pkp_k带来的函数值下降不少于pkCp_k^C, 则对应的信赖域算法就是全局收敛的. 不过, 由第三章中关于最速下降法的讨论, 即使使用精确线搜索, 其表现也可能不尽人意. 因此我们需要基于Cauchy点设计更好的算法.
由于Cauchy点几乎没有用到ff的二阶信息, 因此设计的新算法应当将此纳入考虑. 同时, 新算法还应当具有一定的相容性: 当BkB_k正定且pkB=Bk1gkp_k^B=-B_k^{-1}g_k满足pkBΔk\Vert p_k^B\Vert\le\Delta_k时, 应当走满步 (即与牛顿法相容) , 以期较快的收敛速度.
以下省去下标kk, 并以p(Δ)p^*(\Delta)表示解以强调其对Δ\Delta的依赖性.

1.2 折线算法 (The Dogleg Method)

折线算法可用于BB为正定的情形 (当然后面会提到, 折线算法亦可推广到不定的情形) . 算法的想法如下:

  1. pBΔ\Vert p^B\Vert\le\Delta时, 显然应当有p(Δ)=pBp^*(\Delta)=p^B;
  2. pBΔ\Vert p^B\Vert\gg\Delta时, 可认为mm中的二次项对子问题的求解影响较小, 从而忽略二次项有p(Δ)Δgg.p^*(\Delta)\approx-\Delta\frac{g}{\Vert g\Vert}.而对于Δ\Delta的中间值, 可用插值处理.

折线算法是基于以上两点的近似算法, 它用两段折线近似p(Δ)p^*(\Delta)的轨迹. 第一条轨迹来源于上面的第2条, 即使用最速下降方向pU=gTggTBggp^U=-\frac{g^Tg}{g^TBg}g(注意这里的系数是原本最速下降法的步长); 而第二条轨迹则将pUp^UpBp^B相连. 如下图所示.Numerical Optimization (Jorge Nocedal & Stephen J.Wright) Second Edition

我们用p~(τ),τ[0,2]\tilde{p}(\tau), \tau\in[0,2]表示折线轨迹, 其严格的数学表达为p~(τ)={τpU,0τ1,pU+(τ1)(pBpU),1τ2.\tilde{p}(\tau)=\left\{\begin{array}{ll}\tau p^U, & 0\le\tau\le1,\\p^U+(\tau-1)(p^B-p^U), & 1\le\tau\le2.\end{array}\right.根据折线算法得到的pp就是折线轨迹与信赖域边界的交点 (如果没有, 说明pBp^B在信赖域中, 可直接选取pBp^B) . 下面的定理证实了这一点.

定理2BB正定. 则

  1. p~(τ)\Vert \tilde{p}(\tau)\Vertτ\tau的递增函数;
  2. m(p~(τ))m(\tilde{p}(\tau))τ\tau的递减函数.

证明: 易知1, 2对τ[0,1]\tau\in[0,1]是成立的. 所以我们将讨论限制在τ[1,2]\tau\in[1,2]上. 对1, 定义h(α)=12p~(1+α)2=12pU+α(pBpU)2=12pU2+α(pU)T(pBpU)+12α2pBpU2.\begin{aligned}h(\alpha)&=\frac{1}{2}\Vert\tilde{p}(1+\alpha)\Vert^2\\&=\frac{1}{2}\Vert p^U+\alpha(p^B-p^U)\Vert^2\\&=\frac{1}{2}\Vert p^U\Vert^2+\alpha(p^U)^T(p^B-p^U)+\frac{1}{2}\alpha^2\Vert p^B-p^U\Vert^2.\end{aligned}因此只需证明h(α)0,α(0,1)h'(\alpha)\ge0,\alpha\in(0,1). 直接计算可得h(α)=(pU)T(pUpB)+αpUpB2(pU)T(pUpB)=gTggTBggT(gTggTBgg+B1g)=gTggTB1ggTBg[1(gTg)2(gTBg)(gTB1g)].\begin{aligned}h'(\alpha)&=-(p^U)^T(p^U-p^B)+\alpha\Vert p^U-p^B\Vert^2\\&\ge-(p^U)^T(p^U-p^B)\\&=\frac{g^Tg}{g^TBg}g^T\left(-\frac{g^Tg}{g^TBg}g+B^{-1}g\right)\\&=g^Tg\frac{g^TB^{-1}g}{g^TBg}\left[1-\frac{(g^Tg)^2}{(g^TBg)(g^TB^{-1}g)}\right].\end{aligned}由Cauchy-Schwarz不等式,(gTg)2=(gTB12B12g)2B12g2B12g2=(gTBg)(gTB1g),\begin{aligned}(g^Tg)^2&=\left(g^TB^{\frac{1}{2}}B^{-\frac{1}{2}}g\right)^2\\&\le\left\Vert B^{\frac{1}{2}}g\right\Vert^2\left\Vert B^{-\frac{1}{2}}g\right\Vert^2\\&=(g^TBg)(g^TB^{-1}g),\end{aligned}从而第1条得证.
对于第2条, 定义h^(α)=m(p~(1+α))\hat{h}(\alpha)=m(\tilde{p}(1+\alpha))并证明h^(α)0,α(0,1)\hat{h}'(\alpha)\le0,\alpha\in(0,1). 直接计算可得h^(α)=(pBpU)T(g+BpU)+α(pBpU)TB(pBpU)(pBpU)T(g+BpU+B(pBpU))=(pBpU)T(g+BpB)=0.\begin{aligned}\hat{h}'(\alpha)&=(p^B-p^U)^T(g+Bp^U)+\alpha(p^B-p^U)^TB(p^B-p^U)\\&\le(p^B-p^U)^T(g+Bp^U+B(p^B-p^U))\\&=(p^B-p^U)^T(g+Bp^B)=0.\end{aligned}

此引理说明, 折线轨迹与信赖域边界至多只会交于一点. 当有交点产生时, 若pUΔ\Vert p^U\Vert\le\Delta, 则需要求解关于标量的二次方程pU+(τ1)(pBpU)2=Δ2.\Vert p^U+(\tau-1)(p^B-p^U)\Vert^2=\Delta^2.

下面说几点注记:

  1. 若将d(Δ)d(\Delta)记作定理1中信赖域子问题的精确解, 则折线算法中的"折线"可以视作对d(Δ)d(\Delta)的近似, 其中而这起点与终点重合, 且在起点处相切.
  2. 当Hessian矩阵2f(xk)\nabla^2f(x_k)可用且正定时, 可令B=2f(xk)B=\nabla^2f(x_k), 从而得到牛顿折线算法与牛顿折线步. 否则我们可选取BB为Hessian的正定近似 (可见第三章3.2.2小节的讨论) . 在接近满足二阶充分条件的解时, pBp^B将被采纳, 从而算法可能达到与牛顿法相当的局部收敛速度. 这点在后面会给出证明. 不过, 在牛顿折线算法中取修正的Hessian可能会以任一种形式影响2f(xk)\nabla^2f(x_k)的对角元, 从而破坏了信赖域算法的优势. 事实上, 信赖域算法有其自身对Hessian的修正. 由之前的定理1可知, 对于Bk=2f(xk)B_k=\nabla^2f(x_k), 信赖域子问题的解为(2f(xk)+λI)1gk(\nabla^2f(x_k)+\lambda I)^{-1}g_k, 其中λ\lambda为使2f(xk)+λI\nabla^2f(x_k)+\lambda I正定的实数, 其值依赖于信赖域半径Δk\Delta_k. 我们给出: 对于凸函数 (即2f(xk)\nabla^2f(x_k)总是半正定的) , 牛顿折线算法是最实用的. 但对于一般的情形, 则需要应用下面提到的子空间算法.
  3. 折线算法也可以推广到BB不定的情形, 不过此时满步pBp^B就不再是mm的最小点了.

1.3 二维子空间最小化 (Cont’d)

BB正定, 折线算法可以扩展为在pBp^BpUp^U张成的二维子空间中极小化. 于是子问题就变为minpm(p)=f+gTp+12pTBp,s.t.pΔ,pspan{g,B1g}.\min_pm(p)=f+g^Tp+\frac{1}{2}p^TBp,\quad\mathrm{s.t.} \Vert p\Vert\le\Delta,\quad p\in\mathrm{span}\{g,B^{-1}g\}.这是一个计算耗费不大的具有两个变量 (pp在子空间中的坐标) 的问题. 事实上经过一些代数操作, 此问题可约减为求一个四次多项式的根.
显然, Cauchy点pCp^C显然包含在上述问题的可行域中, 所以此子问题的最优解将带来不少于Cauchy点的下降 (从而全局收敛) . 下面我们讨论对BB不定情形的处理.
BB有负特征值时, 上述子问题中的二维子空间变为span{g,(B+αI)1g},α(λ1,2λ1],\mathrm{span}\{g,(B+\alpha I)^{-1}g\},\quad\alpha\in(-\lambda_1,-2\lambda_1],其中λ1\lambda_1BB的最小特征值 (α\alpha的选择要能保证B+αIB+\alpha I正定, 且α\alpha选择的灵活性允许我们使用诸如Lanczos方法的算法计算它) . 当(B+αI)1gΔ\Vert (B+\alpha I)^{-1}g\Vert\le\Delta, 我们放弃在子空间中搜索而定义迭代步为p=(B+αI)1g+v,p=-(B+\alpha I)^{-1}g+v,其中vv为满足vT(B+αI)1g0v^T(B+\alpha I)^{-1}g\le0 (这一条件保证p(B+αI)1g\Vert p\Vert\ge\Vert(B+\alpha I)^{-1}g\Vert) 的向量. 当BB有0特征值而没有负特征值时, 我们就定义迭代步为Cauchy点p=pCp=p^C.
二维子空间最小化带来的函数值下降往往与精确解带来的下降很接近. 计算量主要在BBB+αIB+\alpha I的一次分解上, 而要求较为精确的解则需要两到三次这样的分解.

2. 全局收敛性

2.1 Cauchy点的函数值下降

我们在之前曾多次强调, 只要迭代步带来的下降不少于Cauchy点, 则算法的全局收敛性将在一定程度上得到保证. 与线搜索Wolfe条件中的充分下降条件类似, 我们将证明折线方法、二维子空间最小化算法产生的pkp_k有如下的下降估计:mk(0)mk(pk)c1gkmin(Δk,gkBk),c1(0,1].m_k(0)-m_k(p_k)\ge c_1\Vert g_k\Vert\min\left(\Delta_k,\frac{\Vert g_k\Vert}{\Vert B_k\Vert}\right),\quad c_1\in(0,1].特别地, 当Δk\Delta_k是上述中更小的那个, 则上述估计就与线搜索中的充分下降条件具有相同的形式, 即下降与梯度和步长成正比. 下面证明Cauchy点pkCp^C_k满足c1=12c_1=\frac{1}{2}的情形.

定理3 Cauchy点pkCp_k^C满足mk(0)mk(pkC)12gkmin(Δk,gkBk).m_k(0)-m_k(p_k^C)\ge\frac{1}{2}\Vert g_k\Vert\min\left(\Delta_k,\frac{\Vert g_k\Vert}{\Vert B_k\Vert}\right).
证明: 为方便起见, 以下证明省去下标kk. 与Cauchy点相同, 我们分两种情形讨论.
gTBg0g^TBg\le0时, 我们有pC=Δggp^C=-\Delta\frac{g}{\Vert g\Vert}, 且m(pC)m(0)=m(Δg/g)f=Δgg2+12Δ2g2gTBgΔggmin(Δ,gB).\begin{aligned}m(p^C)-m(0)&=m(-\Delta g/\Vert g\Vert)-f\\&=-\frac{\Delta}{\Vert g\Vert}\Vert g\Vert^2+\frac{1}{2}\frac{\Delta^2}{\Vert g\Vert^2}g^TBg\\&\le-\Delta\Vert g\Vert\\&\le-\Vert g\Vert\min\left(\Delta,\frac{\Vert g\Vert}{\Vert B\Vert}\right).\end{aligned}这就证明了不等式.
gTBg>0g^TBg>0时, Cauchy点的参数τ\tau有两种选择.
g3ΔgTBg1\frac{\Vert g\Vert^3}{\Delta g^TBg}\le1时, τ=g3ΔgTBg\tau=\frac{\Vert g\Vert^3}{\Delta g^TBg}, 从而m(pC)m(0)=g4gTBg+12gTBgg4(gTBg)2=12g4gTBg12g4Bg2=12g2B12gmin(Δ,gB).\begin{aligned}m(p^C)-m(0)&=-\frac{\Vert g\Vert^4}{g^TBg}+\frac{1}{2}g^TBg\frac{\Vert g\Vert^4}{(g^TBg)^2}\\&=-\frac{1}{2}\frac{\Vert g\Vert^4}{g^TBg}\\&\le-\frac{1}{2}\frac{\Vert g\Vert^4}{\Vert B\Vert\Vert g\Vert^2}\\&=-\frac{1}{2}\frac{\Vert g\Vert^2}{\Vert B\Vert}\\&\le-\frac{1}{2}\Vert g\Vert\min\left(\Delta,\frac{\Vert g\Vert}{\Vert B\Vert}\right).\end{aligned}此时也成立不等式.
gTBg<g3Δg^TBg<\frac{\Vert g\Vert^3}{\Delta}, τ=1\tau = 1, 从而m(pC)m(0)=Δgg2+12Δ2g2gTBgΔg+12Δ2g2g3Δ=12Δg12gmin(Δ,gB).\begin{aligned}m(p^C)-m(0)&=-\frac{\Delta}{\Vert g\Vert}\Vert g\Vert^2+\frac{1}{2}\frac{\Delta^2}{\Vert g\Vert^2}g^TBg\\&\le-\Delta\Vert g\Vert+\frac{1}{2}\frac{\Delta^2}{\Vert g\Vert^2}\frac{\Vert g\Vert^3}{\Delta}\\&=-\frac{1}{2}\Delta\Vert g\Vert\\&\le-\frac{1}{2}\Vert g\Vert\min\left(\Delta,\frac{\Vert g\Vert}{\Vert B\Vert}\right).\end{aligned}证毕.

为满足充分下降, pkp_k只需带来Cauchy点下降的某一系数倍即可. 这就是下面的定理.

定理4pk:pkΔkp_k: \Vert p_k\Vert\le\Delta_k, 且mk(0)mk(pk)c2(mk(0)mk(pkC))m_k(0)-m_k(p_k)\ge c_2(m_k(0)-m_k(p^C_k)). 于是pkp_kc1=c2/2c_1=c_2/2成立下降不等式. 特别地, 若pkp_k为子问题的精确解pkp_k^*, 则它满足c1=12c_1=\frac{1}{2}.
证明: 证明是显然的. 由于pkΔk\Vert p_k\Vert\le\Delta_k, 所以由定理3即可得到证明.

注意折线算法和二维子空间最小化算法都满足c1=1/2c_1=1/2的情形, 这是因为它们产生的pkp_k都满足mk(pk)mk(pkC)m_k(p_k)\le m_k(p_k^C).

2.2 全局收敛性

信赖域算法的全局收敛性依赖于算法1中η\eta的选取. η=0\eta=0, 也就是说不论如何必定移动信赖域的中心 (xk+1=xk+pkx_{k+1}=x_k+p_k), 则有弱全局收敛; 若η>0\eta>0, 则可以证明全局收敛性.
为证明上述, 我们假设

  1. Hessian近似BkB_k范数一致有界;
  2. ff在水平集S={xf(x)f(x0)}S=\{x|f(x)\le f(x_0)\}上下有界, 并定义SS的一个开邻域为S(R0)={xxy<R0,yS},S(R_0)=\{x|\Vert x-y\Vert<R_0,y\in S\},其中R0R_0为正常数.
  3. 为增大定理的适用范围, 允许pkp_k越过信赖域边界, 即对某个常数γ1\gamma\ge1pkγΔk.\Vert p_k\Vert\le\gamma\Delta_k.

下面我们分别针对η=0\eta=0η>0\eta>0的情形证明.

定理5 设算法1中η=0\eta=0. 假设存在常数β\beta使得Bkβ,k\Vert B_k\Vert\le\beta,\forall k, ff在水平集SS上下有界且在邻域S(R0)S(R_0)上Lipschitz连续可微. 算法产生的所有子问题的近似解pkp_k满足mk(0)mk(pk)c1gkmin(Δk,gkBk),c1(0,1]m_k(0)-m_k(p_k)\ge c_1\Vert g_k\Vert\min\left(\Delta_k,\frac{\Vert g_k\Vert}{\Vert B_k\Vert}\right), \quad c_1\in(0,1]pkγΔk,γ1.\Vert p_k\Vert\le\gamma\Delta_k,\quad \gamma\ge1. 则我们有弱全局收敛性
lim infkgk=0.\liminf_{k\to\infty}\Vert g_k\Vert=0.
证明: 从ρk\rho_k的定义式我们有ρk1=(f(xk)f(xk+pk))(mk(0)mk(pk))mk(0)mk(pk)=mk(pk)f(xk+pk)mk(0)mk(pk).\begin{aligned}|\rho_k-1|&=\left|\frac{(f(x_k)-f(x_k+p_k))-(m_k(0)-m_k(p_k))}{m_k(0)-m_k(p_k)}\right|\\&=\left|\frac{m_k(p_k)-f(x_k+p_k)}{m_k(0)-m_k(p_k)}\right|.\end{aligned}由Taylor定理, 得f(xk+pk)=f(xk)+g(xk)Tpk+01[g(xk+tpk)g(xk)]Tpk dt,f(x_k+p_k)=f(x_k)+g(x_k)^Tp_k+\int_0^1[g(x_k+tp_k)-g(x_k)]^Tp_k\,\mathrm{d}t,从而mk(pk)f(xk+pk)=12pkTBkpk01[g(xk+tpk)g(xk)]Tpk dt(β/2)pk2+β1pk2,\begin{aligned}|m_k(p_k)-f(x_k+p_k)|&=\left|\frac{1}{2}p_k^TB_kp_k-\int_0^1[g(x_k+tp_k)-g(x_k)]^Tp_k\,\mathrm{d}t\right|\\&\le(\beta/2)\Vert p_k\Vert^2+\beta_1\Vert p_k\Vert^2,\end{aligned}其中β1\beta_1gg的Lipschitz常数, 并假设pkR0\Vert p_k\Vert\le R_0以保证xkx_kxk+tpkx_k+tp_k都在S(R0)S(R_0)中. 下面用反证法证明.
假设存在ϵ>0,K\epsilon>0, K, 使得gkϵ,kK.\Vert g_k\Vert\ge\epsilon,\quad k\ge K.由充分下降, 我们有对于kKk\ge K, mk(0)mk(pk)c1gkmin(Δk,gkBk)c1ϵmin(Δk,ϵβ).m_k(0)-m_k(p_k)\ge c_1\Vert g_k\Vert\min\left(\Delta_k,\frac{\Vert g_k\Vert}{\Vert B_k\Vert}\right)\ge c_1\epsilon\min\left(\Delta_k,\frac{\epsilon}{\beta}\right).结合之前的不等式, 推出ρk1γ2Δk2(β/2+β1)c1ϵmin(Δk,ϵ/β).|\rho_k-1|\le\frac{\gamma^2\Delta_k^2(\beta/2+\beta_1)}{c_1\epsilon\min(\Delta_k,\epsilon/\beta)}.下面我们推导对于充分小的Δk\Delta_k, 上面右端的一个上界, 即对于所有的ΔkΔˉ\Delta_k\le\bar{\Delta}, 其中Δˉ\bar{\Delta}定义为Δˉ=min(12c1ϵγ2(β/2+β1),R0γ).\bar{\Delta}=\min\left(\frac{1}{2}\frac{c_1\epsilon}{\gamma^2(\beta/2+\beta_1)},\frac{R_0}{\gamma}\right).注意其中的R0/γR_0/\gamma是为了保证pkγΔkγΔˉR0\Vert p_k\Vert\le\gamma\Delta_k\le\gamma\bar{\Delta}\le R_0; 而由c11,γ1c_1\le1,\gamma\ge1Δˉ12c1ϵγ2(β/2+β1)ϵβ\bar{\Delta}\le\frac{1}{2}\frac{c_1\epsilon}{\gamma^2(\beta/2+\beta_1)}\le\frac{\epsilon}{\beta}, 从而当ΔkΔˉ\Delta_k\le\bar{\Delta}时, 有min(Δk,ϵ/β)=Δk\min(\Delta_k,\epsilon/\beta)=\Delta_k. 因此ρk1γ2Δk2(β/2+β1)c1ϵΔk=γ2Δk(β/2+β1)c1ϵγ2Δˉ(β/2+β1)c1ϵ12.|\rho_k-1|\le\frac{\gamma^2\Delta_k^2(\beta/2+\beta_1)}{c_1\epsilon\Delta_k}=\frac{\gamma^2\Delta_k(\beta/2+\beta_1)}{c_1\epsilon}\le\frac{\gamma^2\bar{\Delta}(\beta/2+\beta_1)}{c_1\epsilon}\le\frac{1}{2}.(从最终的结果简洁性也可以得出为什么Δˉ\bar{\Delta}的形式要取得那么复杂了, 而且这个简洁性也是必要的, 因为)从而ρk14\rho_k\ge\frac{1}{4}, 由算法1, 我们有: 只要Δk\Delta_k落在[0,Δˉ][0,\bar{\Delta}]内, 就有Δk+1Δk\Delta_{k+1}\ge\Delta_k. 因此信赖域的缩减 (缩减因子为14\frac{1}{4}) 只可能在ΔkΔˉ\Delta_k\ge\bar{\Delta}时, 也就是说, Δkmin(ΔK,Δˉ/4),kK.\Delta_k\ge\min(\Delta_K,\bar{\Delta}/4),\quad \forall k\ge K.假设有无穷子列K\mathcal{K}使得ρk14,kK\rho_k\ge\frac{1}{4},k\in\mathcal{K}. 那么对于kK,kKk\in\mathcal{K},k\ge K, 我们有f(xk)f(xk+1)=f(xk)+f(xk+pk)14[mk(0)mk(pk)]14c1ϵmin(Δk,ϵ/β).\begin{aligned}f(x_k)-f(x_{k+1})&=f(x_k)+f(x_k+p_k)\\&\ge\frac{1}{4}[m_k(0)-m_k(p_k)]\\&\ge\frac{1}{4}c_1\epsilon\min(\Delta_k,\epsilon/\beta).\end{aligned}由于ff下有界, 因此从上面的不等式得到limkK,kΔk=0.\lim_{k\in\mathcal{K},k\to\infty}\Delta_k=0.这与Δkmin(ΔK,Δˉ/4)\Delta_k\ge\min(\Delta_K,\bar{\Delta}/4)矛盾. 从而这样的无穷子列K\mathcal{K}不存在, 对于充分大kk我们必定有ρk<14\rho_k<\frac{1}{4}. 此时Δk\Delta_k在每一步迭代后都会缩减成原来的14\frac{1}{4}, 从而也有limkΔk=0\lim_{k\to\infty}\Delta_k=0, 继续矛盾. 从而原假设不成立, 这就证出了弱全局收敛性.

定理6 设算法1中η(0,14)\eta\in(0,\frac{1}{4}). 假设存在常数β\beta使得Bkβ,k\Vert B_k\Vert\le\beta,\forall k, ff在水平集SS上下有界且在邻域S(R0)S(R_0)上Lipschitz连续可微. 算法产生的所有子问题的近似解pkp_k满足mk(0)mk(pk)c1gkmin(Δk,gkBk),c1(0,1]m_k(0)-m_k(p_k)\ge c_1\Vert g_k\Vert\min\left(\Delta_k,\frac{\Vert g_k\Vert}{\Vert B_k\Vert}\right), \quad c_1\in(0,1]pkγΔk,γ1.\Vert p_k\Vert\le\gamma\Delta_k,\quad \gamma\ge1. 则我们有全局收敛性
limkgk=0.\lim_{k\to\infty}\Vert g_k\Vert=0.
证明: 本定理的证明将用到上一个定理的结论. 考虑某一特定的m:gm0m:g_m\ne0. 所以g(x)gmβ1xxm,xS(R0).\Vert g(x)-g_m\Vert\le\beta_1\Vert x-x_m\Vert,\quad \forall x\in S(R_0).定义ϵ=12gm,R=min(ϵβ1,R0).\epsilon=\frac{1}{2}\Vert g_m\Vert,\quad R=\min\left(\frac{\epsilon}{\beta_1},R_0\right).注意B(xm,R)={xxxmR}S(R0),\mathcal{B}(x_m,R)=\{x|\Vert x-x_m\Vert\le R\}\subset S(R_0),所以ggB(xm,R)\mathcal{B}(x_m,R)中依然有Lipschitz连续性. 从而xB(xm,R)g(x)gmg(x)gm12gm=ϵ.x\in\mathcal{B}(x_m,R)\Rightarrow\Vert g(x)\Vert\ge\Vert g_m\Vert-\Vert g(x)-g_m\Vert\ge\frac{1}{2}\Vert g_m\Vert=\epsilon.若整个序列{xk}km\{x_k\}_{k\ge m }留在B(xm,R)\mathcal{B}(x_m,R)中, 我们就有gkϵ>0,km\Vert g_k\Vert\ge\epsilon>0,k\ge m. 利用定理5同样的推导, 我们知道这种情形是不可能的. 所以序列{xk}km\{x_k\}_{k\ge m}必将离开B(xm,R)\mathcal{B}(x_m,R).
lml\ge m为使xl+1x_{l+1}xmx_m后第一个离开B(xm,R)\mathcal{B}(x_m,R)的指标. 由于gkϵ,k=m,m+1,,l\Vert g_k\Vert\ge\epsilon,k=m,m+1,\ldots,l, 从而f(xm)f(xl+1)=k=mlf(xk)f(xk+1)k=m,xkxk+1lη[mk(0)mk(pk)]k=m,xkxk+1lηc1ϵmin(Δk,ϵβ).\begin{aligned}f(x_m)-f(x_{l+1})&=\sum_{k=m}^lf(x_k)-f(x_{k+1})\\&\ge\sum_{k=m,x_k\ne x_{k+1}}^l\eta[m_k(0)-m_k(p_k)]\\&\ge\sum_{k=m,x_k\ne x_{k+1}}^l\eta c_1\epsilon\min\left(\Delta_k,\frac{\epsilon}{\beta}\right).\end{aligned}Δkϵ/β,k=m,m+1,,l\Delta_k\le\epsilon/\beta,k=m,m+1,\ldots,l, 我们有f(xm)f(xl+1)ηc1ϵk=m,xkxk+1lΔkηc1ϵR=ηc1ϵmin(ϵβ1,R0),f(x_m)-f(x_{l+1})\ge\eta c_1\epsilon\sum_{k=m,x_k\ne x_{k+1}}^l\Delta_k\ge\eta c_1\epsilon R=\eta c_1\epsilon\min\left(\frac{\epsilon}{\beta_1},R_0\right),其中第二个不等号是因为到了xl+1x_{l+1}跑出了B(xm,R)\mathcal{B}(x_m,R). 否则, Δk>ϵ/β,\Delta_k>\epsilon/\beta, 对于某个k=m,m+1,,lk=m,m+1,\ldots,l, 所以f(xm)f(xl+1)ηc1ϵϵβ.f(x_m)-f(x_{l+1})\ge\eta c_1\epsilon\frac{\epsilon}{\beta}.由于{f(xk)}k=0\{f(x_k)\}_{k=0}^{\infty}递减且下有界, 所以f(xk)f,f>.f(x_k)\downarrow f^*, f^*>-\infty.因此, f(xm)ff(xm)f(xl+1)ηc1ϵmin(ϵβ,ϵβ1,R0)=12ηc1gmmin(gm2β,gm2β1,R0)>0.\begin{aligned}f(x_m)-f^*&\ge f(x_m)-f(x_{l+1})\\&\ge\eta c_1\epsilon\min\left(\frac{\epsilon}{\beta},\frac{\epsilon}{\beta_1},R_0\right)\\&=\frac{1}{2}\eta c_1\Vert g_m\Vert\min\left(\frac{\Vert g_m\Vert}{2\beta},\frac{\Vert g_m\Vert}{2\beta_1},R_0\right)>0.\end{aligned}由于f(xm)f0f(x_m)-f^*\downarrow 0, 所以必有limmgm=0\lim_{m\to\infty}g_m=0, 证毕.

注意:

  1. 第二个定理中η\eta限定上界为14\frac{1}{4}是合理的 (事实上, 定理的证明中并没有用到14\frac{1}{4}这个数字, 而只用到了它是个正数) . 回想一下算法1中, 信赖域缩小当且仅当ρk<14\rho_k<\frac{1}{4}. 如果η>14\eta>\frac{1}{4}, 则可能出现这种情况: 缩小了信赖域却没有更新xkx_k. 倘若当前的BkB_k对Hessian的近似不够好, 那么pkp_k带来的下降将很有限. 若一直不更新xkx_k, 使得信赖域的中心保持不变, 则算法可能会陷于xkx_k无法跳出.
  2. 这两个定理充分体现了信赖域算法的优越性, 即, 即使BkB_k是不定矩阵, 信赖域算法依然是全局收敛的. 这主要是因为下降估计对于折线算法与二维子空间最小化算法总是成立的:mk(0)mk(pk)c1gkmin(Δk,gkBk).m_k(0)-m_k(p_k)\ge c_1\Vert g_k\Vert\min\left(\Delta_k,\frac{\Vert g_k\Vert}{\Vert B_k\Vert}\right).(这其中的关键在于Cauchy点的下降估计.)

3. 子问题的迭代求解

本节中主要利用定理1来刻画子问题的解. 前面第1节中讨论的方法, 毫无疑问是近似求解子问题的方法. 这种方法具有易于实施且全局收敛的性质. 但是, 当问题规模较小时, 我们不妨更加精确地求解子问题. 本节所要描述的方法就是, 基于矩阵分解 (与折线算法与二维子空间最小化算法中的单次分解相比) 与牛顿法求根的方法. 最后我们还将给出定理1的证明.
定理1中给出, 子问题的解pp满足(B+λI)p=g,(B+\lambda I)p=-g,λ(pΔ)=0,\lambda(\Vert p\Vert-\Delta)=0,B+λI. B+\lambda I半正定.λ=0\lambda=0满足条件, 则无需讨论. 否则, 定义p(λ)=(B+λI)1g,p(\lambda)=-(B+\lambda I)^{-1}g,其中λ\lambda充分大将使得B+λIB+\lambda I正定. 我们意图求λ>0\lambda>0使得p(λ)=Δ.\Vert p(\lambda)\Vert=\Delta.因此这一问题化为了一元方程求根的问题. 只是这样的问题还需要额外的变形, 从而更易操作. 设BB有特征值分解B=QΛQTB=Q\Lambda Q^T, 其中QQ为正交矩阵, Λ=diag(λ1,λ2,,λn),\Lambda=\mathrm{diag}(\lambda_1,\lambda_2,\ldots,\lambda_n),λ1λ2λn\lambda_1\le\lambda_2\le\ldots\le\lambda_nBB的特征值. 显然B+λI=Q(Λ+λI)QTB+\lambda I=Q(\Lambda+\lambda I)Q^T, 从而对于λλj\lambda\ne\lambda_j, 我们有p(λ)=Q(Λ+λI)1QTg=j=1nqjTgλj+λqj,p(\lambda)=-Q(\Lambda+\lambda I)^{-1}Q^Tg=-\sum_{j=1}^n\frac{q_j^Tg}{\lambda_j+\lambda}q_j,其中qjq_j表示QQ的第jj列. 因此由QQ是正交矩阵, 得p(λ)2=j=1n(qjTg)2(λj+λ)2.\Vert p(\lambda)\Vert^2=\sum_{j=1}^n\frac{\left(q_j^Tg\right)^2}{(\lambda_j+\lambda)^2}.这一表达式告诉我们: 若λ>λ1\lambda>-\lambda_1, 则λj+λ>0,j\lambda_j+\lambda>0,\forall j, 从而p(λ)\Vert p(\lambda)\Vert(λ1,)(-\lambda_1,\infty)上递减, 且limλp(λ)=0.\lim_{\lambda\to\infty}\Vert p(\lambda)\Vert=0.特别地, 当qjTg0q_j^Tg\ne0时, 我们有limλλjp(λ)=.\lim_{\lambda\to\lambda_j}\Vert p(\lambda)\Vert=\infty.用图形表示更加直观.Numerical Optimization (Jorge Nocedal & Stephen J.Wright) Second Edition

图中显示, q1Tg,q2Tg,q3Tgq_1^Tg,q_2^Tg,q_3^Tg皆非零. 特别地, 如果有q1Tg0q_1^Tg\ne0, 则必存在唯一λ(λ1,)\lambda^*\in(-\lambda_1,\infty), 使得p(λ)=Δ\Vert p(\lambda^*)\Vert =\Delta. 这样的λ\lambda^*恰好也满足定理1给出的其他等式. 换做是小于λ1-\lambda_1λ\lambda就不再满足半正定的条件了.

3.1 简单情形

假设q1Tg0q_1^Tg\ne0, 这样只需考虑如何求p(λ)Δ\Vert p(\lambda)\Vert -\Delta(λ1,)(-\lambda_1,\infty)上的根的问题. 首先, 若BB正定, 且B1gΔ\Vert B^{-1}g\Vert\le\Delta, 则λ=0\lambda=0恰好满足定理1, 此时就有λ=0\lambda^*=0. 不然, 考虑ϕ(λ)=p(λ)Δ=0.\phi(\lambda)=\Vert p(\lambda)\Vert-\Delta=0.直接拿ϕ\phi的原始形式代入牛顿法求根是不现实的. 注意到, 当λ\lambda大于但很接近λ1-\lambda_1时, 我们可用有理函数近似ϕ\phi, 即ϕ1(λ)C1λ+λ1+C2,\phi_1(\lambda)\approx\frac{C_1}{\lambda+\lambda_1}+C_2,其中C1,C2C_1,C_2为常数. 显然这一函数高度非线性, 从而牛顿法并不可靠 (收敛很慢) . 不过如果考虑等价的方程ϕ2(λ)=1Δ1p(λ),\phi_2(\lambda)=\frac{1}{\Delta}-\frac{1}{\Vert p(\lambda)\Vert},则在 (非常接近) λ1-\lambda_1的右端, 有ϕ2(λ)1Δλ+λ1C3,\phi_2(\lambda)\approx\frac{1}{\Delta}-\frac{\lambda+\lambda_1}{C_3},其中C3>0C_3>0. 此时ϕ2\phi_2λ1-\lambda_1附近接近线性, 从而只要算法将保持λ>λ1\lambda>-\lambda_1, 牛顿法将表现良好. 牛顿法求根的迭代公式为λ(l+1)=λ(l)ϕ2(λ(l))ϕ2(λ(l)).\lambda^{(l+1)}=\lambda^{(l)}-\frac{\phi_2(\lambda^{(l)})}{\phi_2'(\lambda^{(l)})}.下面对这个公式作进一步处理. 设B+λIB+\lambda I有分解B+λI=RTR,B+\lambda I=R^TR,则应有RTRp=gR^TRp=-g. 再令qq满足RTq=pR^Tq=p. 则有q2=RTp2=pTR1RTp=pT(B+λI)1p=pTQ(Λ+λI)1QTp=j=1n(qjTp)2λ+λj=j=1n(qjTk=1nqkTgλ+λkqk)2λ+λj=j=1n(qjTg)2(λ+λj)3.\begin{aligned}\Vert q\Vert^2&=\Vert R^{-T}p\Vert^2\\&=p^TR^{-1}R^{-T}p\\&=p^T(B+\lambda I)^{-1}p\\&=p^TQ(\Lambda+\lambda I)^{-1}Q^Tp\\&=\sum_{j=1}^n\frac{(q_j^Tp)^2}{\lambda+\lambda_j}\\&=\sum_{j=1}^n\frac{\left(q_j^T\sum_{k=1}^n\frac{q_k^Tg}{\lambda+\lambda_k}q_k\right)^2}{\lambda+\lambda_j}\\&=\sum_{j=1}^n\frac{(q_j^Tg)^2}{(\lambda+\lambda_j)^3}.\end{aligned}再考虑ϕ2(λ)\phi_2'(\lambda)的形式:ϕ2(λ)=(1Δ1p)=1p2ddλp=1p2ddλ(j=1n(qjTg)2(λ+λj)2)=12p3j=1nddλ((qjTg)2(λ+λj)2)=1p3j=1n(qjTg)2(λ+λj)3=q2p3.\begin{aligned}\phi_2'(\lambda)&=\left(\frac{1}{\Delta}-\frac{1}{\Vert p\Vert}\right)'\\&=\frac{1}{\Vert p\Vert^2}\frac{\mathrm{d}}{\mathrm{d}\lambda}\Vert p\Vert\\&=\frac{1}{\Vert p\Vert^2}\frac{\mathrm{d}}{\mathrm{d}\lambda}\left(\sqrt{\sum_{j=1}^n\frac{(q_j^Tg)^2}{(\lambda+\lambda_j)^2}}\right)\\&=\frac{1}{2\Vert p\Vert^3}\sum_{j=1}^n\frac{\mathrm{d}}{\mathrm{d}\lambda}\left(\frac{(q_j^Tg)^2}{(\lambda+\lambda_j)^2}\right)\\&=-\frac{1}{\Vert p\Vert^3}\sum_{j=1}^n\frac{(q_j^Tg)^2}{(\lambda+\lambda_j)^3}=-\frac{\Vert q\Vert^2}{\Vert p\Vert^3}.\end{aligned}因此牛顿法的迭代形式为λ(l+1)=λ(l)ϕ2(λ(l))ϕ2(λ(l))=λ(l)+p3q2pΔpΔ=λ(l)+p2q2pΔΔ.\begin{aligned}\lambda^{(l+1)}&=\lambda^{(l)}-\frac{\phi_2(\lambda^{(l)})}{\phi_2'(\lambda^{(l)})}\\&=\lambda^{(l)}+\frac{\Vert p\Vert^3}{\Vert q\Vert^2}\frac{\Vert p\Vert-\Delta}{\Vert p\Vert\Delta}\\&=\lambda^{(l)}+\frac{\Vert p\Vert^2}{\Vert q\Vert^2}\frac{\Vert p\Vert -\Delta}{\Delta}.\end{aligned}经整理, 得到如下较精确求信赖域子问题 (小规模) 的算法.

算法2 (信赖域子问题算法)
给定λ(0),Δ>0\lambda^{(0)},\Delta>0;
for l=0,1,2,l=0,1,2,\ldots
B+λ(l)I=RTR\quad\quad分解B+\lambda^{(l)}I=R^TR;
RTRpl=g,RTql=pl\quad\quad求解R^TRp_l=-g,R^Tq_l=p_l;
λ(l+1)=λ(l)+pl2ql2plΔΔ\quad\quad置\lambda^{(l+1)}=\lambda^{(l)}+\frac{\Vert p_l\Vert^2} {\Vert q_l\Vert^2}\frac{\Vert p_l\Vert -\Delta}{\Delta};
end (for)

注:

  1. 算法2中并非单纯地使用牛顿法求根, 而是在其中穿插了矩阵分解, 这里用于分解的矩阵也来源于上一步迭代产生的新λ\lambda;
  2. 算法2中必须增加一些保护措施以保证算法的实用性: 例如, 当λ(l)<λ1\lambda^{(l)}<-\lambda_1时, Cholesky分解B+λ(l)I=RTRB+\lambda^{(l)}I=R^TR不一定存在. 此时需要稍微改进算法.
  3. 算法2的主要计算量在于Cholesky分解. 此算法的实用版本并不等到λ\lambda收敛成熟才终止迭代, 而是仅通过2~3次迭代获取λ\lambda的大致估计. 事实证明这样的求解效果也是不错的.
  4. 上述方法也适用于最小特征值λ1\lambda_1的代数重数大于1的情形, 即有0>λ1=λ2=0>\lambda_1=\lambda_2=\cdots, 且Q1Tg0Q_1^Tg\ne0, 其中Q1Q_1的列张成λ1\lambda_1的特征子空间.
  5. 算法2的收敛性将在后文给出说明.

3.2 困难情形

q1Tg=0q_1^Tg=0时, 极限limλλ1p(λ)=+\lim_{\lambda\to-\lambda_1}\Vert p(\lambda)\Vert=+\infty就不一定成立了, 从而在(λ1,)(-\lambda_1, \infty)中不一定有p(λ)=Δ\Vert p(\lambda)\Vert=\Delta的解 (如果有自然还可以用上面的简单情形的方法求解, 下面讨论没有) . 由定理1的刻画, 我们得出: λ=λ1\lambda=-\lambda_1. 自然, 从之前的式子中直接去除λj=λ1\lambda_j=\lambda_1的项, 置p=j:λjλ1qjTgλ+λjqjp=\sum_{j:\lambda_j\ne\lambda_1}\frac{q_j^Tg}{\lambda+\lambda_j}q_j是不够的. 注意到(Bλ1I)(B-\lambda_1 I)奇异, 从而存在z:z=1z:\Vert z\Vert=1使得(Bλ1I)z=0(B-\lambda_1I)z=0. 事实上, zzBB的对应于λ1\lambda_1的特征向量, 从而由QQ的正交性, 我们有qjTz=0,λjλ1q_j^Tz=0,\lambda_j\ne\lambda_1. 设p=j:λjλ1qjTgλ+λjqj+τz,p=\sum_{j:\lambda_j\ne\lambda_1}\frac{q_j^Tg}{\lambda+\lambda_j}q_j+\tau z, 从而有p2=j:λjλ1(qjTg)2(λ+λj)2+τ2.\Vert p\Vert^2=\sum_{j:\lambda_j\ne\lambda_1}\frac{\left(q_j^Tg\right)^2}{(\lambda+\lambda_j)^2}+\tau^2.因此选取τ\tau使得p=Δ\Vert p\Vert=\Delta即可. 可以验证这样的ppλ=λ1\lambda=-\lambda_1满足定理1的条件.

3.3 定理1的证明

引理mm为二次函数, 定义为m(p)=gTp+12pTBp,m(p)=g^Tp+\frac{1}{2}p^TBp,其中BB对称. 则有下面的几条成立.

  1. mm有最小值当且仅当BB半正定且ggBB的值域中. 若BB半正定, 则任何p:Bp=gp:Bp=-g都是mm的全局最小点.
  2. mm有唯一全局最小点当且仅当BB正定.

证明:

  1. 我们分充分性和必要性证明.
    • 充分性. 由于ggBB的值域中, 所以有pp使得Bp=gBp=-g. 对于wRn\forall w\in\mathbb{R}^n, m(p+w)=gT(p+w)+12(p+w)TB(p+w)=(gTp+12pTBp)+gTw+(Bp)Tw+12wTBw=m(p)+12wTBwm(p).\begin{aligned}m(p+w)&=g^T(p+w)+\frac{1}{2}(p+w)^TB(p+w)\\&=(g^Tp+\frac{1}{2}p^TBp)+g^Tw+(Bp)^Tw+\frac{1}{2}w^TBw\\&=m(p)+\frac{1}{2}w^TBw\\&\ge m(p).\end{aligned}
    • 必要性. 设ppmm的极小点. 由于m(p)=Bp+g=0\nabla m(p)=Bp+g=0, 所以gg属于BB的值域. 同样由极小的二阶必要条件, 得2m(p)=B\nabla^2m(p)=B是半正定矩阵.
  2. 充分性可由1的充分性中, wTBw>0,w0w^TBw>0,\forall w\ne0得到; 必要性可用反证法证明. 假设BB仅半正定, 从而存在w0w\ne0使得Bw=0Bw=0. 此时m(p)=m(p+w)m(p)=m(p+w), 其中ppmm的唯一全局极小点. 这与唯一性矛盾!

下面证明定理1. 重述如下:

定理1 向量pp^*为信赖域子问题minpRnm(p)=gTp+12pTBp,s.t.pΔ\min_{p\in\mathbb{R}^n}m(p)=g^Tp+\frac{1}{2}p^TBp,\quad\mathrm{s.t.}\Vert p\Vert\le\Delta的全局解当且仅当pp^*可行且存在标量λ0\lambda\ge0使得下面的三个条件成立:(B+λI)p=g,(B+\lambda I)p^*=-g,λ(Δp)=0,\lambda(\Delta-\Vert p^*\Vert)=0,(B+λI).(B+\lambda I)半正定.
证明: 先证明充分性. 假设存在λ0\lambda\ge0使得上面的三个条件成立. 引理的1说明pp^*是二次函数m^(p)=gTp+12pT(B+λI)p=m(p)+λ2pTp\hat{m}(p)=g^Tp+\frac{1}{2}p^T(B+\lambda I)p=m(p)+\frac{\lambda}{2}p^Tp的全局极小点. 由于m^(p)m^(p),p\hat{m}(p)\ge\hat{m}(p^*),\forall p, 因此移项可得m(p)m(p)+λ2((p)TppTp).m(p)\ge m(p^*)+\frac{\lambda}{2}\left((p^*)^Tp^*-p^Tp\right).由于λ(Δp)=0\lambda(\Delta-\Vert p^*\Vert)=0, 因此λ(Δ2(p)Tp)=0\lambda(\Delta^2-(p^*)^Tp^*)=0, 从而m(p)m(p)+λ2(Δ2pTp).m(p)\ge m(p^*)+\frac{\lambda}{2}(\Delta^2-p^Tp).λ0\lambda\ge0, 我们有m(p)m(p),p:pΔm(p)\ge m(p^*),\forall p:\Vert p\Vert\le\Delta. 因此pp^*mm的全局极小点.
再证明必要性. 假设pp^*mm的全局极小点, 下证存在λ0\lambda\ge0满足三个条件.

  1. p<Δ\Vert p^*\Vert<\Delta, 则pp^*mm的无约束全局极小点, 因此m(p)=Bp+g=0,2m(p)=B,\nabla m(p^*)=Bp^*+g=0,\quad\nabla^2m(p^*)=B半正定,所以三个条件对λ=0\lambda=0成立.
  2. p=Δ\Vert p^*\Vert=\Delta, 则第二个条件显然满足, 且pp^*同样为等式约束问题minm(p)s.t.p=Δ\min m(p)\quad\mathrm{s.t.}\Vert p\Vert=\Delta的全局解. 由等式约束问题的最优性条件 (后面的章节会证明) , 定义Lagrange函数L(p,λ)=m(p)+λ2(pTpΔ2),\mathcal{L}(p,\lambda)=m(p)+\frac{\lambda}{2}(p^Tp-\Delta^2),存在λ\lambda使得pp^*L\mathcal{L}的稳定点. 置pL(p,λ)\nabla_p\mathcal{L}(p^*,\lambda)为0, 我们得到Bp+g+λp=0(B+λI)p=g.Bp^*+g+\lambda p^*=0\Rightarrow (B+\lambda I)p^*=-g.λ0\lambda\ge0, 则第一个条件就成立了. 我们放到后面说明, 先证明第三个条件. 由于m(p)m(p),p:pTp=(p)Tp=Δ2m(p)\ge m(p^*),\forall p:p^Tp=(p^*)^Tp^*=\Delta^2, 因此对于这样的pp, 有m(p)m(p)+λ2((p)TppTp).m(p)\ge m(p^*)+\frac{\lambda}{2}\left((p^*)^Tp^*-p^Tp\right).(B+λI)p=g(B+\lambda I)p^*=-g代入上式, 整理后可得12(pp)T(B+λI)(pp)0.\frac{1}{2}(p-p^*)^T(B+\lambda I)(p-p^*)\ge0.由于方向集{w:w=±pppp,p:p=Δ}\left\{w:w=\pm\frac{p-p^*}{\Vert p-p^*\Vert},p:\Vert p\Vert=\Delta\right\}在单位球面上稠密, 因此第三个条件成立. 下面说明存在λ0\lambda\ge0. 由于第一、三个条件成立且由引理, 得pp^*最小化m^\hat{m}, 从而m(p)m(p)+λ2((p)TppTp),p:pΔ.m(p)\ge m(p^*)+\frac{\lambda}{2}\left((p^*)^Tp^*-p^Tp\right),\forall p:\Vert p\Vert\le\Delta.假设只有λ<0\lambda<0满足条件一、三, 则从上式可得m(p)m(p),p:pp=Δ.m(p)\ge m(p^*),\forall p:\Vert p\Vert\ge\Vert p^*\Vert=\Delta.因为已知pp^*pΔ\Vert p\Vert\le\Delta范围内最小化mm, 从而pp^*mm的无约束全局极小点. 从引理的1中得出, Bp=g,B.Bp^*=-g,\quad B半正定.从而条件一、三由λ=0\lambda=0满足, 这与假设矛盾. 从而得证.

3.4 基于非精确解算法的收敛性

适用于小规模问题的算法2的注记中提到, 实用版本的算法2并不等到序列{λi}\{\lambda_i\}收敛才终止迭代. 我们还可以在算法2中加入保护措施以满足定理5和定理6的条件. 具体地, 我们要求m(0)m(p)c1(m(0)m(p)),m(0)-m(p)\ge c_1(m(0)-m(p^*)),pγΔ,\Vert p\Vert\le\gamma\Delta,其中pp^*为子问题的精确解, c1(0,1],γ>0c_1\in(0,1], \gamma>0. 其中第一个条件保证近似解为模型函数mm带来充分的下降 (最大下降的分数倍) . (注意这里并不需要知道pp^*; 有实用的停机准则可以推出条件一. ) 这里的条件与先前的条件的一个主要的不同在于, 前者更好地利用了m()m(\cdot)的二阶信息. 我们可以举个例子: 假若g=0g=0, 而此时BB有负特征值, 也就是说当前的迭代点xkx_k是个鞍点. 此时后者的右端就是0, 且算法终止. 而前者的右端为正数, 表明从当前点出发仍可能获得模型函数值的下降, 从而迫使算法移离xkx_k.
只有当二阶信息充分反映了函数ff的真实性态时, 才需要接近精确 (即充分使用二阶信息) 的算法. 这里我们只考虑信赖域牛顿算法, B=2f(x)B=\nabla^2f(x). 二阶信息使我们不仅能够判别稳定点, 还能得到函数在当前点周遭的性态. 下面的结论表明由非精确解算法产生的序列的聚点满足二阶必要条件.

定理7 假设定理6的条件都成立, 另外ff在水平集SS上是二阶连续可微的. 设Bk=2f(xk),kB_k=\nabla^2f(x_k),\forall k, 子问题的近似解pkp_k满足m(0)m(p)c1(m(0)m(p)),m(0)-m(p)\ge c_1(m(0)-m(p^*)),pγΔ,\Vert p\Vert\le\gamma\Delta,其中γ>0\gamma>0. 于是有全局收敛:limkgk=0.\lim_{k\to\infty}\Vert g_k\Vert=0.另外, 若水平集SS是紧集, 则算法要么终止于满足二阶必要条件的xkx_k, 要么序列{xk}\{x_k\}SS中有满足二阶必要条件的聚点xx^*.

4. 信赖域牛顿法的局部收敛性

前面已经提到信赖域牛顿法的全局收敛性, 下面来讨论其局部的收敛速度. 与牛顿法相关的算法要想要获得较快的收敛速度, 关键是在接近解的时候, 相关的限制不再对牛顿步起作用. 具体地, 我们希望在靠近解的时候, 信赖域子问题的近似解老实地待在信赖域内部, 并愈来愈接近牛顿步. 满足后面这一性质的迭代步, 我们称之渐进相似于牛顿步.
我们证明算法1 (产生渐进相似于牛顿步的迭代步) 的一般结论. 这一结论表明, 信赖域的约束最终变得不积极从而算法达到超线性收敛速度.

定理8ffxx^* (此点满足二阶充分条件) 的一个邻域内二次Lipschitz连续可微. 假设序列{xk}\{x_k\}收敛于xx^*, 且对于充分大的kk, 信赖域牛顿法选取pkp_k满足基于Cauchy点模型的下降条件, 且当pkN12Δk\Vert p_k^N\Vert\le\frac{1}{2}\Delta_k时, pkp_k渐进相似于牛顿步, 即pkpkN=o(pkN).\Vert p_k-p_k^N\Vert=o(\Vert p_k^N\Vert).则信赖域直径Δk\Delta_k对于充分大的kk将不再积极, 且序列{xk}\{x_k\}超线性收敛于xx^*.

证明: 我们证明对于充分大的kk, 总有pkN<12Δk\Vert p_k^N\Vert<\frac{1}{2}\Delta_k, 从而信赖域的约束将不再积极 (pkpkN+o(pkN)2pkN<Δk\because \Vert p_k\Vert\le\Vert p_k^N\Vert+o(\Vert p_k^N\Vert)\le2\Vert p_k^N\Vert<\Delta_k) .
我们先对充分大的kk寻求预测下降mk(0)mk(pk)m_k(0)-m_k(p_k)的一个下界. 假设kk足够大使得o(pkN)o(\Vert p_k^N\Vert)小于pkN\Vert p_k^N\Vert. 当pkN<12Δk\Vert p_k^N\Vert<\frac{1}{2}\Delta_k时, 有pkpkN+o(pkN)2pkN\Vert p_k\Vert\le\Vert p_k^N\Vert+o(\Vert p_k^N\Vert)\le2\Vert p_k^N\Vert; 而当pkN12Δk\Vert p_k^N\Vert\ge\frac{1}{2}\Delta_k时, 有pkΔk2pkN\Vert p_k\Vert\le\Delta_k\le2\Vert p_k^N\Vert. 在两种情形下, 都有pk2pkN22f(xk)1gk,\Vert p_k\Vert\le2\Vert p_k^N\Vert\le2\left\Vert\nabla^2f(x_k)^{-1}\right\Vert\Vert g_k\Vert,所以gk12pk/2f(xk)1\Vert g_k\Vert\ge\frac{1}{2}\Vert p_k\Vert/\left\Vert\nabla^2f(x_k)^{-1}\right\Vert.从Cauchy下降, 我们可得mk(0)mk(pk)c1gkmin(Δk,gk2f(xk))c1pk22f(xk)1min(pk,pk22f(xk)2f(xk)1)=c1pk242f(xk)122f(xk).\begin{aligned}&m_k(0)-m_k(p_k)\\&\ge c_1\Vert g_k\Vert\min\left(\Delta_k,\frac{\Vert g_k\Vert}{\left\Vert\nabla^2f(x_k)\right\Vert}\right)\\&\ge c_1\frac{\Vert p_k\Vert}{2\left\Vert\nabla^2f(x_k)^{-1}\right\Vert}\min\left(\Vert p_k\Vert,\frac{\Vert p_k\Vert}{2\left\Vert\nabla^2f(x_k)\right\Vert\left\Vert\nabla^2f(x_k)^{-1}\right\Vert}\right)\\&=c_1\frac{\Vert p_k\Vert^2}{4\left\Vert\nabla^2f(x_k)^{-1}\right\Vert^2\left\Vert\nabla^2f(x_k)\right\Vert}.\end{aligned}xkxx_k\to x^*2f(x)\nabla^2f(x)的连续性和2f(x)\nabla^2f(x^*)的正定性, 在kk充分大, 我们有下面的界:c142f(xk)122f(xk)c182f(x)122f(x)c3,\frac{c_1}{4\left\Vert\nabla^2f(x_k)^{-1}\right\Vert^2\left\Vert\nabla^2f(x_k)\right\Vert}\ge\frac{c_1}{8\left\Vert\nabla^2f(x^*)^{-1}\right\Vert^2\left\Vert\nabla^2f(x^*)\right\Vert}\triangleq c_3,其中c3>0c_3>0. 因此有mk(0)mk(pk)c3pk2,k.m_k(0)-m_k(p_k)\ge c_3\Vert p_k\Vert^2,\quad k充分大.2f(x)\nabla^2f(x)xx^*附近的Lipschitz连续性, 再使用Taylor定理, 我们有(f(xk)f(xk+pk))(mk(0)mk(pk))=12pkT2f(xk)pk1201pkT2f(xk+tpk)pk dtL4pk3,\begin{aligned}&|(f(x_k)-f(x_k+p_k))-(m_k(0)-m_k(p_k))|\\&=\left|\frac{1}{2}p_k^T\nabla^2f(x_k)p_k-\frac{1}{2}\int_0^1p_k^T\nabla^2f(x_k+tp_k)p_k\,\mathrm{d}t\right|\\&\le\frac{L}{4}\Vert p_k\Vert^3,\end{aligned}其中L>0L>02f()\nabla^2f(\cdot)的Lipschitz常数. 因此, 由ρk\rho_k的定义, 对于充分大的kk, 我们有ρk1pk3(L/4)c3pk2=L4c3pkL4c3Δk.|\rho_k-1|\le\frac{\Vert p_k\Vert^3(L/4)}{c_3\Vert p_k\Vert^2}=\frac{L}{4c_3}\Vert p_k\Vert\le\frac{L}{4c_3}\Delta_k.信赖域缩小仅当ρk<14\rho_k<\frac{1}{4}, 从而由上式可知序列{Δk}\{\Delta_k\}与0有一段距离 (可用反证) . 由于xkxx_k\to x^*, 所以pkN0pk0\Vert p_k^N\Vert\to0\Rightarrow\Vert p_k\Vert\to0. 因此kk充分大时, 信赖域约束将不再积极, pkN12Δk\Vert p_k^N\Vert\le\frac{1}{2}\Delta_k将总是成立.
下面证明超线性收敛. 由第三章关于牛顿法的讨论, 我们有xk+pkNx=O(xkx),\Vert x_k+p_k^N-x^*\Vert=O(\Vert x_k-x^*\Vert),从而pkN=O(xkx)\Vert p_k^N\Vert=O(\Vert x_k-x^*\Vert). 因此, xk+pkxxk+pkNx+pkNpk=O(xkx2)+o(pkN)=o(xkx).\begin{aligned}&\Vert x_k+p_k-x^*\Vert\\&\le\Vert x_k+p_k^N-x^*\Vert+\Vert p_k^N-p_k\Vert=O(\Vert x_k-x^*\Vert^2)+o(\Vert p_k^N\Vert)=o(\Vert x_k-x^*\Vert).\end{aligned}证明完毕.

从牛顿法的讨论中立得: 若pk=pkN,kp_k=p_k^N, k充分大, 则序列{xk}\{x_k\}二次收敛于xx^*.
在定理8的假设下, Bk=2f(xk)B_k=\nabla^2f(x_k)时, 合理实施折线算法、子空间最小化算法和近似精确算法都将最终使用牛顿步作为迭代步, 从而达到二次收敛的速度.

  • 在折线算法和二维子空间最小化算法中, 牛顿步pkNp_k^N恰好就是pkp_k的候选. 在定理8的条件下, pkNp_k^Nkk充分大时既然是无约束全局极小点, 自然也是有约束全局极小点, 因此pk=pkNp_k=p_k^N.
  • 在近似精确算法中, 若在算法2实施前先确认pkNp_k^N是否为子问题的解, 最终也会有pkNp_k^N.

5. 其他的加强版本

5.1 尺度变化

正如我们在第二章中提到过的, 数据的尺度将影响算法的效率. 当ff尺度不均衡时, 使用圆形的信赖域就不那么合理了. 因此我们转向使用椭圆型的信赖域:DpΔ,\Vert Dp\Vert\le\Delta,其中Δ\Delta为对角元为正的对角阵, 从而由如下更改了尺度的信赖域子问题:minpRnmk(p)=fk+gkTp+12pTBkp,s.t.DpΔk.\min_{p\in\mathbb{R}^n}m_k(p)=f_k+g_k^Tp+\frac{1}{2}p^TB_kp,\quad\mathrm{s.t.}\Vert Dp\Vert\le\Delta_k.ffxx的第ii个分量较为敏感时, 设对应的对角元diid_{ii}为较大的数; 反之, 设为较小的数.
构造DD的信息可由二阶信息提供. 我们同样允许DD随着迭代而改变; 事实上大多数本章的结论同样适用, 只要每个diid_{ii}都保持在预设的区间[dlo,dhi][d_{lo},d_{hi}]中, 其中0<dlo<dhi<0<d_{lo}<d_{hi}<\infty.

5.2 其他范数下的信赖域

信赖域亦可用除欧式范数以外的范数定义, 例如p1Δk,pΔk,\Vert p\Vert_1\le\Delta_k,\quad \Vert p\Vert_{\infty}\le\Delta_k,或它们的尺度变换版本Dp1Δk,DpΔk.\Vert Dp\Vert_1\le\Delta_k,\quad \Vert Dp\Vert_{\infty}\le\Delta_k.这样的范数对于小中型无约束问题的求解没有明显的优势, 但它们在有约束的情景下可能会有大用处. 例如, 对于有界约束问题minxRnf(x),s.t.x0,\min_{x\in\mathbb{R}^n}f(x),\quad\mathrm{s.t.}x\ge0,相应的信赖域子问题为minpRnmk(p)=fk+gkTp+12pTBkp,s.t.xk+p0,pΔk.\min_{p\in\mathbb{R}^n}m_k(p)=f_k+g_k^Tp+\frac{1}{2}p^TB_kp,\quad\mathrm{s.t.}x_k+p\ge0,\Vert p\Vert\le\Delta_k.当信赖域以欧式范数定义, 上述问题的可行域由球面和一个象限的交构成, 这样的形状显然是不太"好"的. 而当使用无穷范数时, 可行域可简单表述为xk+p0,pΔke,pΔke,x_k+p\ge0,\quad p\ge-\Delta_k e,\quad p\le\Delta_k e,其中ee为全1向量. 因此可用有界约束二次规划简单计算.
对于大规模问题, BkB_k的分解与计算就不太可取了, 而无穷范数同样会带来有界约束问题, 而这可能比原子问题要更好求解.

相关文章: