Hi,

In my opinion is that the whole weights fiasco is consequence of
improper design, as much as anything else. All components should be
as simple as possible, with any additional add ons, like weights,
not added to the base implementation, but instead done as an extension
of these classes. If these was done, all the optimisation packages
would have been just fine, and only the extension classes would need
fixing.

I am very against having a correlation function be an input to the
basic optimiser. The eigendecomposition of the matrix is an O(N^3)
operation, which could be actually more expensive than the whole
optimization. In addition you are doing this inversion every time you
call the optimize method. If you are trying to do multiple starting
points, you are forcing an inversion to be done each time.

Rather than (or besides) an improper design, CM also tries to combine
pears and apples in a single scheme.

A typical unconstrained optimization problem assumes g, a function from
R^n to R.  A general optimization algorithm takes g for sure.  Depending
on the nature of g (continuous, differentiable, linear or not, ...),
the different algorithms might need more (g, its gradient, its Hessian
matrix, a starting point, ...).  There is no notion of weight there.

Curve fitting (whether is the 1-norm, 2-norm or infinity-norm) can be
seen as a minimisation problem in which case. once again, one needs g
(e.g. the sum of the residual squared, ...), its gradient, a starting
point, ... depending on the algorithm adopted.  However, some specific
algorithms are designed for curve fitting only, e.g. Levenberg-Marquardt,
and rely upon the availability of the model function f, the series of
observations, a starting point, a weighting scheme, ...

In optimization, the user supplies the function to be minimised.  In curve
fitting, the user supplies a series of observations and the model to be
fitted.  Trying to combine both into a unique scheme (how highly abstract
it is) is simply misleading.

Dim.
----------------------------------------------------------------------------
Dimitri Pourbaix                         *      Don't worry, be happy
Institut d'Astronomie et d'Astrophysique *         and CARPE DIEM.
CP 226, office 2.N4.211, building NO     *
Universite Libre de Bruxelles            *      Tel : +32-2-650.35.71
Boulevard du Triomphe                    *      Fax : +32-2-650.42.26
 B-1050 Bruxelles                        *        NAC: HBZSC RG2Z6
http://sb9.astro.ulb.ac.be/~pourbaix     * mailto:pourb...@astro.ulb.ac.be

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to