Levenberg-Marquardt算法code采用trustregion方法更新决策函数
2021-11-16 17:08:24 5KB lm算法 Levenberg-Marquardt
非线性优化中的经典算法,用C语言实现。内附Matlab源代码和相应的参考文献。
2021-09-22 20:32:56 124KB LM算法
1
针对非线性系统,提出了一种基于BP神经网络的预测控制方法。以BP神经网络建立多步预测模型并预测系统输出值,用LM(Levenberg-Marquardt)算法和PSO(Particle Swarm Optimization)算法组合的混合算法对目标性能指标函数进行滚动优化求解,得到非线性系统的最优控制量;利用误差修正参考输入法实现反馈矫正。通过将粒子群算法引入LM算法,克服了LM算法依赖初值和粒子群算法过早收敛于局部极值的问题,提高了求解的运行速度和精确度。通过对单变量非线性系统仿真实验,证明了该控制系统具有良好的稳定性、自适应性和鲁棒性。该方法可在数学模型不确定的情况下设计出有效的预测控制器。
1
LM算法,全称为Levenberg-Marquard算法,它可用于解决非线性最小二乘问题,多用于曲线拟合等场合。 LM算法的实现并不算难,它的关键是用模型函数 f 对待估参数向量 p 在其邻域内做线性近似,忽略掉二阶以上的导数项,从而转化为线性最小二乘问题,它具有收敛速度快等优点。LM算法属于一种“信赖域法”——所谓的信赖域法,此处稍微解释一下:在最优化算法中,都是要求一个函数的极小值,每一步迭代中,都要求目标函数值是下降的,而信赖域法,顾名思义,就是从初始点开始,先假设一个可以信赖的最大位移 s ,然后在以当前点为中心,以 s 为半径的区域内,通过寻找目标函数的一个近似函数(二次的)的最优点,来求解得到真正的位移。在得到了位移之后,再计算目标函数值,如果其使目标函数值的下降满足了一定条件,那么就说明这个位移是可靠的,则继续按此规则迭代计算下去;如果其不能使目标函数值的下降满足一定的条件,则应减小信赖域的范围,再重新求解。 事实上,你从所有可以找到的资料里看到的LM算法的说明,都可以找到类似于“如果目标函数值增大,则调整某系数再继续求解;如果目标函数值减小,则调整某系数再继续求解”的迭代过程,这种过程与上面所说的信赖域法是非常相似的,所以说LM算法是一种信赖域法。
2021-08-27 17:49:15 66KB LM C++
1
MATLAB中LM算法的实现+PPT讲解,希望对大家有帮助!LM算法非线性最小二乘法
2021-07-21 12:37:05 2.57MB LM算法的实现
1
Levenberg_Marquardt算法,可进一步优化,得到更优的结果,仅作参考
2021-07-08 22:37:19 1KB LM
1
Labview用LM算法非线性拟合,可以实现一组数据的非线性拟合,而不用知道具体的方程系数,我都觉得很烦了,能两句话说完,要那么多废话干嘛
2021-07-08 19:31:00 372KB LM算法
1
经典算法matlab代码实现,经过测试,完全可用,用于计算机视觉的图像标定。
2021-06-08 22:09:59 860B LM算法 图像逼近
1
使用matlab编写的LM优化算法,基于imm3215,不是matlab内部函数。FK.m是原函数,JFK是一阶Jaccobi导数
2021-04-03 11:28:03 2KB matlab LM算法
1
MATLAB源代码,基于LM算法的神经网络训练程序,比传统BP算法快20倍以上
2021-03-21 18:51:32 4KB 神经网络,LM
1