[Insight-users] RE: AmoebaOptimizer and SetScales
Ross, James C (Research)
ross at crd.ge.com
Wed Feb 23 09:59:06 EST 2005
Zach,
When using, e.g., an affine transformation I get good behavior with the AmoebaOptimizer by setting the scales corresponding to the translational components to 1/(translateScale)^2 (where translateScale != 1) and the remaining scales to 1.
What metric are you using?
-James
-----Original Message-----
Date: Mon, 21 Feb 2005 13:41:00 -0800
From: Zachary Pincus <zpincus at stanford.edu>
Subject: [Insight-users] AmoebaOptimizer and SetScales
To: ITK Users <insight-users at itk.org>
Message-ID: <67948ffc935e41324237c901eb0e5bd9 at stanford.edu>
Content-Type: text/plain; charset=US-ASCII; format=flowed
Hello again,
I've noticed that the SetScales() call doesn't seem to have the effect
on the AmoebaOptimizer advertised by the documentation about
optimizers.
Basically, setting a scale any larger than one for any parameter seems
to cause the AmoebaOptimizer to drive that parameter to zero. Setting a
scale smaller than one causes the optimizer to try to drive that
parameter to + or -infinity. (The larger or smaller the scale, the
faster this happens.)
When I substitute, say, the OnePlusOneEvolutionaryOptimizer for the
AmoebaOptimizer (holding all else the same), everything works as it
should: parameters with a large scaling change more slowly than those
with a small scaling.
Has anyone else noticed this? Is the problem here my failing to
understand something about how the downhill simplex algorithm works, or
is there some bad interaction between this algorithm and scaling?
Zach Pincus
Department of Biochemistry and Program in Biomedical Informatics
Stanford University School of Medicine
More information about the Insight-users
mailing list