无约束优化问题是众多优化问题中的基本问题,它对于自变量的取值范围不加限制,因此可以不必考虑它的可行性。在众多无约束算法中,主要可以分为两类:线搜索算法和信赖域算法。而对于线搜索算法,根据搜索方向不同,可以被进一步分为梯度类算法,牛顿算法等。本节开始,对于线搜索算法和信赖域算法展开详细的介绍。
对于基本的无约束优化问题:
我们之前分析过,这个问题可以被近似的视为一个探索问题。即一个探险家从一个点处,此时的高度为。如何到达山谷的最低点?此时他要做两件事:首先,下一步该往哪走;其次,选定方向后需要走多远停下以便重新更换方向。以上的两件事情被确定后,便可以一直重复,知道到达的最小值点。
以上便是线搜索类方法的具象化描述。它的数学表述为:
给定当前的一个点,首先通过某种算法选取向量,之后确定一个正数,则可以到达下一个点为:
这里的被称为点处的搜索方向,而为相应的方向。这里要求
即是一个下降方向,这样才可以保证了的值会沿着我们预设的路径减少。线搜索的过程实际上就是一个迭代过程。如以上的探索问题所述,线搜索算法的两个重要步骤是:如何让选取方向和合适的步长。
本节首先回答第二个问题。引文尽管选取方向的方法有很多种,但是确定补偿的方法却十分的相似。
首先构造辅助函数:
其中是已经选定的下降方向,。这个辅助函数表示:目标函数在射线上的限制。
线搜索的目标是选取合适的使得尽可能减小。但这一工作并不容易,因为如果步长取得过大,则容易跳过最优点,而如果步长过小,则进行计算得时间将会被拉长。我们需要权衡这两个方面,一个自然的想法是寻找使得
这种线搜索算法被称为是精确的。类似的,如果我们不要求是得最优值点,则此时的线搜索算法被称为是非精确的。精确线搜索算法往往会需要很大的计算量,因此,我们一般青睐于非精确线搜索算法。
在非精确线搜索算法中,选取需要满足一定的要求,这些要求被称为线搜索准则.这里指出,线搜索准则的合适与否直接决定了算法的收敛性,若选取不合适的线搜索准则将会导致算法无法收敛。如下图所示,左图表示步长过大,右图则是步长太小。
如我们考虑一个二次函数的优化问题,。取初始点为,此时的方向只有两种选择。取,考虑以下两种步长:
不难计算得到
但是很明显,序列的极限并不是极小值点,序列根本不收敛。出现这种情况的原因是在迭代过程中函数值的下降量不够充分,以至于算法无法收敛到极小值点.为了避免这种情况发生,必须引入一些更合理的线搜索准则来确保迭代的收敛性.
Armijo准则是一个常用的线搜索准则,它保证了每一步的迭代都是充分下降的。
Def 6.1: 设是点处的下降方向,如果对于常数,
则称步长满足Armijo准则。
Armijo准则的几何意义如下图所示,点必须在直线
的下方。则图中区间中的点都满足Armijo准则。由于是下降方向,即直线的斜率为负。一般取为一个很小的正数。
但是仅仅使用Armijo准则并不能保证迭代的收敛性,这是因为显然满足条件,而这意味着迭代序列中的点固定不变,研究这样的步长是没有意义的。因此Armijo准则需要配合其他准则共同使用。
在优化算法的实现中,寻找一个满足Armijo准则的步长是比较容易的,一个最常用的算法是回退法。具体来说,回退法选取
其中
参数是一个给定的实数。
该算法被称为回退法是因为的试验值是由大至小的,它可以确保输出的能尽量地大.此外算法不会无限进行下去,因为是一个下降方向,当充分小时,Armijo准则总是成立的。
为了克服Armijo准则的缺陷,我们需要引入其他准则来保证每一步的不会太小.既然Armijo准则只要求点必须处在某直线下方,我们也可使用相同的形式使得该点必须处在另一条直线的上方.这就是Armijo-Goldstein准则,简称Goldstein准则。
Def 6.2: 设是点处的下降方向,如果对于常数,
则称步长满足Goldstein准则。
Goldstein 准则也有非常直观的几何含义,它指的是点必须在两条直线
之间.如下图所示,区间中的点均满足Goldstein准则.同时我们也注意到Goldstein准则确实去掉了过小的。
Goldstein 准则能够使得函数值充分下降,但是它可能避开了最优的函数值.如上图所示,一维函数的最小值点并不在满足 Goldstein 准则的区间 中.为此我们引入 Armijo-Wolfe 准则,简称Wolfe准则.
Def 6.3: 设是点处的下降方向,如果对于常数且,
则称步长满足Wolfe准则。
在准则(6.1.4)中,第一个不等式即是 Armijo 准则,而第二个不等式则是 Wolfe 准则的本质要求.注意到恰好就是的导数,Wolfe 准则实际要求在点处切线的斜率不能小于的倍.如下图所示,在区间中的点均满足 Wolfe 准则。
注意到在的极小值点处有,因此 永远满足Wolfe准则的第二个条件。而选择较小的可使得同时满足第一个条件,即 Wolfe 准则在绝大多数情况下会包含线搜索子问题的精确解。
以上介绍的三种准则都有一个共同点:使用这些准则产生的迭代点列都是单调的.在实际应用中,非单调算法有时会有更好的效果.这就需要我们应用非单调线搜索准则,这里介绍其中两种.
Def 6.4: 设是点处的下降方向,为给定的正整数,如果
则称步长满足Grippo准则,其中为给定的常数。
Grippo准则和Armijo准则非常相似,区别在于Armijo准则要求下一次迭代的函数值 相对于本次迭代的函数值有充分下降,而Grippo准则只需要下一步函数值相比前面至多步以内迭代的函数值有下降就可以了。显然这一准则的要求比 Armijo准则更宽,它也不要求的单调性。
Def 6.5: 设是点处的下降方向,如果
称步长满足Zhang-Hager准则,其中满足递推式,,序列满足,,参数。
我们可以用以下的方式理解这个准则:变量实际上是本次搜索准则的参照函数值,即充分下降性质的起始标准;而下一步的标准则是函数值和的凸组合,并非仅仅依赖于,而凸组合的两个系数由参数决定.可以看到当时,此准则就是 Armijo 准则。
之前的讨论已经初步介绍了回退法,并指出该算法可以用于寻找 Armijo 准则的步长。实际上只要修改一下算法的终止条件,回退法就可以被用在其他线搜索准则之上,例如之前我们提到的两种非单调线搜索准则。
回退法的实现简单、原理直观,所以它是最常用的线搜索算法之一.然而,回退法的缺点也很明显:第一,它无法保证找到满足 Wolfe 准则的步长,但对一些优化算法而言,找到满足 Wolfe 准则的步长是十分必要的;第二,回退法以指数的方式缩小步长,因此对初值和参数的选取比较敏感,当过大时每一步试探步长改变量很小,此时回退法效率比较低,当过小时回退法过于激进,导致最终找到的步长太小,错过了选取大步长的机会。
为了提高回退法的效率,我们有基于多项式插值的线搜索算法.假设初始步长已给定,如果经过验证,不满足 Armijo 准则,下一步就需要减小试探步长.和回退法不同,我们不直接将缩小常数倍,而是基于,,这三个信息构造一个二次插值函数,即寻找二次函数满足
以上三个条件可以唯一决定,而且不难验证的最小值点恰好位于内.此时取的最小值点作为下一个试探点,利用同样的方式不断递归下去直至找到满足 Armijo 准则的点。
这一小节给出使用不同线搜索准则导出的算法的收敛性.此收敛性建立在一般的线搜索类算法的框架上。
Thm 6.6: 考虑一般的迭代格式
其中是搜索分析,是步长,且在迭代过程中满足Wolfe准则。假设目标函数下有界,连续可微和梯度-利普西茨连续性,即
则
其中为负梯度和下降方向的夹角余弦,即
称为Zoutendijk条件。
Proof: 根据Wolfe准则的条件,有
根据Cauchy不等式和梯度-利普西茨连续性,有
结合以上两个式子
由于,代入Wolfe条件,
这等价于
再关于求和,我们有
由于函数是下有界的,且由可知,因此当时,
得证。
定理 6.1 指出,只要迭代点满足 Wolfe 准则,对梯度利普希茨连续且下有界函数总能推出Zoutendijk条件式成立.实际上采用Goldstein 准则也可推出类似的条件.Zoutendijk 定理刻画了线搜索准则的性质,配合下降方向的选取方式我们可以得到最基本的收敛性。
Prop 6.7: 对于一般的迭代格式
为负梯度和下降方向的夹角,并假设对于任意的,存在常数,使得
则在Zoutendijk定理成立的条件下,有
Proof: 假设结论不成立,则存在子列和正常数,使得
根据的假设,对于任意的,有
仅考虑Zoutendijk条件的第项,有
这和Zoutendijk定理矛盾。从而结论成立。
命题6.7建立在 Zoutendijk 条件之上,它的本质要求是Zoutendijk条件,即每一步的下降方向和负梯度方向不能趋于正交.这个条件的几何直观明显:当下降方向和梯度正交时,根据泰勒展开的一阶近似,目标函数值几乎不发生改变.因此我们要求与梯度正交方向夹角有一致的下界.
命题6.7仅仅给出了最基本的收敛性,而没有更进一步回答算法的收敛速度.这是由于算法收敛速度极大地取决于的选取.接下来我们将着重介绍如何选取下降方向。
本文使用 Zhihu On VSCode 创作并发布
电话:13988888888
传 真:海南省海口市
手 机:0898-66889888
邮 箱:88889999
地 址:/public/upload/system/2018/07/28/2091301cca30ff8c6fd3ecd09c8d4b02.jpg