Armijo-Goldstein准则与Wolfe-Powell准则是不精确的一维搜索的两大准则。

之所以要遵循这些准则是为了能使算法收敛(求最优解)。即要使我们的不精确的一维搜索的步长满足一定的规则,使之后的求最优解的过程不至于因为步长过大或者过小而不收敛。

Armijo-Goldstein准则

Armijo-Goldstein准则的核心思想有两个:①目标函数值应该有足够的下降;②一维搜索的步长α不应该太小。

我们来看看Armijo-Goldstein准则的数学表达式:

其中, 0<ρ<12

1)为什么要规定 ρ∈(0,0.5) 这个条件?其实可以证明:如果没有这个条件的话,将影响算法的超线性收敛性。具体的证明过程,大家可以参考袁亚湘写的《最优化理论与方法》一书,我没有仔细看,我觉得对初学者,不用去管它。
(2)第1个不等式的左边式子的泰勒展开式为:
f(xkkdk)=f(xk)+αkgkTdk+o(αk)
去掉高阶无穷小,剩下的部分为: f(xk)+αkgkTdk
而第一个不等式右边与之只差一个系数 ρ
我们已知了 gkTdk<0 (这是 dk 为下降方向的充要条件),并且 ρ∈(0,0.5) ,因此,1式右边仍然是一个比 f(xk) 小的数,即:
f(xk)+αkρgkTdk<f(xk)
也就是说函数值是下降的(下降是最优化的目标)。
(3)由于 ρ∈(0,0.5) 且 gkTdk<0 ( dk 是一个下降方向的充要条件),故第2个式子右边比第1个式子右边要小,即:
αk(1−ρ)gkTdkkρgkTdk<0
如果步长 α 太小的话,会导致这个不等式接近于不成立的边缘。因此,式2就保证了 α 不能太小。

我还要把很多书中都用来描述Armijo-Goldstein准则的一幅图搬出来说明一下

横坐标是 α ,纵坐标是 f ,表示在 xk,dk 均为常量、 α 为自变量变化的情况下,目标函数值随之变化的情况。
之所以说 xk,dk 均为常量,是因为在一维搜索中,在某一个确定的点 xk 上,搜索方向 dk 确定后,我们只需要找到一个合适的步长 α 就可以了。
当 x 为常量, α 为自变量时, f(x+αd) 可能是非线性函数(例如目标函数为 y=x2 时)。因此图中是一条曲线。
右上角的 f(xk+αdk) 并不是表示一个特定点的值,而是表示这条曲线是以 α 为自变量、 xk,dk 为常量的函数图形。
当 α=0 时,函数值为 f(xk) ,如图中左上方所示。水平的那条虚线是函数值为 f(xk) 的基线,用于与其他函数值对比。
f(xk)+αkρgkTdk 那条线在 f(xk) 下方(前面已经分析过了,因为 gkTdk<0 ), f(xk)+αk(1−ρ)gkTdk 又在 f(xk)+αkρgkTdk 的下方(前面也已经分析过了),所以Armijo-Goldstein准则可能会把极小值点(可接受的区间)判断在区间bc内。显而易见,区间bc是有可能把极小值排除在外的(极小值在区间ed内)。
所以,为了解决这个问题,Wolfe-Powell准则应运而生。

Wolfe-Powell准则

Wolfe-Powell准则也有两个数学表达式,其中,第一个表达式与Armijo-Goldstein准则的第1个式子相同,第二个表达式为

这个式子已经不是关于函数值的了,而是关于梯度的。
此式的几何解释为:可接受点处的切线斜率≥初始斜率的 σ 倍。
上面的图已经标出了 σgTkdk 那条线(即 e 点处的切线),而初始点( α=0 的点)处的切线是比 e 点处的切线要“斜”的,由于 σ∈(ρ,1) ,使得 e 点处的切线变得“不那么斜”了——不知道这种极为通俗而不够严谨的说法,是否有助于你理解。
这样做的结果就是,我们将极小值包含在了可接受的区间内( e 点右边的区间)。

Wolfe-Powell准则到这里还没有结束!在某些书中,你会看到用另一个所谓的“更强的条件”来代替(3)式,即:

这个式子和(3)式相比,就是左边加了一个绝对值符号,右边换了一下正负号(因为 gTkdk<0 ,所以 −σgTkdk>0 )。
这样做的结果就是:可接受的区间被限制在了 [b,d] 内,如图:

图中红线即为极小值被“夹击”的生动演示。


转自   https://www.codelast.com/

Armijo-Goldstein准则与Wolfe-Powell准则的更多相关文章

  1. CSS页面重构“鑫三无准则”之“无图片”准则——张鑫旭

    一.再说关于“鑫三无准则” “鑫三无准则”这个概念貌似最早是在去年的去年一篇名叫“关于Google圆角高光高宽自适应按钮及其拓展”的文章中提过.这是自己在页面重构的经验中总结出来的一套约束自己CSS的 ...

  2. [css] 页面重构“鑫三无准则” 之“无宽度”准则

    原创文章,转载请注明来自张鑫旭-鑫空间-鑫生活[http://www.zhangxinxu.com]本文地址:http://www.zhangxinxu.com/wordpress/?p=1152 一 ...

  3. 多准则决策模型-TOPSIS方法

    多准则决策–Multiple Criteria Decision Making 多准则决策–Multiple Criteria Decision Making 多准则决策是指在具有相互冲突.不可共度的 ...

  4. Maths | 相关接收机与最大似然准则

    目录 一. 接收机的概念 1.信号解调器 2.检测器 二. 相关解调器的解调过程及其原理 1.构造相关解调器 2.得到接收信号在基向量上的投影 3.相关器输出的性质 三.检测器的实现及其数学原理 1. ...

  5. 全是干货!UI设计的30条黄金准则!

    http://www.wex5.com/portfolio-items/js-1/ 全是干货!UI设计的30条黄金准则!   总的来说,好的UI界面有几个特征:简洁.便利.目标明确.人性化.字面上看这 ...

  6. 入侵检测基本准则(Basic principles of intrusion detection)【v1.0】

    所谓“入侵检测”,顾名思义,就是对入侵行为的发觉.他通过对计算机网络或计算机系统中若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象.” 但实际上,所谓的“违 ...

  7. 【原创】牛顿法和拟牛顿法 -- BFGS, L-BFGS, OWL-QN

    数据.特征和数值优化算法是机器学习的核心,而牛顿法及其改良(拟牛顿法)是机器最常用的一类数字优化算法,今天就从牛顿法开始,介绍几个拟牛顿法算法.本博文只介绍算法的思想,具体的数学推导过程不做介绍. 1 ...

  8. 【翻译】MongoDB指南/CRUD操作(一)

    [原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(一) 主要内容:CRUD操作简介,插入文档,查询文档. CRUD操作包括创建.读取.更新和删 ...

  9. 深度|作为C端应用的代表,成功的陌生社交应用是什么样子的?

    作 为C端应用的代表,成功的陌生社交应用是什么样子的?活跃用户数?收益回报率?在实际社交产品设计中,我们一直为这些所谓的KPI左右,具体到设计行为 上:摆弄相应的界面元素,优化一下文案.页面流,但却很 ...

随机推荐

  1. Angular 2 组件之间如何通信?

    组件之间的共享可以有好几种方式 http://learnangular2.com/outputs/ 实例参考https://angular.io/docs/ts/latest/cookbook/com ...

  2. 深入PHP中慎用双等于(==)的详解

    PHP比较运算符出现的频率实在是太高了,尤其是 ==if(a == b){// do something}但是,你真的掌握了 == 了吗?细节很重要!来看下面的代码,说出你认为正确的答案var_dum ...

  3. Visual Studio : Debug > Start new instance添加快捷键

    Instead of using your Macro, you could simply add in the Options-Dialog under Environment->Keyboa ...

  4. 李洪强iOS开发之OC[006] - 类和对象

  5. AngularCSS 的引入: CSS On-Demand for AngularJS

    1) Include the required JavaScript libraries in your index.html (ngRoute and UI Router are optional) ...

  6. ssh加密访问

    ssh 加密访问    telnet 开放访问需安装软件openssh-server    $ssh akaedu@192.168.103.114    $ssh 192.168.103.114 附: ...

  7. C++之类的静态成员变量和静态成员函数

    static静态成员函数 在类中.static 除了声明静态成员变量,还能够声明静态成员函数. 普通成员函数能够訪问全部成员变量.而静态成员函数仅仅能訪问静态成员变量. 我们知道.当调用一个对象的成员 ...

  8. CentOS上使用Squid+Stunnel搭建代理服务器教程

    这篇文章主要介绍了CentOS上使用Squid+Stunnel搭建代理服务器教程,同时文中也介绍了用户认证的方法,适合于多用户共同使用代理,这种功能在国内用还是比较exciting的~需要的朋友可以参 ...

  9. select option 不可以选

    <select> <option>Volvo</option> <option>Saab</option> <option disab ...

  10. svn备份一般采用三种方式

    http://www.cnblogs.com/itech/archive/2011/10/11/2206988.html 备份策略 ============== svn备份一般采用三种方式:1)svn ...