commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nikolaus Hansen" <>
Subject Re: [jira] [Commented] (MATH-702) CMA-ES optimizer input sigma should not be normalized by user
Date Tue, 08 Nov 2011 20:50:46 GMT
unfortunately, the problem already arises with a linear coordinate-wise  
mapping: which coordinate gives the unit where sigma is defined on?

 from a practical viewpoint it is important to consider coordinate-wise  
non-linear mappings. Multidimensional mappings (e.g. with "covariance") I  
have never been able to apply successfully.


On Mon, 07 Nov 2011 21:00:51 +0100, Luc Maisonobe (Commented) (JIRA)  
<> wrote:

>     [  
> ]
> Luc Maisonobe commented on MATH-702:
> ------------------------------------
> You are right.
> for now, encoding/decoding is both liner only and hidden in a private  
> inner class (FitnessFunction), so users only see simple bounds and  
> inside these bounds the transform is linear.
> For sure if we come up with a different mapping, we will need to come up  
> with a way to define also the mapping of covariance. One way would be to  
> rely on the Jacobian, but it would be strange to propose mapping  
> function and requiring them to be smooth while the goal function by  
> itself could be highly non-smooth.
> So for now, the simple linear mapping seems sufficient to me, and would  
> need improvement only if we change some internals of the class.
>> CMA-ES optimizer input sigma should not be normalized by user
>> -------------------------------------------------------------
>>                 Key: MATH-702
>>                 URL:
>>             Project: Commons Math
>>          Issue Type: Bug
>>    Affects Versions: 3.0
>>            Reporter: Luc Maisonobe
>>            Priority: Minor
>>             Fix For: 3.0
>> I am trying to use CMA-ES optimizer with simple boundaries.
>> It seems the inputSigma parameter should be normalized as it is checked  
>> against the [0 - 1] range in the checkParameters private method and as  
>> its value defaults to 0.3 if not not set in the initializeCMA private  
>> method.
>> I would have expected this value to be in the same units as the user  
>> parameters and to be normalized as part of an internal processing step  
>> instead of relying to the user doing this. I think the method need  
>> normalized values internally, as per the encode/decode methods in the  
>> inner class FitnessFunction suggest.
>> The optimizer should accept values in the same units as the other  
>> parameters and use "encode" (or a similar function) to do the  
>> normalization. This way, normalization is considered an internal  
>> implementation detail.
> --
> This message is automatically generated by JIRA.
> If you think it was sent incorrectly, please contact your JIRA  
> administrators:  
> For more information on JIRA, see:

Science is a way of trying not to fool yourself.

The first principle is that you must not fool yourself, and you
are the easiest person to fool. So you have to be very careful
about that. After you've not fooled yourself, it's easy not to
fool other[ scientist]s. You just have to be honest in a
conventional way after that.
                                     -- Richard P. Feynman

Nikolaus Hansen
INRIA, Research Centre Saclay – Ile-de-France
Machine Learning and Optimization group (TAO)
University Paris-Sud (Orsay)
LRI (UMR 8623), building 490
91405 ORSAY Cedex, France
Phone: +33-1-691-56495, Fax: +33-1-691-54240

View raw message