分享

数值优化(Numerical Optimization)学习系列

 mscdj 2018-12-10

信赖域方法和线搜索类似都是迭代方法,与其不同的是,每次迭代时,在一个选定的可信赖区域内,选择当前迭代点的近似模型 mkmk ,然后计算最优步长;如果步长不合适,可以对区域进行缩放。该小结主要介绍:

  1. 信赖域方法的基本形式

  2. 求解信赖域的基础方法

  3. 信赖域方法的收敛性和收敛速度

  4. 信赖域方法的扩展

信赖域方法的基本形式

在信赖域方法中,可信赖的区域(Region)的选择很重要,一般都会根据上一步结果进行动态变化;如果上一步太大则缩小,否则进行扩大。
在模型最优化问题中,选择TR方法比LS方法能够较快的收敛,例如这里写图片描述
在该例子中,在非凸函数F中,当前步骤TR方法要优于LS。
信赖域方法有几个参数需要选择:
1. 近似模型 mkmk
2. 可信赖区域 ΔkΔk
3. 求解参数 pkpk

基本形式

在本节中模型选择为二次近似模型,采用函数二阶泰勒展开,即

f(xk+p)=fk+gTkp+12pT∇2fkpf(xk+p)=fk+gkTp+12pT∇2fkp
一般情况下会用 BkBk 去近似Hessian矩阵,即
mk=fk+gTk+12pTBkpmk=fk+gkT+12pTBkp
其中 BkBk为对称矩阵。

信赖域的基本形式为:

min mk(p)=fk+gTk+12pTBkps.t ||p||≤Δkmin mk(p)=fk+gkT+12pTBkps.t ||p||≤Δk

该问题为关于p的带约束的最优化问题,参数p被限制在一个球形区域内。如果BkBk选择为Hessian,则为TR的牛顿方法。
如果||B−1kgk||≤Δk||Bk−1gk||≤Δk则 pk=−B−1kgkpk=−Bk−1gk为完全步(Full Step),即球形约束没有作用。

ΔkΔk的选择

参数ΔkΔk的选择一般会根据上一步的结果进行调整,定义

ρk=fk−f(xk+pk)mk(0)−mk(pk)ρk=fk−f(xk+pk)mk(0)−mk(pk)
其中分子表示函数实际减小的值;分母表示近似模型减少的值。分析 ρkρk:
1. 如果 ρkρk 小于0,一般情况下分母不可能小于0,因为目标函数求解的是最小值;此时说明分子小于0,即下一个目标点比上一步大,此时需要舍弃。
2. 如果 ρkρk 大于0并且接近1,说明模型和实际的预期比较相符合,此时可以考虑扩大ΔkΔk
3. 如果ρkρk大于0但是明显小于1,此时可以不用调整
4. 如果ρkρk大于0,但是接近0,说明模型变化范围比较大,但是实际改变比较小,此时应该收缩或者减少ΔkΔk
具体算法如下:这里写图片描述

子问题的最优解

为简化形式,将信赖域问题的子问题表示为:

min m(p)=f+gTp+12pTBps.t ||p||≤Δmin m(p)=f+gTp+12pTBps.t ||p||≤Δ

该问题为标准的带不等式约束的二次优化问题,可以根据KKT条件(后面会深入介绍)得到该问题的最优解
定理
如果向量 p∗p∗ 为子问题的最优解,当且仅当满足 p∗p∗ 为可行解,并且存在标量 λλ 满足
(B+λI)=−g(a)λ(Δ−||p∗||)=0(b)(B+λI)正定(c)(B+λI)=−g(a)λ(Δ−||p∗||)=0(b)(B+λI)正定(c)

其中条件(b)为补充条件,即要么λ为0要么Δ=||p∗||λ为0要么Δ=||p∗||。
从下图中可以看出最优解和参数λλ的关系
这里写图片描述
当参数Δ=Δ1Δ=Δ1时,最优解为p3p3此时相当于没有约束,此时λ=0λ=0
当参数Δ=Δ1或者Δ2Δ=Δ1或者Δ2时,最优解被球形约束限制,此时满足Δ=||p∗||Δ=||p∗||,根据上面条件(a)有
λp∗=−Bp∗−gλp∗=−Bp∗−g

如果能够找到这样的p满足这些条件就能找到最优解。

基于柯西点(Cauchy-Point)的算法

在实际求解过程中不一定找到最优解,而是找到一个充分下降的点满足全局收敛即可。柯西点就是满足该条件的点(pckpkc)

柯西点(Caychy-Point)算法

求解步骤如下
1. 计算原子问题的线性蜕化问题,寻找向量pskpks满足

psk=arg min fk+gTkps.t. ||p||≤Δkpks=arg min fk+gkTps.t. ||p||≤Δk

2. 寻找标量τk>0τk>0满足 min mk(τpsk)min mk(τpks) 同时满足信赖域的约束,即
τk=arg min mk(τpsk)s.t. ||τpsk||≤Δkτk=arg min mk(τpks)s.t. ||τpks||≤Δk

3. pck=τkpskpkc=τkpks

分别解释如下:
1. 计算pskpks 从上述步骤1中可以看出求解步骤1有必使解,psk=−Δk||gk||gkpks=−Δk||gk||gk。两种思路,一是退化后的函数为线性函数,而且是递减的,只要取下界即可。二是利用KKT条件也可以推出。
2. 将求解得到的pskpks代入子问题可以得到,

min m(p)=f+gTp+12pTBps.t ||p||≤Δmin m(τpsk)=f−gTτΔk||gk||gk+12τ2Δk||gk||gTkBkΔk||gk||gks.t. ||τpsk||≤Δkmin m(p)=f+gTp+12pTBps.t ||p||≤Δmin m(τpks)=f−gTτΔk||gk||gk+12τ2Δk||gk||gkTBkΔk||gk||gks.t. ||τpks||≤Δk
是一个关于ττ 的二次函数,如果
1)gTkBkgk≤0gkTBkgk≤0,是一个关于ττ的递减函数,直接得到τ=1τ=1
2)如果gTkBkgk>0gkTBkgk>0 求导可以得到τk=||gk||3ΔkgTkBkgk,同时τ需要满足τ\e1τk=||gk||3ΔkgkTBkgk,同时τ需要满足τ\e1

柯西点很容易计算,但是如果只利用柯西点,相当于只利用了梯度方向,相当于线搜索的扩展而已,即收敛速度为线性收敛

Dogleg算法

该方法适用于当Bk正定时Bk正定时,寻找半径ΔΔ和最优解p∗(Δ)p∗(Δ)之间的关系。
在之前定义了完全步(Full Step),即||B−1kgk||≤Δk||Bk−1gk||≤Δk则 pBk=−B−1kgkpkB=−Bk−1gk
该算法的思路为,p∗(Δ)p∗(Δ)表示不同ΔΔ条件下的最优解,
1)p∗(Δ)=pB||pB||≤Δp∗(Δ)=pB||pB||≤Δ,否则
2)

p(τ)={τpu,pu+(τ−1)(pB−pu),0<τ<11<τ<2p(τ)={τpu,0<τ<1pu+(τ−1)(pB−pu),1<τ<2
其中pupu定义为
pu=−gTggTBggpu=−gTggTBgg
,沿着梯度方向的最优解。
此为Dogleg方法,即寻找一个折线即两个线段的交点,即一条线段是沿着负梯度方向的最优值;二是沿着pU到pBpU到pB方向。在此折线上寻找最优解。
由定理可以证明||p(τ)||是一个关于τ的递增函数,而m(p(τ))是一个关于τ的递减函数||p(τ)||是一个关于τ的递增函数,而m(p(τ))是一个关于τ的递减函数,又是一个线性函数,因此只要计算p(τ)和||p||=Δp(τ)和||p||=Δ的交点即可。从下图可以清晰看到这里写图片描述

二维子空间最优化

在DogLeg算法中,可以理解为最优解p∗p∗可以表示为pU和pB的扩展子空间,即p∗=λ1g+λ2B−1gpU和pB的扩展子空间,即p∗=λ1g+λ2B−1g,则原子问题可以表示为:

min m(p)=f+gTp+12pTBps.t ||p||≤Δp∈span[g,−B−1g]min m(p)=f+gTp+12pTBps.t ||p||≤Δp∈span[g,−B−1g]

迭代算法

根据子问题的最优解形式可以得到
1)当λ=0时λ=0时需要满足

Bp∗=−gB正定||p∗||≠ΔBp∗=−gB正定||p∗||≠Δ

2) 当λ≠0时λ≠0时需要满足
(B+λI)p∗=−gB+λI正定||p∗||=Δ(B+λI)p∗=−gB+λI正定||p∗||=Δ
||p∗||=||−(B+λI)−1g||=Δ||p∗||=||−(B+λI)−1g||=Δ

通过定义p(λ)=−(B+λI)−1gp(λ)=−(B+λI)−1g,寻找特定的λ使得||p(λ)||=Δλ使得||p(λ)||=Δ

相关定义

由于B正定因此可以进行正交分解,B=QΛQT; Λ=diag(λ1,λ2,...,λn)并且λ1≤λ2≤...≤λnB=QΛQT; Λ=diag(λ1,λ2,...,λn)并且λ1≤λ2≤...≤λn

B+λI=Q(Λ+λI)QTp(λ)=Q(Λ+λI)−1QTgp(λ)2=−∑1n(qTjg)2(λj+λ)2B+λI=Q(Λ+λI)QTp(λ)=Q(Λ+λI)−1QTgp(λ)2=−∑1n(qjTg)2(λj+λ)2
由于是正交分解因此qiqj=1qiqj=1

迭代算法

1)由上述定义

p(λ)2=−∑1n(qTjg)2(λj+λ)2p(λ)2=−∑1n(qjTg)2(λj+λ)2
可以看出
2) 当λ>−λ1时λ>−λ1时函数值是一个单调递减函数,特别当limλ→∞(p(λ)2)→0limλ→∞(p(λ)2)→0
3)因此我们需要寻找λ∈(−∞,λ1)使得||p||=Δλ∈(−∞,λ1)使得||p||=Δ
这里写图片描述

λλ求解

在qTig≠0qiTg≠0
1)通过牛顿迭代法求解

ϕ(λ)=||p(λ)||−Δ=0ϕ(λ)=||p(λ)||−Δ=0

2)近似算法求解
ϕ1(λ)=C1λ+λ1+C2phi1(λ)=1Δ−λ+λ3C3ϕ1(λ)=C1λ+λ1+C2phi1(λ)=1Δ−λ+λ3C3

当qTig=0qiTg=0是一个Hard Case,此时可以添加一个误差因子进行近似
p(λ)=Q(Λ+λI)−1QTg+τEp(λ)=Q(Λ+λI)−1QTg+τE

信赖域的其他扩展

  1. poor scaling问题,可以扩展为球形或者椭圆形

  2. 可以构造Scaled的算法

    min m(p)=f+gTp+12pTBps.t ||Dp||≤Δmin m(p)=f+gTp+12pTBps.t ||Dp||≤Δ
  3. 矩阵D的构造和∂2f/∂xi∂2f/∂xi相关

  4. 可以构造通用的柯西点废

  5. 其他Norm方法,例如

    ||p||1≤Δ||p||∞≤Δ||p||1≤Δ||p||∞≤Δ

总结

通过该节需要了解
1. 信赖域方法和线搜索方法的不同
2. 信赖域方法的基本形式
3. 信赖域方法的柯西点算法、DogLeg算法和最优解迭代算法
4. 信赖域方法收敛

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多