Questions tagged [levenberg-marquardt]

Levenberg-marquardt is a widely-used second-order optimization algorithm. In most cases, it outperforms first-order gradient optimization methods

The algorithm takes the advantage of second-order [partial] derivatives of a function with respect to its variables. In first-order optimization methods (gradient descent) the update equation is as follow:

enter image description here

However, a problem with these methods is that enter image description here is fixed in advance and thus prevent taking into account the curvature of the function surface. Levenberg-Marquardt resolves this issue, to a great extent, by using second-order partial derivatives ().

90 questions
20
votes
1 answer

SciPy: leastsq vs least_squares

SciPy provides two functions for nonlinear least squares problems: optimize.leastsq() uses the Levenberg-Marquardt algorithm only. optimize.least_squares() allows us to choose the Levenberg-Marquardt, Trust Region Reflective, or Trust Region Dogleg…
visitor
  • 672
  • 6
  • 17
17
votes
4 answers

Non-linear Least Squares Optimization Library for C

I'm looking for a library in C that will do optimization of an objective function (preferrably Levenberg-Marquardt algorithm) and will support box constraints, linear inequality constraints and non-linear inequality constraints. I've tried several…
alkar
  • 5,459
  • 7
  • 27
  • 43
9
votes
1 answer

Trilateration in Android using iBeacons

We want to implement some kind of indoor position determination using iBeacons. This article seems really interesting, in which the author implemented the Non-linear Least Squares Triangulation, using the Eigen C++ library and the Levenberg…
Lucas Coelho
  • 583
  • 6
  • 11
6
votes
3 answers

C# implementation of Levenberg–Marquardt algorithm

I am looking for a C# implementation of the Levenberg–Marquardt algorithm for non-linear least squares fit.
HaMo
  • 130
  • 1
  • 2
  • 8
5
votes
3 answers

Looking for optimization algorithm in C++ to replace Excel Solver

since Excel Solver is quite slow to run on thousands of optimizations (the reason being that it uses the spreadsheet as interface), I'm trying to implement a similar (problem-specific) solver in C++ (with Visual Studio 2010, on a Win 7 64-bit…
Steve06
  • 741
  • 2
  • 15
  • 32
4
votes
1 answer

How to handle missing data in structure from motion optimization/bundle adjustment

I am working on a structure from motion application and I am tracking a number of markers placed on the object to determine the rigid structure of the object. The app is essentially using standard Levenberg-Marquardt optimization over multiple…
4
votes
1 answer

Levenberg-Marquardt algorithm with GPU support

For the shallow neural net, the LM algorithm does amazingly well. However, only MatLab and pyrenn (Python package) seems to have a robust implementation of it. A problem with both of these implementation is that they do not have GPU support for it.…
psimeson
  • 205
  • 2
  • 6
4
votes
1 answer

keras implementation of Levenberg-Marquardt optimization algorithm as a custom optimizer

I am trying to implement Levenberg-Marquardt algorithm as a Keras optimizer as was described here but I have several problems, biggest one is with this error TypeError: Tensor objects are not iterable when eager execution is not enabled. To iterate…
4
votes
0 answers

How do I minimize global error across multiple image homographies?

I am stitching together multiple images with arbitrary 3D views of a planar surface. I have some estimation of which images overlap and a coarse estimate of each pairwise homography between pairs of overlapping images. However, I need to refine my…
4
votes
1 answer

C/C++ code with GNU Scientific Library (GSL) gives different results to GNUPlot - possible floating point instabilities?

SShort: GNUPlot gives a much better fit to my data than my GSL code does. Why? Short: I am slightly confused at the moment, so my question might not be particularly well worded... I will edit this as my understanding improves. The original title of…
4
votes
2 answers

Finding extrinsics between cameras

I'm in the situation where I need to find the relative camera poses between two/or more cameras based on image correspondences (so the cameras are not in the same point). To solve this I tried the same approach as described here (code below).…
Daniel
  • 2,993
  • 2
  • 23
  • 40
3
votes
1 answer

Optimise parameters in a set of non-linear equations simultaneously

I have a large number of equations (n) with a large number of unknowns (m) where m is larger than n. I am trying to find the values of m using the n equations and a large set of observed values. I have looked at some implementations of…
Jkh2
  • 1,010
  • 1
  • 13
  • 25
3
votes
1 answer

Implementation of levenberg marquardt optimization in tensorflow

I wanted to check if the Levenberg Marquardt optimization has been implemented in TensorFlow. I have typically used Adam optimizer in the past but I read that Levenberg Marquardt optimization works better for non-linear datasets. Does anybody know…
Lipi
  • 61
  • 5
3
votes
4 answers

Limitations of the Levenberg-Marquardt algorithm

I am using Levenberg-Marquardt algorithm to minimize a non-linear function of 6 parameters. I have got about 50 data points for each minimization, but I do not get sufficiently accurate results. Does the fact, that my parameters differ from each…
Marcin
  • 1,104
  • 4
  • 17
  • 27
3
votes
1 answer

Using Levenberg-Marquardt optimization algorithm via opencv projectPoints() to estimate Calibration Errors

In camera calibration, i have used calibrateCamera() to find the camera parameters from several views of a calibration pattern. It precisely does two things: 1) Estimate the Initial Camera Parameters in closed form, assuming lens distortion as…
1
2 3 4 5 6