眩しさだけは、忘れなかった。|

【最优化方法】第四次要点整理

梯度下降法

【算法原理】给定 xk,设 f(x) 一阶可微,给定 dRn,有:

f(xk,d)=limt0+f(xk+td)f(xk)t()=limt0+f(xk)+f(xk)td+o(t)f(xk)t=f(xk)d

d=f(xk)f(x)x=xk 处下降最快的方向。

【算法步骤】初值设为 x0,ε,迭代方程为:

xk+1=xkαkf(xk)

其中 αk 由精确线搜索或非精确线搜索技术求得。停机准则为:

||f(xk)||ε

梯度下降法的收敛性

【定义 1】如果函数 f 在区间 D 上 Lipschitz 连续,那么对于 x,yD,有:

L>0, ||f(x)f(y)||L||xy||

其中常数 L 称为 f 在区间 D 上的 Lipschitz 常数。

【定义 2】若 f(x) 在区间 Dk 阶连续可微,且 f(x)p 阶导数在区间 D 上具有常数 L 的 Lipschitz 连续性,则 f(x)CLk,p(D)

【引理 1】设 f(x)CL1,1(Rn),则对于 x,yRn,有:

|f(y)f(x)f(xk)(yx)|L2||yx||2

【引理 2】设 f(x) 二阶连续可微,则f(x) 具有常数 L 的 Lipschitz 连续性当且仅当 ||2f(x)||2L

【定理】设 f(x)CL1,1(Rn)f(x) 有下界,α(0,2L),且算法产生的无穷迭代点列为 {xk},则:

  • limk||f(xk)||=0
  • {xk} 的任一聚点 x 满足 f(x)=0
  • gNcN+1(f(x0)f)12,其中 c 为常数,f=minf(x)gN=min0kN||f(xk)||2

数列的聚点是指在无限数列中,无限接近于某个数的数值。换句话说,聚点是数列中可能出现的极限值。

最速下降法

【算法原理】每一次迭代,均沿梯度的反方向:

xk+1=xkαkf(xk)

其中:

αk=argminα0f(xkαkf(xk))=argminα0f(xk+1)

【性质】最速下降法每次更新的轨迹都和上一次垂直,即:

f(xkαkf(xk))f(xk)=0

或:

f(xk+1)f(xk)=0

因此,当用最速下降法寻找极小点时,其搜索路径呈直角锯齿状。

【算法步骤】

  • 第一步:选取初始点 x0,给定终止误差 ε>0 ,令 k=0
  • 第二步:计算 f(xk),若 ||f(xk)||ε,停止迭代并输出 x=xk;否则进行第三步
  • 第三步(确定迭代方向):取 pk=f(xk)
  • 第四步(确定步长):进行一维搜索,求 λk,使得:

f(xk+λkpk)=minλ0f(xk+λpk)

xk+1xk+λkpkkk+1,回到第二步

【最速下降法与梯度下降法的细微差别】对于梯度下降法,我们需要预先设定步长 α;而最速下降法的步长 αk 是通过优化函数计算得到的。也就是说两者的区别在于每次迭代的步长是否恒定。

【例题】

image

image

牛顿法

【算法原理】f(x)xk 处的二阶泰勒展开:

f(xk+1)=f(xk)+f(xk)(xk+1xk)+12(xk+1xk)2f(xk)(xk+1xk)

dk=xk+1xk,则上式可变为:

f(xk+dk)=f(xk)+f(xk)dk+12dk2f(xk)dk

那么当 dk 取多少时,可以使 f(xk+dk) 最小?对上式两边对 dk 求梯度得:

f(xk+dk)=f(xk)+2f(xk)dk

f(xk+dk) 最小时,有:

f(xk+dk)=f(xk)+2f(xk)dk=0

即:

dk=(2f(xk))1f(xk)

这个就是牛顿方向。

【算法步骤】

  • 第一步:选取初始点 x0,给定终止误差 ε>0 ,令 k=0
  • 第二步:计算 f(xk),若 ||f(xk)||ε,停止迭代并输出 x=xk;否则进行第三步
  • 第三步(确定迭代方向):取 dk=(2f(xk))1f(xk)
  • 第四步(迭代更新):令 xk+1xk+dk=xk(2f(xk))1f(xk)kk+1,回到第二步

牛顿法的适用条件:

  • 海塞矩阵 2f(xk) 正定,若半正定可能会退化为线性收敛
  • x0 要靠近 x(目标解为 x

【优缺点】

  • 优点:收敛速度非常快,是二阶收敛速度
  • 缺点:
    • 无法保证 2f(xk) 正定且可逆,且计算成本较大(若 2f(xk) 不是正定的,则迭代方向不是下降方向)
    • 无法保证 x0 充分靠近 x,否则会导致迭代不稳定,进而导致算法无法收敛(局部收敛性)

【改进】

  • 改进第一个缺点:修正 2f(xk) 使其正定,于是就有了修正牛顿法
  • 改进第二个缺点:引入线搜索技术,于是就有了阻尼牛顿法

修正牛顿法

【牛顿-梯度混合下降法(Goldstein-Price 算法,或 G-P 算法)】在每步迭代中:

dk={(2f(xk))1f(xk),  2f(xk)f(xk),  

【正则化牛顿法(Levenberg-Marquardt 算法,或 L-M 算法)】修正方法如下:

  • 2f(xk) 不正定,取 Qk>λmin(2f(xk))(即取其特征值中的最小值)
  • 2f(xk) 正定,取 Qk=0

Gk=2f(xk)+QkI 正定,其中 I 为单位阵。此时 L-M 算法的下降方向为:

dk=(2f(xk)+QkI)1f(xk)=Gkf(xk)

只要 Qk 足够大,一定可以使海塞矩阵的所有特征值都大于 0。

阻尼牛顿法

【算法步骤】

  • 第一步:选取初始点 x0,给定终止误差 ε>0 ,令 k=0
  • 第二步:计算 f(xk),若 ||f(xk)||ε,停止迭代并输出 x=xk;否则进行第三步
  • 第三步(确定迭代方向):取 dk=(2f(xk))1f(xk)
  • 第四步:沿着搜索方向 dk 进行精确或非精确线搜索,确定 αk
  • 第五步(迭代更新):令 xk+1xk+αkdk=xkαk(2f(xk))1f(xk)kk+1,回到第二步

本文作者:漫舞八月(Mount256)

本文链接:https://www.cnblogs.com/Mount256/p/18590330

版权声明:本作品采用CC 4.0 BY-SA许可协议进行许可。

posted @   漫舞八月(Mount256)  阅读(47)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
展开
  1. 1 Main Menu Theme Syd Matters
  2. 2 Luminous Memory (Acyanxi Remix) Acyanxi
  3. 3 夏影 麻枝准
  4. 4 潮騒の香り 水月陵
  5. 5 stand still 井口裕香 (いぐち ゆか)
  6. 6 流星雨 麻枝准
  7. 7 Summer Fantasy 傅许
  8. 8 失う 米白
  9. 9 epilogue 霜月はるか
  10. 10 夏に君を待ちながら 小原好美
  11. 11 桜のような恋でした 鹿乃 (かの)
  12. 12 風は微かに、熱を残し… 水月陵
  13. 13 夏凪ぎ 麻枝准/やなぎなぎ
  14. 14 空に光る 戸越まごめ
  15. 15 木漏れ日 riya
  16. 16 Songbirds Homecomings (ホームカミングス)
  17. 17 宝物になった日 麻枝准/やなぎなぎ
  18. 18 夏影~あの飛行機雲を超えた、その先へ~ 雪桜草 (雪樱草)
  19. 19 快晴 Orangestar (蜜柑星P),初音未来 (初音ミク)
  20. 20 永遠 霜月はるか
  21. 21 Sion 天門
  22. 22 遙かな年月-piano- 麻枝准
  23. 23 夏恋慕 kobasolo/春茶
  24. 24 夏凪ぎ-piano ver.- MANYO/麻枝准
  25. 25 Goodbye Seven Seas -piano ver.- MANYO/麻枝准
  26. 26 Light Years 麻枝准/やなぎなぎ
  27. 27 優しさの記憶 鹿乃 (かの)
Main Menu Theme - Syd Matters
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.