NoisyRprop Class Reference

Rprop-like algorithm for noisy function evaluations. More...

#include <NoisyRprop.h>

Inheritance diagram for NoisyRprop:

Optimizer

List of all members.

Public Member Functions

 NoisyRprop ()
 Constructor.
 ~NoisyRprop ()
 Destructor.
void init (Model &model)
 initialization with default values
void initUserDefined (Model &model, double delta0P=0.01)
 user defined initialization
void initUserDefined (Model &model, const Array< double > &delta0P)
 user defined initialization with coordinate wise individual step sizes
double optimize (Model &model, ErrorFunction &errorfunction, const Array< double > &input, const Array< double > &target)
 optimization step

Protected Attributes

Array< double > delta
 individual step sizes
int minEpisodeLength
 minimal episode length
Array< int > EpisodeLength
 current episode length
Array< int > sample
 fraction 1 to 100 of the episode length
Array< int > sampleIteration
 next 1/100 of the episode length
Array< int > iteration
 iteration within the current episode
Array< int > position
 normalized position within the episode
Array< int > toTheRight
 "step to the right" event statistic
Array< int > leftmost
 leftmost visited place
Array< int > rightmost
 rightmost visited place
Array< double > leftsum
 sum of positive derivatives
Array< double > rightsum
 sum of negative derivatives
Array< int > current
 current error evaluation
Array< int > numberOfAverages
 number of error evaluations per iteration
Array< double > gradient
 accumulated gradient for each coordinate


Detailed Description

Rprop-like algorithm for noisy function evaluations.

The Rprop algorithm (see Rprop.h) is a very robust gradient descent based optimizer for real-valued optimization. However, it can not deal with the presence of noice.
The NoisyRprop algorithm is a completely novel algorithm which tries to carry over the most important ideas from Rprop to the optimization of noisy problems. It is, of course, slower than the Rprop algorithm, but it can handle noisy problems with noisy gradient information.

Definition at line 66 of file NoisyRprop.h.


Constructor & Destructor Documentation

NoisyRprop::NoisyRprop (  ) 

Constructor.

Definition at line 45 of file NoisyRprop.cpp.

NoisyRprop::~NoisyRprop (  ) 

Destructor.

Definition at line 49 of file NoisyRprop.cpp.


Member Function Documentation

void NoisyRprop::init ( Model model  )  [virtual]

initialization with default values

Implements Optimizer.

Definition at line 54 of file NoisyRprop.cpp.

References initUserDefined().

void NoisyRprop::initUserDefined ( Model model,
const Array< double > &  delta0P 
)

user defined initialization with coordinate wise individual step sizes

Definition at line 66 of file NoisyRprop.cpp.

References current, delta, EpisodeLength, Model::getParameterDimension(), gradient, iteration, leftmost, leftsum, minEpisodeLength, numberOfAverages, position, rightmost, rightsum, sample, sampleIteration, and toTheRight.

void NoisyRprop::initUserDefined ( Model model,
double  delta0P = 0.01 
)

user defined initialization

Definition at line 59 of file NoisyRprop.cpp.

References Model::getParameterDimension().

Referenced by init().

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


Member Data Documentation

Array<int> NoisyRprop::current [protected]

current error evaluation

Definition at line 127 of file NoisyRprop.h.

Referenced by initUserDefined(), and optimize().

Array<double> NoisyRprop::delta [protected]

individual step sizes

Definition at line 91 of file NoisyRprop.h.

Referenced by initUserDefined(), and optimize().

Array<int> NoisyRprop::EpisodeLength [protected]

current episode length

Definition at line 97 of file NoisyRprop.h.

Referenced by initUserDefined(), and optimize().

Array<double> NoisyRprop::gradient [protected]

accumulated gradient for each coordinate

Definition at line 133 of file NoisyRprop.h.

Referenced by initUserDefined(), and optimize().

Array<int> NoisyRprop::iteration [protected]

iteration within the current episode

Definition at line 106 of file NoisyRprop.h.

Referenced by initUserDefined(), and optimize().

Array<int> NoisyRprop::leftmost [protected]

leftmost visited place

Definition at line 115 of file NoisyRprop.h.

Referenced by initUserDefined(), and optimize().

Array<double> NoisyRprop::leftsum [protected]

sum of positive derivatives

Definition at line 121 of file NoisyRprop.h.

Referenced by initUserDefined(), and optimize().

minimal episode length

Definition at line 94 of file NoisyRprop.h.

Referenced by initUserDefined(), and optimize().

Array<int> NoisyRprop::numberOfAverages [protected]

number of error evaluations per iteration

Definition at line 130 of file NoisyRprop.h.

Referenced by initUserDefined(), and optimize().

Array<int> NoisyRprop::position [protected]

normalized position within the episode

Definition at line 109 of file NoisyRprop.h.

Referenced by initUserDefined(), and optimize().

Array<int> NoisyRprop::rightmost [protected]

rightmost visited place

Definition at line 118 of file NoisyRprop.h.

Referenced by initUserDefined(), and optimize().

Array<double> NoisyRprop::rightsum [protected]

sum of negative derivatives

Definition at line 124 of file NoisyRprop.h.

Referenced by initUserDefined(), and optimize().

Array<int> NoisyRprop::sample [protected]

fraction 1 to 100 of the episode length

Definition at line 100 of file NoisyRprop.h.

Referenced by initUserDefined(), and optimize().

Array<int> NoisyRprop::sampleIteration [protected]

next 1/100 of the episode length

Definition at line 103 of file NoisyRprop.h.

Referenced by initUserDefined(), and optimize().

Array<int> NoisyRprop::toTheRight [protected]

"step to the right" event statistic

Definition at line 112 of file NoisyRprop.h.

Referenced by initUserDefined(), and optimize().


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