最优化方法——梯度下降法、牛顿法、LM算法

一、梯度下降法

介绍: 在机器学习中应用十分的广泛,主要目的是通过迭代的方式找到目标函数的最小值(极小值)。其基本思想是:以所处的位置为基准,寻找这个位置最陡峭的地方,然后朝着下降方向走一步,然后又继续以当前位置为基准,再找最陡峭的地方,再走直到最后到达最低处。

梯度: 在单变量的函数中,梯度其实就是函数的微分,代表着函数在某个给定点的切线的斜率
在多变量函数中,梯度是一个向量,向量有方向,梯度的方向就指出了函数在给定点的上升最快的方向。下面举个例子:
在这里插入图片描述
数学表示:
在这里插入图片描述
笔者注: 最优化方法最核心是求解目标函数的极值点(最大值、最小值点),可以通过建立一个代价函数,将该问题转变寻找最合适的曲线拟合点的问题(此时代价函数的极值点即为该曲线的参数)。方法如下:
在这里插入图片描述

参考文章:https://blog.csdn.net/qq_41800366/article/details/86583789

二、牛顿法

介绍: 牛顿法是求解无约束优化问题最早使用的经典方法之一,其基本思想是:用迭代点 x k x_k xk处的一阶导数(梯度)和二阶导数(Hesse阵)对目标函数进行二次函数近似,然后把二次模型的极小值点作为新的迭代点,并不断重复这一过程,直至求得满足精确度的近似极小值点。

1 . 牛顿法的数学推导

在这里插入图片描述

2. 牛顿法的算法步骤

在这里插入图片描述

3. 基于Armijo的阻尼牛顿法

在这里插入图片描述

4. 计算例题

在这里插入图片描述

在这里插入图片描述
参考视频:https://www.bilibili.com/video/BV1AF411z7hg/?spm_id_from=333.788.recommend_more_video.1

三、高斯-牛顿(Gauss-Newton)算法

1.1 推导

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、LM算法

1.1 推导

牛顿法虽然收敛速度快,但是需要计算黑塞矩阵(Hessian matrix),对于高维的问题,计算二阶导数会很复杂。因此我们有了Gauss-Newton算法。Gauss-Newton算法不直接计算黑塞矩阵(Hessian matrix),而是通过雅各比矩阵(Jacobian matrix ) 对 黑塞矩阵(Hessian matrix) 进行拟合:
H ≈ J T J H \approx J ^TJ HJTJ
但是,用 雅各比矩阵(Jacobian matrix )拟合黑塞矩阵(Hessian matrix),所计算出来的结果不一定是正定的,即无法保证下降,所以要引入一个对角矩阵与之相加(如果有特征值为负,加上 μ μ μ后就修正为正值):
H ≈ J T J + μ I H≈J^ T J+μI HJTJ+μI
这也就得到了LM算法,将上述式子带入之前的公式,可以得到:
x k + 1 = x k − ( J k T J k + μ I ) − 1 g k x_{k+1} =x_k −(J_k^T J _k +μI)^{−1} g_k xk+1=xk(JkTJk+μI)1gk
所以我们发现,当 μ \mu μ接近于0时,这个算法近似于Gauss-Newton算法;当 μ μ μ很大时,这个算法近似于最速下降法。因此,这也是为什么LM算法称为Gauss-Newton算法与最速下降法的结合。用一张图表示几种算法之间的关系:
在这里插入图片描述

1.2 LM算法步骤

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值