lm算法程序
Ⅰ 什么是Levenberg-Marquart算法
中文译文:列文伯格-马夸尔特法,是最优化算法中的一种。
最优化算法是寻找使得函数值最小的参数向量。它的应用领域非常广泛,如:经济学、管理优化、网络分析、最优设计、机械或电子设计等等。
根据求导数的方法,可分为2大类。
第一类,若f具有解析函数形式,知道x后求导数速度快。
第二类,使用数值差分来求导数。
根据使用模型不同,分为非约束最优化、约束最优化、最小二乘最优化。
附LM算法例子:
在LM算法中,每次迭代是寻找一个合适的阻尼因子λ,当λ很小时,算法就变成了GAuss-Newton法的最优步长计算式,λ很大时,蜕化为梯度下降法的最优步长计算式。
Ⅱ MATLAB 中 LM算法的函数是什么
http://www.mathworks.com/matlabcentral/fileexchange/16063-lmfsolve-m-levenberg-marquardt-fletcher-algorithm-for-nonlinear-least-squares-problems
Calling of the function is rather simple:
[x,ssq,cnt] = LMFsolve(Equations,X0); % or
[x,ssq,cnt] = LMFsolve(Equations,X0,'Name',Value,...); % or
[x,ssq,cnt] = LMFsolve(Equations,X0,Options) % .
去看吧
好像没有二维的.
你最好看看这个函数,根据LM算法的意义修改一下
Ⅲ Levenberg-Marquardt算法谁知道急
这是最小二乘拟合中的一种算法,外文的参考资料很多。你可查阅数值计算方法的书中的最小二乘拟合的相关内容。要真正搞清楚的确不易。不过有现成的算法程序可以使用。例如http://users.bigpond.net.au/amiller/lm.zip
Ⅳ 基于MATLAB的神经网络BP算法改进LM算法的交通流量的源代码!
matlab2010程序。x,t为流量数据和分类结果。
net = feedforwardnet(20);
net.trainFcn = 'trainlm';
net = train(net,x,t);
view(net)
y = net(x);
perf = perform(net,y,t);
Ⅳ LM算法的迭代公式如下:的翻译是:什么意思
你好!
LM算法的迭代公式如下
The iterative formula of LM algorithm is as follows
Ⅵ 求用C语言编的LM拟合算法(Levenberg-Marquardt 算法)
http://wenku..com/link?url=__T_FJ94kfzm1wmvsr7MlDifKLT7ZWcG
Ⅶ 为何微软系统中一LM和NTLM两种算法并存
为何微软系统装的Lim和until的两种算法,并从可能是,这也是一个存在的一种趋势。
Ⅷ 关于神经网络LM训练算法的一些问题
1.初始权值不一样,如果一样,每次训练结果是相同的 2.是 3.在train之前修改权值,IW,LW,b,使之相同 4.取多次实验的均值 一点浅见,仅供参考
Ⅸ MATLAB中训练LM算法的BP神经网络
1.初始权值不一样,如果一样,每次训练结果是相同的
2.是
3.在train之前修改权值,IW,LW,b,使之相同
4.取多次实验的均值
一点浅见,仅供参考
训练误差是否降到一定范围内,比如1e-3,
将训练样本回代结果如何,
训练样本进行了预处理,比如归一化,而测试样本未进行同样的处理
这样的归一化似有问题,我也认为“测试数据的归一化也用训练数据归一化时得出的min和max值”,
请参考这个帖子http://www.ilovematlab.cn/thread-27021-1-1.html
测试数据带入训练好的神经网络误差当然不会达到1e-5,这是预测啊。
但将训练数据带入误差必然是1e-5,算法终止就是因为达到这个误差才终止,这个误差是由训练数据的输入、输出以及神经网络的权值、激活函数共同决定的,神经网络训练完后,权值、激活函数定了,同样的数据再代入神经网络,误差会不等于1e-5?
第二个问题:不可能每个值都达到1e-5,1e-5是MSE(mean square error),它们的平方和除以总数再开方,mse(E)必为1e-5
另外,LM算法虽然训练最快,但是预测精度一般不好,不如gdm,gdx