Example of Levenberg-Marquardt-Method

  • Thread starter Sitewinder
  • Start date
  • Tags
    Example
In summary, the individual is dealing with a complicated function and a large amount of measured values for x and y. They have written a C++ program to calculate the sums of quadratic differences and find the best value for the parameter a. However, this method is inefficient due to the complexity of the function and the large interval needed for a. They are seeking a more efficient least-square-method, such as the Levenberg-Marquardt-Method, but have not found a useful explanation online. They are hoping for someone to provide assistance.
  • #1
Sitewinder
3
0
Hi,

I've to cope a little problem concerning general nonlinear regression. To cut a long story short: I've got a very complicated function y=f(a,x), and a lot of measured values for x and y. The goal is to fit the free parameter a.

Therefor, I wrote a simple c++ program that calculates the sums of the quadratic differences between f(a,x) and the measured y-values, using a lot of values in a large interval for a:

[tex]\sum_i{(f(a_j,x_i)-y_i)^2}[/tex]

The value a_j which causes the smallest sum, is taken as the fitted parameter a.

Though it works, this method is extremely inefficient due to the high number of measured values, the function's complexity and the large interval needed for a.

What I'm searching for is an introduction or an explanation for a more efficient least-square-method, for example the Levenberg-Marquardt-Method. Unfortunately I didn't find anything useful in the net :frown:

I hope that someone can help me.
Thanks in advance
Site
 
Physics news on Phys.org
  • #2
do a google search on levenberg-marquardt, i found approximately 200 sites for it in about 5 seconds. also look on the numerical recipies website, www.nr.com, they have a decent explanation.
 
  • #3
Point User

The Levenberg-Marquardt method is a commonly used algorithm for solving nonlinear least squares problems. It is an iterative method that combines the Gauss-Newton method and the steepest descent method to find the minimum of a sum of squares function. The main idea behind this method is to adjust the step size of the steepest descent method by adding a damping factor that takes into account the local curvature of the function. This allows for a more efficient and stable convergence towards the minimum.

To use the Levenberg-Marquardt method for your problem, you would need to modify your existing program to incorporate the new algorithm. This would involve calculating the Jacobian matrix, which is a matrix of partial derivatives of the function with respect to the parameters, and using it to update the parameter vector in each iteration.

There are many resources available online that provide explanations and implementations of the Levenberg-Marquardt method. One useful resource is the book "Numerical Recipes: The Art of Scientific Computing" by Press et al., which provides a detailed explanation of the method and its implementation in various programming languages.

I hope this helps and good luck with your problem!
 

1. What is the Levenberg-Marquardt method?

The Levenberg-Marquardt method is an optimization algorithm used to solve nonlinear least squares problems. It is commonly used in scientific and engineering applications to find the best fit parameters for a model or function.

2. How does the Levenberg-Marquardt method differ from other optimization algorithms?

The Levenberg-Marquardt method combines the benefits of both the steepest descent and Gauss-Newton methods. It adjusts the step size during each iteration to find the best balance between convergence speed and stability, making it more efficient than other algorithms.

3. Can the Levenberg-Marquardt method handle constraints on the parameters?

Yes, the Levenberg-Marquardt method can handle constraints on the parameters by incorporating them into the objective function. This allows for the optimization to be performed while satisfying any specified constraints.

4. In what types of problems is the Levenberg-Marquardt method most commonly used?

The Levenberg-Marquardt method is commonly used in problems that involve finding the best fit parameters for a model or function, such as in curve fitting, data regression, and signal processing.

5. What are the advantages of using the Levenberg-Marquardt method?

The Levenberg-Marquardt method is known for its fast convergence and robustness, even when dealing with noisy or ill-conditioned data. It is also relatively easy to implement and does not require initial guesses for the parameters.

Similar threads

Replies
24
Views
2K
  • Calculus
Replies
13
Views
1K
Replies
2
Views
3K
Replies
2
Views
2K
  • Set Theory, Logic, Probability, Statistics
Replies
7
Views
443
  • Set Theory, Logic, Probability, Statistics
Replies
13
Views
1K
  • STEM Educators and Teaching
Replies
11
Views
2K
Replies
7
Views
1K
  • Advanced Physics Homework Help
Replies
0
Views
210
Replies
5
Views
1K
Back
Top