最优化方法总结——梯度下降法、最速下降法、牛顿法、高斯牛顿法、LM法、拟牛顿法
创始人
2024-05-26 20:26:52
0

目录

1 最优化方法的结构

2 常用最优化方法对比分析

3 相关计算公式


1 最优化方法的结构

        最优化问题的一般形式为:

min f(x)
s.t. x\in X

其中x为决策变量,f(x)是目标函数,X为约束集或可行域。特别地,如果X=R^n,则最优化问题成为无约束最优化问题。

        最优化方法通常采用迭代法求它的最优解,其基本思想是:给定一个初始点x_0,按照某一迭代规则产品一个点列{x_n},使得当{x_n}是有穷点列时,其最后一个点是最优化模型问题的最优解。迭代规则由迭代公式决定,迭代公式的基本表示形式如下:

x_{k+1}=x_k+\alpha _kd_k

        式中,\alpha _k为步长因子,d_k为搜索方向。在最优化算法中,搜索方向d_kfx_k点处的下降方向,即:

f(x_k+\alpha _kd_k)<f(x_k)​​​​​​​

        最优化方法的基本结构如下:

  • 给定初始点x_0
  • 确定搜索方向d_k,即按照一定规则,构造 fx_k点处的下降方向作为搜索方向;
  • 确定步长因子\alpha _k,使目标函数有某种意义的下降;
  • 令 x_{k+1}=x_k+\alpha _kd_k,若x_{k+1}满足某种终止条件,则停止迭代,得到近似最优解x_{k+1}.否则,重复以上步骤。

2 常用最优化方法对比分析

        从迭代公式可知,最优化方法求解时的关键就是构造搜索方向d_k和步长因子\alpha _k。不同的搜索方向和不同的步长因子构成了不同的方法,常见的最优化方法有梯度下降法、最速下降法、牛顿法、高斯牛顿法、LM法、拟牛顿法,对应的迭代公式总结如下表:

迭代公式
梯度下降法x^{k+1}=x^k- \alpha \triangledown f(x^k)
最速下降法x^{k+1}=x^k- \alpha_k \triangledown f(x^k)
牛顿法x^{k+1}=x^k- \alpha_kH(x^k)^{-1} \triangledown f(x^k)
高斯牛顿法x^{k+1}=x^k- \alpha_kG(x^k)^{-1} \triangledown f(x^k)
LM法x^{k+1}=x^k- \alpha_kJ(x^k)^{-1} \triangledown f(x^k)
拟牛顿法x^{k+1}=x^k- \alpha_kB(x^k)^{-1} \triangledown f(x^k)

对比分析:

梯度下降法最速下降法牛顿法高斯牛顿法LM法拟牛顿法
步长因子\alpha\alpha _k\alpha _k\alpha _k

 \alpha _k

 \alpha _k

搜索方向-\triangledown f(x^k)-\triangledown f(x^k)-H(x^k)^{-1}\triangledown f(x^k)-G(x^k)^{-1}\triangledown f(x^k)-J(x^k)^{-1}\triangledown f(x^k)-B(x^k)^{-1}\triangledown f(x^k)
参数说明

 ① 步长因子\alpha为一个固定值,工程师预先设定;② 搜索方向为梯度方向 \triangledown f(x^k)的反方向

步长因子是一个变化的常数\alpha _k,每一次迭代需要重新计算。通过一位搜索算法得到H为二阶偏导矩阵,即海塞矩阵

G矩阵用来近似替代H矩阵,G=\triangledown f\triangledown f^T

J矩阵替代G矩阵,J=G+uI,u为常数,I为单位矩阵B矩阵用来近似替代H矩阵,B矩阵的形式有多种
目的求解最优化问题的基本方法梯度下降法的一种具体的实现方式提高收敛速度减小计算量解决G矩阵不正定的问题减小计算量以及H矩阵不正定的问题

 几种算法之间的关系总结如下:

  • 最速下降法是梯度下降法的一种具体实现方式。梯度下降法的步长因子是固定值,最速下降法的步长因子 是一个变化的常数\alpha _k ,即由一位搜索得到步长因子\alpha _k,使得

f(x_k+\alpha _kd_k)=minf(x_k+\beta d_k),\alpha >0

  • 牛顿法可以看成相对于梯度下降法的改进,提高了收敛速度。梯度下降法/最速下降法在确定搜索方向的时候,只用到了一阶导数,因此它的收敛速度是一阶收敛,收敛速度较慢。而牛顿法用到了二阶偏导,它的收敛速度是二阶收敛,收敛速度比梯度下降法快。
  • 高斯牛顿法是相对于牛顿法改进,简化了计算。牛顿法中的H矩阵需要计算目标函数的二阶偏导,计算量巨大,高斯牛顿法采用G矩阵替代H矩阵,大大减小了计算量。
  • LM法是相对于高斯牛顿法的改进,解决G矩阵正定问题。高斯-牛顿法的逼近步长由矩阵G的逆矩阵决定,如果矩阵G非正定,那么其逆矩阵不一定存在,即使存在逆矩阵,也会导致逼近方向出现偏差,严重影响优化方向。LM法正是为了解决矩阵G的正定问题而提出的,其将矩阵G加上单位矩阵I的倍数来解决正定问题。
  • LM法相当于最速下降法和高斯牛顿法的结合体。当u很小时,矩阵J接近矩阵G,其相当于高斯-牛顿法,此时迭代收敛速度快,当u很大时,其相当于梯度下降法,此时迭代收敛速度慢。因此LM算法即具有高斯-牛顿法收敛速度快、不容易陷入局部极值的优点,也具有梯度下降法稳定逼近最优解的特点。
  • 拟牛顿法是相对于牛顿法的改进。牛顿法虽然收敛速度快,但是需要计算海塞矩阵的逆矩阵 H^{-1} ,而且有时目标函数的海塞矩阵无法保持正定,从而使得牛顿法失效。为了克服这两个问题,人们提出了拟牛顿法。这个方法的基本思想是:不用二阶偏导数而构造出可以近似海塞矩阵(或海塞矩阵的逆)的正定对称阵。不同的构造方法就产生了不同的拟牛顿法,常用的拟牛顿算法有:DFP算法、BFGS算法、L-BFGS算法。严格意义上讲高斯牛顿法和LM法都属于拟牛顿法。

3 相关计算公式

参考链接:

最优化算法之牛顿法、高斯-牛顿法、LM算法_萌萌哒程序猴的博客-CSDN博客

梯度下降法和最速下降法的细微差别_TimingSpace的博客-CSDN博客_最速下降法

相关内容

热门资讯

iOSapp移植到安卓系统,i... 你有没有想过,那些在iOS上让你爱不释手的app,是不是也能在安卓系统上大放异彩呢?今天,就让我带你...
现在安卓随便换系统,探索个性化... 你知道吗?现在安卓手机换系统简直就像换衣服一样简单!没错,就是那种随时随地、随心所欲的感觉。今天,就...
安卓系统安装按钮灰色,探究原因... 最近发现了一个让人头疼的小问题,那就是安卓手机的安装按钮突然变成了灰色,这可真是让人摸不着头脑。你知...
安卓7.1.1操作系统,系统特... 你知道吗?最近我在手机上发现了一个超级酷的新玩意儿——安卓7.1.1操作系统!这可不是什么小打小闹的...
安卓os系统怎么设置,并使用`... 你有没有发现,你的安卓手机有时候就像一个不听话的小孩子,有时候设置起来真是让人头疼呢?别急,今天就来...
安卓降低系统版本5.1,探索安... 你知道吗?最近安卓系统又来了一次大动作,竟然把系统版本给降到了5.1!这可真是让人有点摸不着头脑,不...
解放安卓系统被保护,解放安卓系... 你有没有想过,你的安卓手机其实可以更加自由地呼吸呢?是的,你没听错,我说的就是解放安卓系统被保护的束...
校务帮安卓系统下载,便捷校园生... 你有没有想过,你的手机里装了一个神奇的助手——校务帮安卓系统下载?没错,就是那个能让你轻松管理学校事...
安卓系统没有拼多多,拼多多崛起... 你知道吗?最近我在手机上发现了一个小小的秘密,那就是安卓系统里竟然没有拼多多这个应用!这可真是让我大...
甜城麻将安卓系统,解锁全新麻将... 你有没有听说过那个超级火的甜城麻将安卓系统?没错,就是那个让无数麻将爱好者为之疯狂的软件!今天,就让...
安卓系统卸载的软件,深度揭秘卸... 手机里的软件越来越多,是不是感觉内存不够用了?别急,今天就来教你怎么在安卓系统里卸载那些不再需要的软...
安卓系统推荐好游戏,畅享指尖乐... 手机里的游戏可是咱们休闲娱乐的好伙伴,尤其是安卓系统的用户,选择面那可是相当广呢!今天,就让我来给你...
王者安卓系统怎么卖,揭秘如何轻... 你有没有听说最近王者安卓系统的火爆程度?没错,就是那个让无数玩家沉迷其中的王者荣耀!今天,我就来给你...
安卓开发系统内置证书,基于安卓... 你有没有想过,你的安卓手机里那些神秘的内置证书,它们到底是个啥玩意儿?别急,今天就来给你揭秘这些隐藏...
荣耀安装安卓原生系统,深度体验... 你知道吗?最近荣耀手机界可是掀起了一股热潮,那就是——荣耀安装安卓原生系统!这可不是什么小打小闹,而...
安卓13小米系统,创新功能与流... 你知道吗?最近安卓13系统可谓是风头无两,各大手机厂商纷纷推出自家的新版系统,其中小米的安卓13系统...
鸿蒙系统底层安卓10,融合与创... 你知道吗?最近手机圈里可是热闹非凡呢!华为的新操作系统鸿蒙系统,竟然在底层采用了安卓10的架构。这可...
安卓系统辅助在哪关闭,轻松关闭... 你有没有发现,安卓系统的辅助功能真是贴心到不行啊!不过,有时候这些功能太多,用起来有点乱糟糟的。别急...
安卓系统outlook邮件设置... 你有没有发现,自从你把手机升级到了安卓系统,邮件管理变得有点复杂呢?别急,今天就来手把手教你如何设置...
安卓系统停止向华为,自主操作系... 你知道吗?最近科技圈可是炸开了锅!安卓系统突然宣布停止向华为提供技术支持,这可不仅仅是两家公司之间的...