ITK
4.4.0
Insight Segmentation and Registration Toolkit
|
#include <itkGradientDescentLineSearchOptimizerv4.h>
Gradient descent optimizer with a golden section line search.
GradientDescentLineSearchOptimizer implements a simple gradient descent optimizer that is followed by a line search to find the best value for the learning rate. At each iteration the current position is updated according to
Options are identical to the superclass's except for:
options Epsilon, LowerLimit and UpperLimit that will guide a golden section line search to find the optimal gradient update within the range :
[ learningRate * LowerLimit , learningRate * UpperLimit ]
where Epsilon sets the resolution of the search. Smaller values lead to additional computation time but better localization of the minimum.
By default, this optimizer will return the best value and associated parameters that were calculated during the optimization. See SetReturnBestParametersAndValue().
Definition at line 58 of file itkGradientDescentLineSearchOptimizerv4.h.
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::GradientDescentOptimizerv4 | |
static Pointer | New () |
Private Member Functions | |
GradientDescentLineSearchOptimizerv4 (const Self &) | |
void | operator= (const Self &) |
Additional Inherited Members | |
Protected Types inherited from itk::GradientDescentOptimizerBasev4 | |
typedef GradientDescentOptimizerBasev4ModifyGradientByScalesThreader::IndexRangeType | IndexRangeType |
typedef SmartPointer< const Self > itk::GradientDescentLineSearchOptimizerv4::ConstPointer |
Definition at line 66 of file itkGradientDescentLineSearchOptimizerv4.h.
typedef itk::Function::WindowConvergenceMonitoringFunction<double> itk::GradientDescentLineSearchOptimizerv4::ConvergenceMonitoringType |
Type for the convergence checker
Definition at line 82 of file itkGradientDescentLineSearchOptimizerv4.h.
typedef Superclass::DerivativeType itk::GradientDescentLineSearchOptimizerv4::DerivativeType |
Derivative type
Definition at line 72 of file itkGradientDescentLineSearchOptimizerv4.h.
typedef Superclass::InternalComputationValueType itk::GradientDescentLineSearchOptimizerv4::InternalComputationValueType |
Definition at line 79 of file itkGradientDescentLineSearchOptimizerv4.h.
typedef Superclass::MeasureType itk::GradientDescentLineSearchOptimizerv4::MeasureType |
Metric type over which this class is templated
Definition at line 78 of file itkGradientDescentLineSearchOptimizerv4.h.
Definition at line 65 of file itkGradientDescentLineSearchOptimizerv4.h.
Standard class typedefs.
Definition at line 63 of file itkGradientDescentLineSearchOptimizerv4.h.
Definition at line 64 of file itkGradientDescentLineSearchOptimizerv4.h.
|
protected |
Default constructor
|
protectedvirtual |
Destructor
|
private |
|
protectedvirtual |
Advance one Step following the gradient direction. Includes transform update.
Reimplemented from itk::GradientDescentOptimizerv4.
Reimplemented in itk::ConjugateGradientLineSearchOptimizerv4.
|
virtual |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::Object.
|
virtual |
The epsilon determines the accuracy of the line search i.e. the energy alteration that is considered convergent.
|
virtual |
The upper and lower limit below determine the range of values over which the learning rate can be adjusted by the golden section line search. The update can then occur in the range from the smallest change given by : NewParams = OldParams + LowerLimit * gradient to the largest change given by : NewParams = OldParams + UpperLimit * gradient Reasonable values might be 0 and 2.
|
virtual |
The upper and lower limit below determine the range of values over which the learning rate can be adjusted by the golden section line search. The update can then occur in the range from the smallest change given by : NewParams = OldParams + LowerLimit * gradient to the largest change given by : NewParams = OldParams + UpperLimit * gradient Reasonable values might be 0 and 2.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::GradientDescentOptimizerv4.
Reimplemented in itk::ConjugateGradientLineSearchOptimizerv4.
|
virtual |
The upper and lower limit below determine the range of values over which the learning rate can be adjusted by the golden section line search. The update can then occur in the range from the smallest change given by : NewParams = OldParams + LowerLimit * gradient to the largest change given by : NewParams = OldParams + UpperLimit * gradient Reasonable values might be 0 and 2.
|
protected |
|
static |
New macro for creation of through a Smart Pointer
|
private |
|
protectedvirtual |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from itk::GradientDescentOptimizerv4.
Reimplemented in itk::ConjugateGradientLineSearchOptimizerv4.
|
virtual |
The epsilon determines the accuracy of the line search i.e. the energy alteration that is considered convergent.
|
virtual |
The upper and lower limit below determine the range of values over which the learning rate can be adjusted by the golden section line search. The update can then occur in the range from the smallest change given by : NewParams = OldParams + LowerLimit * gradient to the largest change given by : NewParams = OldParams + UpperLimit * gradient Reasonable values might be 0 and 2.
|
virtual |
The upper and lower limit below determine the range of values over which the learning rate can be adjusted by the golden section line search. The update can then occur in the range from the smallest change given by : NewParams = OldParams + LowerLimit * gradient to the largest change given by : NewParams = OldParams + UpperLimit * gradient Reasonable values might be 0 and 2.
|
virtual |
The upper and lower limit below determine the range of values over which the learning rate can be adjusted by the golden section line search. The update can then occur in the range from the smallest change given by : NewParams = OldParams + LowerLimit * gradient to the largest change given by : NewParams = OldParams + UpperLimit * gradient Reasonable values might be 0 and 2.
|
protected |
Definition at line 128 of file itkGradientDescentLineSearchOptimizerv4.h.
|
protected |
Counts the recursion depth for the golden section search
Definition at line 134 of file itkGradientDescentLineSearchOptimizerv4.h.
|
protected |
Definition at line 124 of file itkGradientDescentLineSearchOptimizerv4.h.
|
protected |
Controls the maximum recursion depth for the golden section search
Definition at line 131 of file itkGradientDescentLineSearchOptimizerv4.h.
|
protected |
Definition at line 126 of file itkGradientDescentLineSearchOptimizerv4.h.
|
protected |
Definition at line 127 of file itkGradientDescentLineSearchOptimizerv4.h.
|
protected |
Definition at line 125 of file itkGradientDescentLineSearchOptimizerv4.h.