问题标签 [levenberg-marquardt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1141 浏览

algorithm - 在神经网络中计算成本函数 hessian 的最有效方法

我正在编写一个MLP网络,我想实现该levenberg-marquardt 算法。对于levenberg-marquardt,每次迭代后的权重更新由以下公式给出:

但我找不到一个算法来计算(或有一个可接受的估计)hessian。我怎样才能做到这一点?

0 投票
2 回答
1350 浏览

c++ - 如何使用 Eigen 设置 Levenberg-Marquardt 阻尼

我按照以下示例成功使用了 Eigen 的 Levenberg-Marquart 类:http: //techblog.rga.com/determining-indoor-position-using-ibeacon/

我试图弄清楚如何将阻尼参数 lambda 转换为 Eigen 中可用的参数:

https://en.wikipedia.org/wiki/Levenberg-Marquardt_algorithm#Choice_of_damping_parameter

http://eigen.tuxfamily.org/dox/unsupported/classEigen_1_1LevenbergMarquardt.html#a20efa2f5a684efaf2499ba5bdd51e792

我不清楚通过 setFactor() 的“对角线位移的步长界限”是什么——这与阻尼参数有关吗?

0 投票
2 回答
1936 浏览

python - Neurolab 中的 Levenberg-Marquardt 算法替代方案

我正在将使用 Levenberg-Marquardt 训练算法的 Matlab 中的神经网络代码移植到 Python。我正在使用 Neurolab,我相信 Levenberg-Marquardt 训练算法没有附带它。我可以使用任何替代的训练算法吗?我正在使用前馈多层网络。谢谢!

0 投票
1 回答
1588 浏览

python - 通过优化 MATLAB/Python 中的多个变量来减少两个图之间的差异?

假设 'h' 是 x,y,z 和 t 的函数,它给了我们一条曲线 (t,h)(模拟)。同时我们也观察到了图表(h 对 t 的观察值)。如何通过优化 x,y 和 z 的值来减少观察 (t,h) 和模拟 (t,h) 图之间的差异?我想更改模拟图,使其模拟越来越接近 MATLAB/Python 中观察到的图。在文献中,我读到人们用 Lavenberg-marquardt 算法做了同样的事情,但不知道该怎么做?

0 投票
1 回答
183 浏览

java - 使用 EJML 的 LM 算法

我尝试使用 EJML wiki 中的示例,我们在这里使用 Levenberg Marquardt 优化源代码

我将它与这个.Net 版本进行比较,在该版本中,我们可以提供函数模型参数。

例如:a*x^2+b*x+c我们可以将模型的所有参数作为输入。

但是,对于 EJML LM 代码,我看不到在哪里可以提供这些模型参数。

我在下面粘贴了我如何使用 LM EJML 类:

那么我怎样才能给出这些模型参数呢?

0 投票
0 回答
584 浏览

matlab - 如何改进MATLAB中的曲线拟合?

我正在使用lsqcurvefitmatlab的函数通过“函数”将计算值拟合到观察数据并优化“函数”的两个参数。运行代码后,我得到了优化的参数值,但计算/模拟曲线和观察曲线之间的拟合非常糟糕,如这里所示。我曾尝试使用 Marquardt Levenberg 算法以及反射区域并尝试降低函数容差但无济于事。我该怎么做才能使模拟曲线看起来更接近观察曲线,或者是否有用于曲线拟合 GUI 的软件,以便我可以手动更改模拟曲线以使其看起来类似于观察曲线?
我正在使用的代码是

并将此功能用作

数据文件“signaal 1”可以从这里获得

0 投票
1 回答
1735 浏览

python - 在 Python 中使用 Levenberg-Marquardt 算法优化方程组

我希望使用scipy.optimize.leastsq()scipy 的方法来优化三个参数a,b,c。我所拥有的是这两个方程。

从分析上讲,这组方程是不确定的,但在数值上,我试图找到a,b,c最小化测量结果给定结果的误差[2,2]

因此我写了一些代码。

它总是导致:

我如何让它找到最小值?我知道这只是局部最小值,但我会很高兴。

0 投票
1 回答
903 浏览

opencv - 通过 opencv projectPoints() 使用 Levenberg-Marquardt 优化算法来估计校准误差

在相机校准中,我使用 calibrateCamera() 从校准模式的多个视图中查找相机参数。它恰好做了两件事:

1) 以封闭形式估计初始相机参数,假设镜头畸变为零。

2) 运行全局 Levenberg-Marquardt 优化算法以最小化重投影误差,这是使用 projectPoints() 完成的

现在,我不仅要计算最小化重投影误差,还要计算导致它的拟合参数。目前没有可以返回无错误参数的函数。所以,我想我会使用 projectPoints() 来获取重新投影的图像点,然后使用重新投影的图像点和世界点再次校准并获得无错误的参数。问题是这不是我确定会给我输出的东西。谁能告诉我是不是?任何帮助,将不胜感激。

0 投票
1 回答
5795 浏览

python - Python:Scipy.optimize Levenberg-marquardt 方法

我有一个关于如何在 Python 中使用 Levenberg-Marquardt 优化方法的问题。在 SCIPY 库中有很多优化方法

我尝试了两种方法(Nelder-Mead 和 Basin-hopping),并且都适用于以下命令:

当我使用 Levenberg-Marquardt 时出现问题(我只复制了错误的一部分,因为程序很长)

我只更改最后一句(res0_10 = root...)。程序编译得很好,但是当我执行程序时:

为什么会发生此错误?

0 投票
1 回答
374 浏览

matlab - 在matlab中通过Levenberg-Marquardt算法求解仅旋转的绝对方向

我正在做迭代最近点项目。有称为“a”和“b”的点集。我想找到适合“a”和“b”的变换矩阵。SVD可以完美解决,得到旋转和平移矩阵。现在我考虑制作一些仅旋转的关节,拟合“a”和“b”点集而无需任何平移而仅旋转。我搜索了互联网,一些讨论说 Levenberg-Marquardt 算法可以解决它。

我这里复制代码,将代码修改为绝对方向问题的代价函数https://engineering.purdue.edu/kak/computervision/ECE661/HW5_LM_handout.pdf

成本函数是

E=Σ|| 拉-BT ||^2

R 是旋转矩阵,t 是平移矩阵

matlab代码如下,它将返回最佳旋转弧度“R”和平移“t”:

它与 SVD 之类的封闭形式解决方案一样有效。现在我不想要翻译,我认为公式是

E=Σ|| 拉布||^2

这意味着我只旋转“a”并将“b”安装在原点周围。

. 代码如下,它将返回最佳旋转弧度“R”:

在这段代码中,我删除了成本函数的平移矩阵,然后执行 Levenberg-Marquardt 算法,我希望它会返回适合“a”和“b”点集的最佳旋转矩阵。但是,它总是返回初始猜测 r0。看来我不能简单地删除成本函数中的平移矩阵以获得最佳旋转。

我应该怎么做才能解决这个仅旋转的绝对方向问题?谢谢你的任何想法!