牛顿法、高斯牛顿法和列文伯克-马奎特算法浅析

牛顿法、高斯牛顿法和列文伯克-马奎特算法都是常见的解决非线性最小二乘法问题的算法。本文主要简单介绍一下三者之间的特点和区别。

1.牛顿法
对于最小二乘法问题,我们先建立如下的数学模型:
在这里插入图片描述
我们需要做的就是找到以上函数的局部最小值x*,即函数F(x)的极小值点。如果函数在定义域内处处可导,那么在该极小值点处会有如下公式成立:
在这里插入图片描述
由此可以看出,牛顿法好像只要求F(x)的一阶导数就可以搞定出点x*。
由于牛顿法也是基于梯度下降法,所以这里我们将函数F(x+h)的一阶导数通过泰勒展开式进行展开
在这里插入图片描述
我们要求下降步长h只需让上式等于零即可,得到如下式子:
在这里插入图片描述
这里H是黑森矩阵,如下所示:
在这里插入图片描述
通过上式我们计算得到了下降步长h,然后再迭代更新x的值:
在这里插入图片描述
当满足条件时,我们就可以终止迭代,求出极小值点x*。
牛顿法有个麻烦之处就是想要求出下降步长h必须先要求出黑森矩阵H,然而黑森矩阵的求解非常复杂,如果要用代码实现起来更为复杂和繁琐。高斯牛顿法就很好地解决了这个问题。

2.高斯牛顿法
首先,我们引入雅可比矩阵。雅可比矩阵是一阶偏导数以一定方式排列成的矩阵,其行列式称为雅可比行列式。雅可比矩阵的重要性在于它体现了一个可微方程与给出点的最优线性逼近。因此,雅可比矩阵类似于多元函数的导数。
假设
在这里插入图片描述
是一个从n维欧氏空间映射到到m维欧氏空间的函数。这个函数由m个实函数组成:
在这里插入图片描述
这些函数的偏导数(如果存在)可以组成一个m行n列的矩阵,这个矩阵就是所谓的雅可比矩阵:
在这里插入图片描述
我们已知:
在这里插入图片描述
我们将函数f(x+h)通过泰勒展开式进行展开:
在这里插入图片描述
其中J(x)是雅可比矩阵。当步长h的2范数即||h||^2很小的时候,上式又可以进一步简化,即
在这里插入图片描述
因为
在这里插入图片描述
所以
在这里插入图片描述
通过f(x+h)的近似,我们可以将上述式子写成
在这里插入图片描述
上述式子中,f=f(x),J=J(x)。所以问题又可以简化成以下数学问题,即
在这里插入图片描述
通过前面的推导所得到的L(h),我们可以很轻松地算出L(h)的一阶导数和二阶导数
在这里插入图片描述
我们令L(h)的一阶导数等于零即可求出步长h,即
在这里插入图片描述
求解出步长h以后,就可以更新迭代x的值
在这里插入图片描述

在经典的高斯牛顿法中我们一般都是令α=1,然而α是在线性搜索中找到的。线性搜索方法具有收敛性,但前提条件是对任意x都有F(x)≤F(x0),并且雅可比矩阵J(x)必须满秩。
由此可以看出,高斯牛顿法比牛顿法简单了许多,虽然要求雅可比矩阵J,但是比起求黑森矩阵还是简单不少。

3.列文伯克-马奎特算法
在我之前的一个博客中,介绍过马奎特提出的基于阻尼法来求解下降步长,即
在这里插入图片描述
由于
在这里插入图片描述
所以
在这里插入图片描述
令其等于零,得到如下式子:
在这里插入图片描述
这里μ(μ>0)是阻尼系数,在我之前的博客中有提到过,这里不再赘述。
这里简单讨论一下μ的两种极端情况,即μ很大和很小的时候。
当μ很大时,我们可以发现上述式子可以简化为
在这里插入图片描述
当μ很小时,我们又可以简化成下式
在这里插入图片描述
此时列文伯克-马奎特算法就等效成了高斯牛顿法。由此看出,列文伯克-马奎特算法其实跟高斯牛顿法差不多,只不过在L(h)的基础上加上了惩罚因子,使其能够快速收敛极小值点。

高斯牛顿法(Gauss-Newton Method)和列文伯格-夸尔特法(Levenberg-Marquardt Method)都是非线性最小二乘问题的优化算法,用于求解参数估计或曲线拟合问题。它们的主要区别在于迭代步骤中如何计算参数的更新。 1. 高斯牛顿法: - 高斯牛顿法使用线性化的方法来逼近非线性最小二乘问题。它通过将目标函数在当前参数点进行泰勒展开,并忽略高阶项来近似求解。 - 在每个迭代步骤中,高斯牛顿法首先计算目标函数的雅可比矩阵,然后通过求解线性最小二乘问题得到参数的更新量。这个线性最小二乘问题可以通过求解正规方程或使用其他线性代数方法来实现。 - 高斯牛顿法对于具有良好初始值的问题通常收敛速度较快,但对于存在奇异值或初始值较差的问题可能会出现收敛困难或局部最小值。 2. 列文伯格-夸尔特法: - 列文伯格-夸尔特法是对高斯牛顿法的改进,旨在解决高斯牛顿法中可能出现的收敛困难问题。 - 在每个迭代步骤中,列文伯格-夸尔特法引入了一个调节参数 (λ) 来平衡高斯牛顿法的线性化近似和梯度信息的贡献。 - 当 λ 接近于零时,列文伯格-夸尔特法退化为高斯牛顿法;当 λ 较大时,它更加依赖梯度信息来进行参数更新。通过调节 λ 的值,可以在迭代过程中平衡收敛速度和收敛稳定性。 - 列文伯格-夸尔特法的优势在于对于初始值的选择较为鲁棒,可以更好地处理奇异值和初始值较差的问题。 总的来说,高斯牛顿法是列文伯格-夸尔特法的一种特例,而列文伯格-夸尔特法通过引入调节参数,提供了更好的稳定性和收敛性能。但在实际应用中,具体选择哪种方法取决于问题的特性以及对收敛速度和稳定性的要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值