[Insight-users] non-linear least-square fitting

Luis Ibanez luis.ibanez at kitware.com
Wed Oct 27 13:13:12 EDT 2004


Hi Arnaud,

The Levenberg-Marquardt method is intended for a cost function
that returns an array of values.  This optimizer will minimize
the sum of squares of the values in the array.


Let's say that you are fitting a plane to a set of N points
in 3D.  Your MultipleValuedCostFunction will have as input
parameters the four coefficients of a plane equation
{A,B,C,D}


              A * x + B * y + C * z + D = 0


and it will produce as values an array of N numbers representing
the distances from the N points to the current plane.


Something like:


     {d1,d2,...,dn} = MultipleValueFunction( A,B,C,D )


The Levenberg-Marquardt method should give faster convergence than
if you compute the sum of squares of this values in order to produce
a SingleValuedCostFunction and use any of the Gradient descent
optimizers.



Regards,


    Luis



-----------------------------------------------------------------
Arnaud GELAS wrote:
> Hi all,
> 
> I'd like to do a non linear least square fitting on given datas, and I'd
> like to use Levenberg Marquardt method for solving my problem.
> 
> Actually, I don't really understand how to compute the
> MultipleValuedCostFunction from my function f ( the function I want to
> minimize ). Can someone help me?
> 
> f : R^n -> R, so should i make a MultipleValuedCostFunction with n
> parameters and 1 value ( just like a SingleValuedCostFunction )?
> 
> 
> thanks a lot for your help,
> 
> 
> Arnaud
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
> 
> 






More information about the Insight-users mailing list