《最优化理论与算法》(陈宝林)——第10章:使用导数的最优化方法

目录

  • 最速下降法
    • 核心思想
    • 计算步骤
    • 算法讨论
  • 牛顿法
    • 原始牛顿法
      • 核心
      • 计算步骤
      • 算法讨论
    • 阻尼牛顿法:
    • 牛顿法进一步修正:
  • 共轭梯度法
    • 基本思想
    • 求解步骤:
      • 二次函数
      • 一般函数
    • 算法讨论
  • 拟牛顿法
  • 信赖区域方法
  • 最小二乘法

最速下降法

核心思想

负梯度方向为最速下降方向

计算步骤

《最优化理论与算法》(陈宝林)——第10章:使用导数的最优化方法_第1张图片

算法讨论

  • 越接近极值点,锯齿现象越严重,收敛越慢。
    《最优化理论与算法》(陈宝林)——第10章:使用导数的最优化方法_第2张图片
  • Hesse矩阵条件数越大,锯齿现象越严重,收敛越慢
    《最优化理论与算法》(陈宝林)——第10章:使用导数的最优化方法_第3张图片
    《最优化理论与算法》(陈宝林)——第10章:使用导数的最优化方法_第4张图片
  • 总结:
  1. 最速下降方向反映了目标函数的一种局部性质.
  2. 从局部看,最速下降方向确是函数值下降最快的方向,选择这样的方向进行搜索是有利的
  3. 但从全局看,由千锯齿 现象的影响,即使向着极小点移近不太大的距离,也要经历不小的弯路,因此使收敛速率大为减慢。
  4. 最速下降法并不是收敛最快的方法,相反,从全局看,它的收敛是比较慢的.
  5. 因此,最速下降法一般适用千计算过程的前期迭代或作为间插步骤.
  6. 当接近极小点时,再使用最速下降法,试图用这种方法达到迭代的终止,这样做并不有利.

牛顿法

原始牛顿法

核心

根据Taylor公式,用多项式函数去拟合原函数
《最优化理论与算法》(陈宝林)——第10章:使用导数的最优化方法_第5张图片

计算步骤

根据迭代公式去迭代就好了

算法讨论

  • 牛顿法收敛的速度较快
  1. 至少是二级收敛的。
  2. 二次凸函数,用牛顿法,经过1次迭代即可达到极小值点。
  3. 包括牛顿在内的一些算法,用于二次凸函数时,经有限次迭代必达到极小值点,这种性质成为二次终止性。
  • 牛顿法失效:
  1. Hessen矩阵可能奇异:导致无法找到后继节点(Hessen矩阵奇异即为不可逆,那么就无法求出牛顿方向,即无法找出后继节点)
  2. Hessen矩阵可能不正定:牛顿方向可能不是下降方向(当Hessen矩阵不正定时候,牛顿方向与负梯度方向的向量积可能<0,即牛顿方向可能与负梯度方向反向,即牛顿方向可能是上升方向)

阻尼牛顿法:

整体感觉阻尼牛顿法并未解决问题,原始牛顿法的基本思想为是用牛顿方向向量(=负的“Hessen矩阵的逆矩阵与梯度向量的矩阵积”)的模长直接作为步长,而阻尼牛顿法则说NO,这个步长必须进行一次一维搜索找出来,这样当你的牛顿方向给的是上升方向时候,阻尼牛顿法的模长就=0,相当于站在原地不动。所谓阻尼牛顿法能够发现原始牛顿法失效的情况,但是自身却无法直接解决这种失效,大胆猜测在阻尼牛顿法基础上加上一些失效应对措施,就能够解决原始牛顿法的问题的。

牛顿法进一步修正:

1.目标:解决Hessen矩阵可能非正定
2.思想:构造正定矩阵去替代Hessen矩阵。
《最优化理论与算法》(陈宝林)——第10章:使用导数的最优化方法_第6张图片

共轭梯度法

基本思想

对于二次凸函数,若沿着一组共轭方向(关于Hessen矩阵)(非零向量)搜索,经有限步迭代必达到极小值点,这是一种极好的性质,根据这些性质可以构造一些二次终止性算法。

求解步骤:

二次函数

《最优化理论与算法》(陈宝林)——第10章:使用导数的最优化方法_第7张图片
《最优化理论与算法》(陈宝林)——第10章:使用导数的最优化方法_第8张图片
《最优化理论与算法》(陈宝林)——第10章:使用导数的最优化方法_第9张图片

一般函数

算法讨论

拟牛顿法

有坑待填

信赖区域方法

有坑待填

最小二乘法

有坑代填

你可能感兴趣的:(数值优化)