[Insight-users] OptimizerScales and VersorRigid3DTransformOptimizer

Luis Ibanez luis.ibanez at kitware.com
Fri May 27 10:49:48 EDT 2005


Hi Toon,


Your question:


          "Is it correct if I state that the OptimizerScales have
           no influence on the MaximumStepLength of the optimizer?"



One answer:


                          Yes and No



1) for the YES:  It is correct to say that if you change the scaling
                  parameter that will not change the step length that
                  you set from the *outside* of the optimizer.

2) for the NO:   The scaling parameters will affect the actually step
                  length that the optimizer performs *internally*.
                  To be more precise, it affects the projections of
                  that step length along each one of the coordinates
                  in the parametric space.


The purpose of the scaling factors in the optimizer is to bring
any parametric space to a form in which the basin of the cost
function have radial symmetry (or close to it).

If you are using ITK optimizers of the "gradient-descent" type,
the scaling parameters are actually applied to the gradient-vector
that is used to update the current position in the parametric space.
In that context, you can say that they are multiplying the step length
internally.



Are you using the RegularStepGradientDescent ?

if so, the reason why the MaximumStepLength doesn't change, is simply
that this is an initial parameter. The optimizer just use it as the
first value to assign to the actual "step length".  From that initial
value, the optimizer decides whether to shrink the step length based
on directional changes in the derivative.  If you call GetMax length
at every iteration, you will always get the same value.  The value
that you may want to look at is the "CurrentStepLenght".




     Regards,



        Luis



--------------------
Toon Huysmans wrote:
>  
> 
> Hey,
> 
>  
> 
>             Is it correct if I state that the OptimizerScales have no 
> influence on the MaximumStepLength of the optimizer?  I would expect 
> that if the optimizer scale for a certain variable is set to <s>, and 
> the maximum step length is set to <l>, that the maximum step I can 
> expect would be <s*I>.  But what I see is that the maximum step is 
> always <l>, no matter how small <s> is.
> 
>  
> 
> Any clues?
> 
> Thanks,
> 
>  
> 
>  
> 
> Toon Huysmans.
> 
>  
> 
> Postal Address:
> 
>  
> 
>   Vision Lab, Department of Physics
> 
>   University of Antwerp (CMI)
> 
>   Groenenborgerlaan 171 (U306)
> 
>   B-2020 Antwerp, Belgium
> 
> Tel: +32 (0) 3 265 32 24
> 
> Fax: +32 (0) 3 265 33 18
> 
> Email: toon.huysmans at ua.ac.be <mailto:toon.huysmans at ua.ac.be>
> 
> Web: http://webhost.ua.ac.be/visielab/staff/tohu/
> 
>  
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users





More information about the Insight-users mailing list