5.3 数值优化基础:线搜索
category
type
status
slug
date
summary
tags
password
icon
人生如逆旅,我亦是行人。 — 宋 苏轼
🏰代码及环境配置:请参考 环境配置和代码运行!
上一节的梯度下降法和牛顿法测试中, 采用了固定的步长, 我们会发现固定步长有以下缺点:
- 远离极值点时, 如果步长过小, 下降可能很慢
- 接近极值点时, 如果步长过大, 可能会越过极值点达到更远的点
那么有没有什么方法, 可以得到最佳步长呢? 线搜索就是确定步长的常见方式.
5.3.1 线搜索概念
对于优化问题,我们将求解 f(x) 的最小值点的过程比喻成下山的过程.假设一个人处于某点 x 处, f(x) 表示此地的高度,为了寻找最低点,在点 x 处需要确定如下两件事情:第一,下一步该向哪一方向行走;第二,沿着该方向行走多远后停下以便选取下一个下山方向.以上这两个因素确定后,便可以一直重复,直至到达 f(x) 的最小值点.
在更新公式中, 是第k次迭代的步长, 是下降方向. 寻找合适的步长一般分为两种方法:
- 精确线搜索算法
通过构造一个最优化问题, 来寻找最佳步长. 如下:
显而易见的是, 通过最优化问题选取通常需要很大计算量,所以在实际应用中较少使用.
- 非精确线搜索算法
如果不追求每一次迭代都找到最佳步长, 而是转而求其次: 通过一些不等式, 判断步长是否合适, 通过缩放步长, 来快速找到满足不等式的步长.
这种方法计算简单, 所以大量运用在线搜索中. 这些不等式也被称为线搜索准则, 接下来将介绍几个常见的线搜索准则.
5.3.2 Armijo准则
若步长满足不等式, 则称其满足Armijo 准则
其中, 是一个常数.
接下来我们将借助辅助函数, 也就是执行该步长后的f函数值.
![notion image](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Fad2ab0c3-eab8-46b6-8097-793d488a1c72%2Fd1aa42eb-ac11-44ce-9c4a-fdc050437e90%2Fimage.png?table=block&id=ec68bc2e-09d9-4bf3-b8cb-7c1a9eeb2183&t=ec68bc2e-09d9-4bf3-b8cb-7c1a9eeb2183&width=384&cache=v2)
Armijo准则的几何意义如图, 它要求步长必须在虚线之下. 也就是说它是为了保证每一步迭代后的函数值下降.
![notion image](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Fad2ab0c3-eab8-46b6-8097-793d488a1c72%2Fc8672c6e-ead8-4281-9fc2-cc7154404ed0%2Fimage.png?table=block&id=7db1e210-96f3-479a-ab2f-0c77c6b62ab4&t=7db1e210-96f3-479a-ab2f-0c77c6b62ab4&width=480&cache=v2)
当初始步长不满足准则是, 我们一般使用一些简单的缩放来寻找满足要求的步长. 上图就是常见的回退法, 当步长不满足要求时, 给定一个, 不停的缩小步长直到其满足准则.
因为步长是从大变小的, 这保证了尽可能的大.
5.3.2 Goldstein准则
Armijo准则非常容易满足, 因为它几乎只保证了函数值会下降.
为了克服 Armijo 准则的缺陷,我们需要引入其他准则来保证每一步的 αk 不会太小.既然 Armijo 准则只要求点 (α, ϕ(α)) 必须处在某直线下方,我们也可使用相同的形式使得该点必须处在另一条直线的上方.这就是Armijo-Goldstein 准则,简称 Goldstein 准则:
若步长满足不等式, 则称其满足Goldstein准则. 其中, 是一个常数.
![notion image](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Fad2ab0c3-eab8-46b6-8097-793d488a1c72%2Fdc2829cd-0a13-4a79-b6d5-5048e743eedb%2Fimage.png?table=block&id=ffac7aa8-8e33-4850-b155-9e234f541400&t=ffac7aa8-8e33-4850-b155-9e234f541400&width=480&cache=v2)
Goldstein准则的几何意义如图, 它要求步长必须在两条虚线之间. 在保证函数值下降的同时, 也保证了步长不会过分的小. 这保证每一步迭代后的函数值充分下降.
5.3.3 Wolfe准则
Goldstein 准则能够使得函数值充分下降,但是它可能避开了最优的函数值. 上面的图也可以看到, 最佳步长并不在之间. 因此引入了Wolfe准则:
在准则中,第一个不等式即是 Armijo 准则,而第二个不等式(6.1.4b) 则是 Wolfe 准则的本质要求。注意到 ∇f(xk+αdk)Tdk 恰好就是 ϕ(α) 的导数,Wolfe 准则实际要求 ϕ(α) 在点 α 处切线的斜率不能小于 ϕ′(0) 的 c2 倍. 如图6.3所示,在区间 [α1,α2] 中的点均满足 Wolfe 准则. 注意到在 ϕ(α) 的极小值点 α* 处有 ϕ′(α*) = ∇f(xk+α*dk)Tdk = 0 ,因此 α*永远满足条件. 而选择较小的 c1 可使得 α* 同时满足条件(6.1.4a),即 Wolfe 准则在绝大多数情况下会包含线搜索子问题的精确解。在实际应用中, 参数 c2 通常取为 0.9 .
![notion image](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Fad2ab0c3-eab8-46b6-8097-793d488a1c72%2F798e97a3-a1de-4914-9e2c-506d07b400d9%2Fimage.png?table=block&id=385a9670-c30e-4c9c-a00c-f3b2e98dceb7&t=385a9670-c30e-4c9c-a00c-f3b2e98dceb7&width=576&cache=v2)
Wolfe准则的几何意义如题, 可以看到, 最佳步长处在Wolfe准则定义的区间 [α1,α2] 内.
下一节, 我们将使用线搜索准则, 改进之前的梯度下降法, 并对比不同线搜索准则的效果.
参考链接
上一篇
动手学控制理论
下一篇
端到端-理论与实战视频课程
Loading...