发布时间:2023-05-23 18:30
本文参考书籍《最优化计算方法》,部分图片来自最优化:建模、算法与理论/最优化计算方法 (pku.edu.cn),若侵权请联系删除
目录
1 线搜索方法简介
2 单调线搜索准则
2.1 Armijo准则
2.2 Goldstein准则
2.3 Wolfe准则
3 非单调线搜索准则
4 线搜索算法
5 收敛性分析
对于无约束优化问题,寻求最小值的过程相当于盲人下山的过程,为了下山,需要做两个判断,第一,需要知道朝哪个方向走,第二,需要知道走几步,而通过不断重复这两个判断就能达到迭代的效果,不断逼近最优值。
注意:上面的搜索方向只要和梯度方向夹角大于90度,那么就会是下降方向。但是走了过多的步数又会使下降效果不好,甚至不降反升,因为负梯度方向仅是迭代点的最快下降方向,一旦偏离就会产生新的最快下降方向。虽然步子卖得小能保证函数值降低,但是算法的效率就很低,下降得慢。所以下面主要讨论如何恰当的选取步长。
这样就相当于可以判断步长取什么值时,下降的最多,但是为了得到最好的步长,往往需要花很多的时间,这种线搜索算法称为精确线搜索算法。但耗费大量的计算量与时间的算法并不实用,于是,创造出了另一种算法,每次不让步长取到最优而是比较好,也就是满足一定不等式,这样就使得计算量小,这种算法称为非精确线搜索算法。
上述需要满足一定不等式,也就是所谓线搜索准则,但是这个准则的合适与否决定了算法的收敛性,下面举一个例子
下面解释一下这个准则
此外我们一般还会对步长设置一个下界,防止步长过小的近似无效迭代。Armijo准则是最重要的准则,后面的很多准则都是改进Armijo准则或者以其为基础。
Wolfe准则最关键的点是让步长范围包含最优步长
上面三种准则有个共同点,也就是迭代点序列是单调的,因为他们的核心都是要求函数值不断下降
视频教程-基于springboot2.x+layui+shiro+redis整合前后端分离的权限管理系统-Java
【Java分享客栈】一文搞定京东零售开源的AsyncTool,彻底解决异步编排问题。
ruby on rails_Ruby on Rails快速创新性能的终极指南
java开源问卷调查系统源码_高效实用!开源调研问卷系统 DWSurvey,基于 JAVA WEB 开发...
pytorch学习笔记10——卷积神经网络详解及mnist数据集多分类任务应用
用python画面积图_Python使用Plotly绘图工具,绘制面积图