问题

minimize 其中, 函数 是一个实值函数。 subject to


函数梯度迭代示意图

梯度方法

  • 思想:令作为初始搜索点,沿着梯度负方向构造一个新点,如果,那么足够小时,有.
  • 迭代公式.
  • 最速下降法:选择合适的步长,使得目标函数能够得到最大程度的减小。

最速下降法

  • 定理: 最速下降法搜索函数 的极小点, 迭代过程产生的序列为 , 那么, 正交对于所有的 都成立。
  • 下降性质:利用梯度的本质,只要,就能保证每次迭代得到的新数值比原数值小。
  • 实际计算中的停止搜索准则:定义最小变化量。 一阶必要条件:

最速下降法例题

最速下降法求 的极小点。初始搜索点为 , 开展 3 次迭代。

  • Step1:

Step2: Step3: 理论上:函数 的极小点就是

梯度方法特性以及收敛性分析

  • 特性: 单调下降算法;全局收敛
  • 收敛性分析: 将目标函数设定为二次函数:

其中,

  • 瑞利不等式:对于任意的 , 有
  • 收敛性: 对于最速下降法,对于任意的初始点 ,都有

固定步长梯度法

对于所有步长 ,迭代公式为:

  • 定理8.3: 对于步长固定梯度法, 当且仅当步长

时,


收敛率

  • 定义8.1(收敛阶): 存在一个序列 , 能够收敛到 , 即 。 如果

则序列 的收敛阶数为 , 其中, 如果对任意的 ,上式极限都为 ,那么称收敛阶数为

  • 定理8.6: 最速下降法在求解目标函数 的极小点时,产生一个收敛的迭代点 , 该序列在最坏情况下的收敛阶数为 1 。也就是说, 存在一个目标函数 和某 始点 , 能够使得 的收敛阶数为 1 。

牛顿法

  • 思路:最速下降法只用到了目标函数的一阶导数,如果能够在迭代方法中引入高阶导数,其效率可能优于最速下降法。

    • 首先构造一个二次型函数,其与目标函数在该点的一阶和二阶导数相等,以此可以作为目标函数的近似表达式。
    • 求改二次型函数的极小点,以此作为下一次迭代的起始点。
    • 重复上述过程,直到满足迭代条件后退出。
  • 迭代操作 目标函数 二阶连续可微, 将函数 在点 处进行泰勒展开, 可得到二次型近似函数:

其中 ,局部极小点的一阶必要条件

如果 , 函数 的极小点为

牛顿法收敛性分析

  • 如果初始点靠近极大(小)点,那么牛顿法将具有非常好的收敛性,如果初始点离极大(小)点较远,牛顿法并不一定收敛。

修正牛顿法

  • 带步长牛顿法 ,

牛顿法求解非线性最小二乘

  • 非线性最小二乘问题 其中, 为给定的函数。
  • 分析:令 , 可将目标函数写为 。 计算函数 的梯度和黑塞矩阵

的雅可比矩阵为:

函数 的梯度可以表示为 函数 的黑塞矩阵 牛顿法求解非线性最小二乘迭代公式:

矩阵 包含函数 的二阶导数, 其中的元素都很小 高斯一牛顿法求解非线性最小二乘迭代公式:即略掉


共轭类方法

方法特性:

  1. 对于n维二次型问题,能够在n步之内得到结果。
  2. 共轭梯度法不需要计算黑塞矩阵
  3. 不需要储存n·n矩阵,也不需要对矩阵进行求逆
  4. 计算速度介于最速下降法和牛顿法之间。

定义10.1(共轭) 的对称实矩阵, 对于方向 , 如果对 于所有的 , 有 , 则称它们是关于 共轭的

引理10.1 的对称正定矩阵, 如果方向 1 非零, 且是关于 共轭的, 那么它们是线性无关的。


共轭方向法

针对 维二次型函数的最小化问题:

其中, 。注意, 由于 , 因此函数 有一个全局极小点, 可通过求解 得到。

基本的共轭方向算法 给定初始点 和一组关于 共轭的方向 ,

定理10.1: 对于任意的初始点 ,基本的共轭方向算法都能在 次迭代之内收敛到唯一的全局极小点 ,即

引理10.2(精确步长): 在共轭方向算法中, 对于所有 , 都有

扩展子空间定理

共轭方向法满足 , 而且还能满足 则有


共轭梯度法

特性: 共轭方向法虽然计算效率高,但是需要提供一组 共轭方向,共轭梯度法不需要预先给定 共轭方向,而是随着迭代的进行不断产生 共轭方向。利用上一个搜索方向和目标函数在当前已经产生的搜索方向组成 共轭方向。

计算步骤:

  1. ; 选择初始值
  2. 计算 , 如果 , 停止迭代; 否则, 令
  3. 计算
  4. 计算
  5. 计算 , 如果 , 停止迭代。
  6. 计算
  7. 计算
  8. , 回到第 3 步。

共轭梯度法实例

例: 用共轭梯度法求其极小点, 初始点为


非线性共轭梯度法

理论上把线性共轭梯度法中的矩阵 Q 换成黑 塞矩阵。但是,对一般的非线性函数,每次迭代都必须重新计算黑 塞矩阵,这需要非常大的运算量 所以需要对其进行修改,消除每次迭代中进行求黑塞矩阵的环节。

  • Hestenes-Stiefel公式
  • Polak-Ribiere公式: 将 公式的分母部分展开。
  • Fletcher_reeves公式: 将 公式的分子部分展开。

对于二次型问题,这三个公式是等价的;但是。当目标函数为一般的非线性函数时,这三个公式并不一致。


拟牛顿法

  • 牛顿法的缺陷:
  1. 当目标函数为一般性的非线性函数时,牛顿法不能保证能够从任意起始点 收敛到函数的极小点。
  2. 必须计算黑塞矩阵 和求解方程 上进行一维搜索。
  3. 黑塞矩阵是非正定或奇异的。
  • 拟牛顿法的思路: 设计黑塞矩阵的近似矩阵来代替黑塞矩阵。此时需要用到目标函数值和梯度。令 表示对应黑塞矩阵的逆的一系列近似矩阵。 则 满足:
  1. 对称正定。(保证函数值迭代后下降)
  2. 计算量较小。
  3. 与对应的黑塞矩阵近似。

分析: 黑塞矩阵性质 (即二阶导): 1维:近似计算 n维: 简化为: 因此:

  • 拟牛顿法迭代公式:

其中, 矩阵 对称实矩阵,是对黑塞矩阵的逆的近似。目标函数为二次型函数时, 它们必须满足

其中, 。实际上, 拟牛顿法也是 一种共轭方向法, 接下来给出证明。

  • 定理 11. 1: 将拟牛顿法应用到二次型问题中, 黑塞矩阵为 , 对于 , 有

其中, 。 如果 , 那么 共轭的。

从矩阵 必须满足的方程来看, 并不能唯一确定,常见的矩阵 是通过在矩阵 上增加一个修正项来得到。(秩1修正、DFP,BFGS)


秩1修正公式

在给定 后, 确定

  • 算法步骤:
  1. ; 选择初始点 , 任选一个对称正定实矩阵
  2. 如果 , 停止迭代; 否则, 令
  3. 计算
  4. 计算
  1. , 回到第 2 步。

秩1校正公式实例

例:用秩 1 算法求函数 极小点。 初始值为 解:

Step 1:

Step 2:


DFP算法

  • 秩一修正公式缺陷
  1. 秩1算法产生的矩阵 可能非正定, 将导致 可能不是下降方向(即使是二次型问题)。
  2. 秩 1 公式的分母如果接近 0 ,会出现计算困难。

寻找 的近似 具体公式:

使用秩一算法或者 算法求解二次型问题时,黑塞矩阵为

  • DFP算法特性
  • 算法中,只要矩阵 正定, 就一定是正定的。
  • 当矩阵 接近为奇异矩阵时,迭代有时无法展开。

DFP公式实例

例:用 DFP 算法求函数 的极小点。初始点为 。 step 1:

step 2:

函数 为两变量二次型函数, 就是极小点 。可以验证 共轭方向。


BFSGS公式

  • 旧思路:根据 黑塞矩阵逆矩阵的近似矩阵需要满足以下条件:

基于上述等式, 可以构造黑塞矩阵逆矩阵 的近似矩阵的更新公式。 如秩1公式和DFP公式都是据此而来的。

  • 新思路: 除了构造 的近似矩阵, 还可以构造矩阵 的近似矩阵 令矩阵 表示在第 次迭代中关于矩阵 的估计 则 应该满足

由DFP公式: 用对称性,得BFGS公式

注: DFP公式与BFGS公式称为互补的(或对偶的)

  • BFGS公式的逆矩阵

原理:应用两次 Sherman-Morison公式 即可