问题标签 [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 回答
505 浏览

algorithm - 如何解决“Levenberg-Marquardt 算法不处理边界约束”错误

我正在尝试使用 LM 算法使用 lsqnonlin 而不是内部点进行优化,以实现无梯度优化。但是我收到以下错误

即使它在这里解决如下1,这表示可以修改 LM 算法以解决手头的问题与边界2。是否可以通过使用 lsqnonlin 函数修改算法来解决此错误?

0 投票
1 回答
2814 浏览

python - 支持 GPU 的 Levenberg-Marquardt 算法

对于浅层神经网络,LM 算法做得非常好。

然而,似乎只有 MatLab 和 pyrenn(Python 包)有一个健壮的实现。这两种实现的一个问题是它们没有 GPU 支持。我也尝试过 neupy(一个 python 包),但是当您尝试训练更长的时期或大型数据集时,它并不健壮并且失败。你们知道可以使用 GPU 训练的用于 NN 的好的 LM python 包吗?

0 投票
1 回答
161 浏览

python - 使用levenberg marquardt的leastsq方法查找参数

当我不断收到形状错误时,我正在尝试为我的最小平方模型和方程绘制数据。我只是想猜测适合数据的参数,但如果我看不到图表,我就无法做到这一点。

这是我到目前为止所拥有的:

0 投票
0 回答
81 浏览

python - 关于 Scipy 中 Levenberg-Marquadt 实现的几个问题

我在尝试使用 Scipy 中的 Levenberg-Marquadt 算法优化函数时遇到了一些奇怪的问题。我想知道是否有人对他们有解释。

A. 我有一个目标函数,它接受两个带有 2 个残差的参数。据我了解,用于 scipy 的 LM应该root是一样的。但是,失败时返回优化值。这两个功能的实现是否不同?sum(residual^2)least_squaresleast_squaresroot

B. 当我使用 优化函数least_squares时,第二个参数不会从它的初始值改变。为什么会这样?

谢谢您的帮助!

0 投票
1 回答
329 浏览

machine-learning - 如何改进 Levenberg-Marquardt 的多项式曲线拟合方法?

几周前,我开始在 Matlab 中从头开始编写 Levenberg-Marquardt 算法。我对数据的多项式拟合很感兴趣,但我无法达到我想要的准确度。在我尝试了其他多项式之后,我使用了五阶多项式,这似乎是最好的选择。无论我尝试实施何种改进,该算法总是收敛到相同的函数最小化。到目前为止,我没有成功添加以下功能:

  • 测地线加速度项作为二阶校正
  • 更新阻尼参数的延迟满足
  • 增益因子更接近高斯-牛顿方向或最陡下降方向,具体取决于迭代。
  • 有限差分法的中心差分和前向差分

我没有非线性最小二乘的经验,所以我不知道是否有办法进一步最小化残差,或者这种方法是否没有更多的改进空间。我在下面附上最后一次迭代的多项式行为的图像。如果我运行代码进行更多迭代,曲线最终不会在迭代之间发生变化。据观察,从时间 = 0 到时间 = 12 非常适合。但我无法修复从时间 = 12 到时间 = 20 的函数行为。任何帮助将不胜感激。

数据点和各种拟合曲线

0 投票
1 回答
67 浏览

javascript - 在 Observable 笔记本中,无法使用 npm 库中的函数,可能是因为无法从库的依赖项中导入函数

我想在 Observable 笔记本中重现这个 npm 库中的示例我在一个单元格和一个块中运行以下命令:

我收到错误消息TypeError: isArray is not a function,我怀疑这个函数无法从库的依赖项中导入。

我正在按照本指南导入库。

0 投票
1 回答
90 浏览

r - 将惩罚函数应用于具有 R 边界的非线性最小二乘估计收敛 - 包 minpack.lm

nlsLM我想使用包中的函数执行非线性最小二乘估计minpack.lm

我想对估计施加上限和下限,以强制算法在特定支持下找到解决方案。

这些方面的东西:

我的问题是:

是否可以对 应用惩罚函数nlsLM,以避免算法返回角点解决方案?例如,在我的示例中,a 不等于 0 或 5。

警告:我只关注 package 的解决方案minpack.lm

0 投票
1 回答
302 浏览

python - 如何用最小二乘法计算“平方和的相对误差”和“近似解的相对误差”?

我已经实现了 3D 高斯拟合scipy.optimize.leastsq,现在我想调整参数ftolxtol优化性能。但是,我不了解这两个参数的“单位”以便做出正确的选择。是否可以从结果中计算出这两个参数?这将使我了解如何选择它们。我的数据是 numpy 数组np.uint8。我试图阅读 MINIPACK 的 FORTRAN 源代码,但我的 FORTRAN 知识为零。我还阅读了检查 Levenberg-Marquardt 算法,但我无法真正得到一个低于ftol示例的数字。

这是我所做的一个最小示例:

rel_SSD大约是 1,绝对不是低于 1 的东西ftol = 1E-6

编辑:基于下面的@user12750353 答案,我更新了我的最小示例,以尝试重新创建lmdif如何确定终止与ftol. 问题是 myf_vals太小,所以它们不是正确的值。我想重新创建它的原因是我想看看我在我的主代码上得到什么样的数字来决定ftol更早终止拟合过程的数字。

0 投票
1 回答
285 浏览

tensorflow - 无法安装张量流图形

我正在尝试使用 tfg.math.optimizer.levenberg_marquardt.minimize 来使用 Levenberg 优化器。我正在按照https://www.tensorflow.org/graphics/install的安装说明 使用:pip install --upgrade tensorflow-graphics,我收到以下错误:

错误:为 OpenEXR 构建轮子失败 为 OpenEXR 运行 setup.py clean 未能构建 OpenEXR 安装收集的包:OpenEXR,tensorflow-graphics 为 OpenEXR 运行 setup.py install ... 错误错误:命令出错,退出状态为 1:

你能帮我解决这个问题吗?

谢谢

0 投票
0 回答
31 浏览

python - Python Levenberg Marquardt 的嘈杂函数

我试图找到使用 scipy.optimize 和 'lm' 方法最小化函数的值的问题。该函数不是解析的,我将数值模型与频谱进行比较,并计算卡方 (chi2) 进行比较。第一个图1显示了 chi2 值随参数 I 变化的变化。我们可以确定一个最小值,表面显得有些光滑。

我要以较小的步长重做上一个图,该图变得类似于图2中的第二个,曲线看起来很嘈杂。

问题是 LM 值给我的值有时与我从图1中期望的值不一致

我试过的

我假设由于曲线的混乱形状(LM 采取非常小的步骤来探索曲线),LM 未能找到最佳值。我试图更改终止容差(ftol、gtol、xtol),试图强制算法采取更大的步骤,而不是在局部最小值处停止。

想法?