LM算法,全称为Levenberg-Marquard算法,它可用于解决非线性最小二乘问题,多用于曲线拟合等场合。 LM算法的实现并不算难,它的关键是用模型函数 f 对待估参数向量 p 在其邻域内做线性近似,忽略掉二阶以上的导数项,从而转化为线性最小二乘问题,它具有收敛速度快等优点。LM算法属于一种“信赖域法”——所谓的信赖域法,此处稍微解释一下:在最优化算法中,都是要求一个函数的极小值,每一步迭代中,都要求目标函数值是下降的,而信赖域法,顾名思义,就是从初始点开始,先假设一个可以信赖的最大位移 s ,然后在以当前点为中心,以 s 为半径的区域内,通过寻找目标函数的一个近似函数(二次的)的最优点,来求解得到真正的位移。在得到了位移之后,再计算目标函数值,如果其使目标函数值的下降满足了一定条件,那么就说明这个位移是可靠的,则继续按此规则迭代计算下去;如果其不能使目标函数值的下降满足一定的条件,则应减小信赖域的范围,再重新求解。 事实上,你从所有可以找到的资料里看到的LM算法的说明,都可以找到类似于“如果目标函数值增大,则调整某系数再继续求解;如果目标函数值减小,则调整某系数再继续求解”的迭代过程,这种过程与上面所说的信赖域法是非常相似的,所以说LM算法是一种信赖域法。
2021-08-27 17:49:15 66KB LM C++
1
椭圆C 使用 Levenberg-Marquardt 算法检测精确椭圆中心的 C++ 代码。 该代码是的一部分,也是。 该程序以椭圆图像作为输入,并打印其精确参数(其中包括中心坐标)作为输出。
2021-07-22 23:23:44 38KB C++
1
基于改进的Levenberg-Marquardt方法的中性点钳位逆变器SHEWPM求解方法
2021-03-03 09:08:23 1.25MB 研究论文
1
Levenberg-Marquardt(LM)优化算法 求解非线性方程组 非线性最小二乘拟合 需要配置环境
2019-12-21 22:13:01 79KB LM优化算法 非线性方程组
1
本片是基于Matlab的Levenberg-Marquardt算法参考代码,通过代码,可以加快我们对LM算法求取目标参数的方法掌握,加深对非线性最小二乘法的理解
2019-12-21 20:06:45 3KB LM Matlab
1
介绍Levenberg-Marquardt算法实现的资料,现在大部分软件都用这篇文章的实现方法!
2019-12-21 19:30:12 493KB Levenberg-Marquardt algorithm
1