本章主要解决一元优化问题:

目标函数为一元单值函数

  • 迭代算法:从初始搜索点出发,产生一个迭代序列,不断逼近极值点。

黄金分割法

  • 原理
    • 按黄金分割比把区间分两份(在原区间插入两点,插入点到左右端点距离相同)
    • 在两个个区间 中比较插入处函数值大小,后去掉一个不符合条件的区间
    • 在剩下的一个区间里再次插入一个点
    • 重复上述操作,直到收敛

函数实例

黄金分割法改进-斐波那契数列法


改进示意图
  • 区间压缩率: 斐波那契数列法的总压缩比为

由于该方法使用的最优参数序列 , 因此, 总压缩比比黄金分割法要小

该迭代方法的最后一次迭代参数为1/2, 为避免这一问题,可以令最后一次的迭代参数为

二分法

  • 适用条件:函数 在区间 为单峰函数,且是连续可微的。
  • 原理:利用函数的一阶导数,对区间进行二分。
    • 首先, 确定初始区间的中点
    • 然后, 计算函数 处的一阶导数
    • 如果 , 说明极小点位于 的左侧
    • 如果 , 说明极小点位于 的右侧
    • 如果 , 说明 就是函数 的极小点 二分法与黄金分割法和斐波那契数列法存在两个明显的区别,二分法使用的是:函数的导数 ,而不是黄金分割法和斐波那契数列法所使用的函数值;迭代中, 区间的压缩比为 步迭代之后, 整个区间的总压缩比为 总压缩比比黄金分割法和斐波那契数列法的总压缩比要小。

牛顿法

  • 适用条件:函数二阶连续可微。利用函数在该点处的函数值,一二阶导数。

  • 原理

    • 求函数 的极小点可近似于求解 的极小点。
    • 函数 的极小点
    • , 可得
    • (牛顿法可以用于求方程的根,

牛顿法例题

例: 利用牛顿法求解如下函数的极小点: 初始值为 , 精度为 , 即当 时停止迭代。 计算函数 的一阶和二阶导数: 由于 , 迭代结束。 处的一阶导数为 , 且二阶导数 , 说明 是一个严格极小点。

注: 对于区间内所有的 都成立时, 牛顿法能够正常运行 如果在某些点处, 有 , 牛顿法可能收敛到极大点

牛顿法的近似-割线法

  • 对二阶导数的近似:如果二阶导数不存在, 近似计算

该方法需要两个初始点

同理:割线法也可以求方程 其迭代公式为

注:牛顿法和割线法都属于二次拟合。割线法只用到了目标函数的一阶导数 ,没有用到二阶导数

插值类方法

  • 思路:在搜索区间内使用低次(不超过3次)多项式插值近似目标函数
  • 三点两次插值
  • 两点二次插值
  • 两点三次插值

多元函数线搜索

讨论目标函数: 求其极小点的迭代算法迭代公式为:

利用割线法展开一维线搜索需要用到目标函数的梯度 ,初始搜索点 和搜索方向 。 其确定方式为使函数

达到最小。

实际应用中存在一些常用的停止条件。首先, 选定 3 个常数: 。通过要求

可以保证 不会太大。通过要求( 乘上系数 )

可保证 不会太小。这称为 Armijo 条件。 如果将 Armijo 条件中第二个不等式调整为

就成为了 Goldstein 条件。 Armijo 条件中的第一个不等式和 Goldstein 条件联合称为 Armijo-Goldstein 条件Wolfe 条件只包括函数 的一阶导数 :(对 goldstein条件关于 求导)

Wolfe 条件的一个变体称为强 Wolfe 条件:

信赖域方法

定义 (信赖域: 迭代点 的邻域) , 其中 称为信赖域半径。

信赖域求解思想 在信赖域 内, 做函数 的二次 Taylor逼近函数 , 通过选取适当的信赖域 半径, 使得 逼近的效果足够好。我们称 内是可信的。

信赖域模型:给定当前点 ,求解如下约束优化获得

  • , 基于梯度下降的信赖域方法
  • , 基于牛顿法的信赖域方法
  • , 基于拟牛顿法的信赖域方法

与线搜索方法区别


两种方法比较|课程PPT

定义 , 则问题 (1) 可以写成 s.t. 信赖域子问题: , 其中 是如上优化问题的解

等价于求解如下 范数球约束的二次规划问题

当采用 -范数时, 上述优化问题 (2) 的解为:

  • , 则最优解为

.

  • , 则需要用KKT条件求解优化问题 (2)

参考文献