[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