文章目录

  • 无约束优化:线搜索最速下降
  • 无约束优化问题
  • 线搜索最速下降
  • 精确线搜索
  • 非精确线搜索
  • Armijo准则
  • Goldstein准则
  • Wolfe准则
  • 参考文献


无约束优化:线搜索最速下降

无约束优化问题

MPAndroidCharts 固定步长_优化问题

线搜索最速下降

MPAndroidCharts 固定步长_辅助函数_02

对于光滑函数MPAndroidCharts 固定步长_优化问题_03,沿着函数负梯度方向下降速度最快。对于线搜索最速下降方法而言,核心问题是如何选择搜索步长MPAndroidCharts 固定步长_搜索_04,一般有以下四种方法:

  • 固定步长:MPAndroidCharts 固定步长_搜索_05。如下图所示,若常数取太大,则搜索振荡厉害且对于非凸函数有可能发散;若太小,则收敛速度慢;
  • 渐消步长:MPAndroidCharts 固定步长_辅助函数_06。适用性强,对于非光滑函数、梯度存在噪声(MPAndroidCharts 固定步长_算法_07
  • 精确线搜索:MPAndroidCharts 固定步长_搜索_08,实际应用较少,下面详述;
  • 非精确线搜索:MPAndroidCharts 固定步长_优化问题_09,重要,下面详述。

MPAndroidCharts 固定步长_算法_10

精确线搜索

此时我们构造了一个辅助函数MPAndroidCharts 固定步长_搜索_11MPAndroidCharts 固定步长_优化问题_12是该辅助函数的自变量,该函数的几何含义非常直观:它是目标函数MPAndroidCharts 固定步长_辅助函数_13在射线MPAndroidCharts 固定步长_算法_14上的限制。线搜索的目标就是选取合适的MPAndroidCharts 固定步长_搜索_15使得MPAndroidCharts 固定步长_优化问题_16尽可能小,自然而言引入一个子优化问题:
MPAndroidCharts 固定步长_优化问题_17
这个子优化算法就是精确线搜索,目的是找到精确的最佳步长MPAndroidCharts 固定步长_搜索_15。但在原本的最速下降优化问题中再引入一个子优化问题,这本身就带来比较大的计算量,因此精确线搜索在实际应用中较少使用。由此,引出非精确线搜索算法,即把条件放宽,不要求得到精确的最佳步长MPAndroidCharts 固定步长_优化问题_19,而是仅仅要求MPAndroidCharts 固定步长_辅助函数_20满足某些不等式要求

非精确线搜索

Armijo准则

MPAndroidCharts 固定步长_辅助函数_21是点MPAndroidCharts 固定步长_优化问题_22处的下降方向,若MPAndroidCharts 固定步长_算法_23,则称步长MPAndroidCharts 固定步长_优化问题_12满足Armijo准则,其中MPAndroidCharts 固定步长_搜索_25是一个常数。一般MPAndroidCharts 固定步长_辅助函数_21为负梯度方向,则MPAndroidCharts 固定步长_搜索_27,若满足Armijo准则,则严格满足MPAndroidCharts 固定步长_辅助函数_28,因此又称该准则为充分下降条件,可保证每一步迭代充分下降。

MPAndroidCharts 固定步长_搜索_29

该准则有非常直观的几何含义,如上图所示。在实际应用中,参数MPAndroidCharts 固定步长_辅助函数_30通常选为一个很小的正数,例如MPAndroidCharts 固定步长_辅助函数_31,这使得Armijo准则非常容易满足。但仅仅使用该准则无法保证迭代的收敛性,因为取MPAndroidCharts 固定步长_辅助函数_32也是满足准则中的条件,而这意味着迭代序列中的点固定不变,这样重复收敛就没有意义,因此Armijo准则一般搭配其他准则来使用。基于Armijo准则的最速下降算法步骤如下:

MPAndroidCharts 固定步长_算法_33

上述算法不会无限进行下去,因为沿着梯度负方向,当MPAndroidCharts 固定步长_优化问题_12充分小时,该准则总是成立的。为了避免步长过小,在实际应用中一般会给MPAndroidCharts 固定步长_优化问题_12设置一个下界,这就是Goldstein准则。

Goldstein准则

Armijo-Goldstein准则,简称Goldstein准则,简单来说就是同时给MPAndroidCharts 固定步长_优化问题_12设置上下界,定义如下:

MPAndroidCharts 固定步长_辅助函数_21是点MPAndroidCharts 固定步长_优化问题_22处的下降方向,若
MPAndroidCharts 固定步长_辅助函数_39
则称步长MPAndroidCharts 固定步长_优化问题_12满足Goldstein准则,其中MPAndroidCharts 固定步长_搜索_41.

MPAndroidCharts 固定步长_优化问题_42

该准则的几何意义同样非常直观,如上图所示,在区间MPAndroidCharts 固定步长_优化问题_43中的点均满足Goldstein准则。但需要注意的是,该准则可能避开最优的函数值MPAndroidCharts 固定步长_搜索_44的最小值点并不在区间MPAndroidCharts 固定步长_优化问题_43内。为此,我们引入Armijo-Wolfe准则。

Wolfe准则

Armijo-Wolfe准则,简称Wolfe准则,定义如下:

MPAndroidCharts 固定步长_辅助函数_21是点MPAndroidCharts 固定步长_优化问题_22处的下降方向,若
MPAndroidCharts 固定步长_优化问题_48
则称步长MPAndroidCharts 固定步长_优化问题_12满足Wolfe准则,其中MPAndroidCharts 固定步长_辅助函数_50为给定常数且MPAndroidCharts 固定步长_搜索_51.

由该准则的定义可以看出,仍然使用第一个条件即Armijo准则确定步长上界,在第二个条件中MPAndroidCharts 固定步长_辅助函数_52MPAndroidCharts 固定步长_搜索_44的导数,也就是要求MPAndroidCharts 固定步长_搜索_44在点MPAndroidCharts 固定步长_优化问题_12处切线的斜率不能小于MPAndroidCharts 固定步长_优化问题_56MPAndroidCharts 固定步长_优化问题_57倍。如下图所示,在区间MPAndroidCharts 固定步长_优化问题_43中的点均满足Wolfe准则,MPAndroidCharts 固定步长_算法_59子优化问题的最优解处(MPAndroidCharts 固定步长_搜索_44的极小值点)有MPAndroidCharts 固定步长_搜索_61,永远满足Wolfe准则的第二个条件。因此,该准则在绝大多数情况下包含线搜索子问题的精确解,在实际应用中,参数MPAndroidCharts 固定步长_算法_62MPAndroidCharts 固定步长_搜索_63.

MPAndroidCharts 固定步长_搜索_64


参考文献

机器人中的数值优化

最优化:建模、算法与理论/最优化计算方法