[Insight-users] Why itk::LBFGSBOptimizer and itk::LBFGSOptimizer are classed as single-variant o

Ali - saveez at hotmail.com
Wed Nov 7 10:09:00 EST 2007


Karthik,

Consider a 1D Gaussian fitting where the only variable of the function is the Gaussian sigma. This fitting can be performed by a single-variant cost function. Now if we change this to:

(1) a 1D Gassuan fitting with the variables of sigma and mean

or 

(2) a 2D Gaussian fitting with the variables of 2D sigma,

then  it will be need a multi-variant cost funtion. I hope this example clarifies my point.


Ali: 

I'd suggest that you clarify your interpretation of multi-variant.

Nearly all optimizers minimize a function of n variables. f( vector ). ie multi-variate
It is quite another thing to minimize multiple functions concurrently. ie multi-valued . for instance minimizing two metrics during registration.


-- 
Karthik Krishnan
R&D Engineer,
Kitware Inc.

On 11/7/07, Stefan Klein <stefan at isi.uu.nl
> wrote:

Hi,


The itk/vxl::LBFGS(B)Optimizer implementation IS multivariate. The
'multivariate' label refers to the number of variables (input arguments
of the cost function) over which is optimised. 


the optimisaton problem is:


min_x f(x)


On the site
http://www.alglib.net/optimization/ 
a multivariate optimisation method means that dim(x) >1 is
allowed.


The LBFGSOptimizer is not suitable for MultipleValuedCostFucnction, as
far as I know, only for SingleValuedCostFunctions.


singlevalued means: dim(f) = 1

multiplevalued means: dim(f) > 1


The vnl_cost_function indeed inherits from the vnl_unary_function, but
the vnl_unary_function is templated over a vector of doubles, which
contains the input argument x:


class vnl_cost_function : public vnl_unary_function<double,
vnl_vector<double> >


with kind regards,

stefan




At 08:35 7-11-2007, Luis Ibanez wrote:




Hi Ali,




1) It is not a "problem", it is an "implementation
feature".   :-)





2) It is not in ITK, it is in VXL,


   Please look at the implementation in the file:


       
Insight/Utilities/vxl/core/vnl/vnl_lbfgs.h


   Where the optimizer takes as input a vnl_cost_function

   object, that derives from the vnl_unary_function
class.





3) It will be great to have multi-variate implementations

   of these optimizers. If you are motivated to write 
one,

   it will make a great contribution to the Insight
Journal.





    Regards,




       Luis





-------------

Ali - wrote:

Hi,

The VNL wrappers itk::LBFGSBOptimizer and itk::LBFGSOptimizer are
classified as single-variant optimiser, while being based on the
quasi-Newton method, they are multi-variant optimisers by nature -- see
http://www.alglib.net/optimization/
. Is this the ITK wrapper problem or a VNL issue?

_______________________________________________

Insight-users mailing list

Insight-users at itk.org

http://www.itk.org/mailman/listinfo/insight-users_______________________________________________


Insight-users mailing list

Insight-users at itk.org

http://www.itk.org/mailman/listinfo/insight-users





_______________________________________________
Insight-users mailing list
Insight-users at itk.org

http://www.itk.org/mailman/listinfo/insight-users



_________________________________________________________________
The next generation of MSN Hotmail has arrived - Windows Live Hotmail
http://www.newhotmail.co.uk
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://public.kitware.com/pipermail/insight-users/attachments/20071107/6e266e91/attachment-0001.html


More information about the Insight-users mailing list