Optimizer Class Reference

Base class of all optimizers. More...

#include <Optimizer.h>

Inheritance diagram for Optimizer:

AdpBP90a AdpBP90b BFGS CG CMAOptimizer GridSearch IRpropMinus IRpropPlus LDA LinearRegression NestedGridSearch NoisyRprop PCA Perceptron PointSearch Quickprop QuickpropOriginal RpropMinus RpropPlus SteepestDescent StochasticGradientDescent SVM_Optimizer

List of all members.

Public Member Functions

 Optimizer ()
 Constructor.
virtual ~Optimizer ()
 Destructor.
virtual void init (Model &model)=0
 basic initialization with default parameters
virtual double optimize (Model &model, ErrorFunction &errorfunction, const Array< double > &input, const Array< double > &target)=0
 Performes one optimization step, for example a gradient descent step or an evolution cycle.
virtual double optimize (ModelWithErrorFunction &me, const Array< double > &input, const Array< double > &target)
 Performes one optimization step, for example a gradient descent step or an evolution cycle.
virtual double optimize (ModelWithErrorFunction &me, const Array< double > &input)
 Performes one optimization step, for example a gradient descent step or an evolution cycle.


Detailed Description

Base class of all optimizers.

ReClaM provides the three base classes Model, ErrorFunction and Optimizer which make up the ReClaM framework for solving regression and classification tasks. This design overrides the ModelInterface design which is kept for downward compatibility.
The Optimizer class encapsulates data driven a stepwise optimization technique with the goal to minimize an ErrorFunction computed on a Model.
Examples:

KernelOptimization.cpp.

Definition at line 63 of file Optimizer.h.


Constructor & Destructor Documentation

Optimizer::Optimizer (  ) 

Constructor.

Definition at line 47 of file Optimizer.cpp.

Optimizer::~Optimizer (  )  [virtual]

Destructor.

Definition at line 51 of file Optimizer.cpp.


Member Function Documentation

virtual void Optimizer::init ( Model model  )  [pure virtual]

virtual double Optimizer::optimize ( ModelWithErrorFunction me,
const Array< double > &  input 
) [inline, virtual]

Performes one optimization step, for example a gradient descent step or an evolution cycle.

Parameters:
me Model and ErrorFunction to use for the computation.
errorfunction ErrorFunction on which decisions are based.
input Vector of input values.
Returns:
The error E returned by the ErrorFunction.

Definition at line 121 of file Optimizer.h.

References optimize().

virtual double Optimizer::optimize ( ModelWithErrorFunction me,
const Array< double > &  input,
const Array< double > &  target 
) [inline, virtual]

Performes one optimization step, for example a gradient descent step or an evolution cycle.

Parameters:
me Model and ErrorFunction to use for the computation.
errorfunction ErrorFunction on which decisions are based.
input Vector of input values.
target Vector of output values.
Returns:
The error E returned by the ErrorFunction.

Definition at line 105 of file Optimizer.h.

References optimize().

virtual double Optimizer::optimize ( Model model,
ErrorFunction errorfunction,
const Array< double > &  input,
const Array< double > &  target 
) [pure virtual]

Performes one optimization step, for example a gradient descent step or an evolution cycle.

Parameters:
model Model to use for the computation.
errorfunction ErrorFunction on which decisions are based.
input Vector of input values.
target Vector of output values.
Returns:
The error E returned by the ErrorFunction.

Implemented in AdpBP90a, AdpBP90b, BFGS, CG, CMAOptimizer, GridSearch, NestedGridSearch, PointSearch, LDA, LinearRegression, NoisyRprop, PCA, Perceptron, Quickprop, QuickpropOriginal, RpropPlus, RpropMinus, IRpropPlus, IRpropMinus, SteepestDescent, StochasticGradientDescent, and SVM_Optimizer.

Examples:
KernelOptimization.cpp.

Referenced by ValidationError::error(), CVError::error(), ValidationError::errorDerivative(), CVError::errorDerivative(), and optimize().


The documentation for this class was generated from the following files: