aureservoir::TrainRidgeReg< T > Class Template Reference

#include <train.h>

Inheritance diagram for aureservoir::TrainRidgeReg< T >:

Inheritance graph
[legend]
Collaboration diagram for aureservoir::TrainRidgeReg< T >:

Collaboration graph
[legend]

Detailed Description

template<typename T>
class aureservoir::TrainRidgeReg< T >

Trains an ESN offline in the same way as TrainLeastSquare or TrainPI.
See also:
class TrainLeastSquare
The difference compared to TrainLeastSquare is, that it uses an regularization factor to calculate the output weigths, where it tries to get them as small as possible. This is called Ridge Regression or Tikhonov Regularization.

The regularization factor can be set with the TIKHONOV_FACTOR parameter. If TIKHONOV_FACTOR=0, one gets the unregularized least squares solution. The higher the parameter, the stronger the smoothing/regularization effect.

For ridge regression with ESNs see:

See also:
http://scholarpedia.org/article/Echo_State_Network
A general mathematical describtion can be found at:
See also:
http://en.wikipedia.org/wiki/Tikhonov_regularization

Public Member Functions

 TrainRidgeReg (ESN< T > *esn)
virtual ~TrainRidgeReg ()
class TrainRidgeReg Implementation
virtual void train (const typename ESN< T >::DEMatrix &in, const typename ESN< T >::DEMatrix &out, int washout) throw (AUExcept)

Protected Member Functions

void clearData ()
class TrainBase Implementation
void checkParams (const typename ESN< T >::DEMatrix &in, const typename ESN< T >::DEMatrix &out, int washout) throw (AUExcept)
void collectStates (const typename ESN< T >::DEMatrix &in, const typename ESN< T >::DEMatrix &out, int washout)
void squareStates ()

Protected Attributes

ESN< T > * esn_
ESN< T >::DEMatrix M
ESN< T >::DEMatrix O

Constructor & Destructor Documentation

template<typename T>
aureservoir::TrainRidgeReg< T >::TrainRidgeReg ( ESN< T > *  esn  )  [inline]

template<typename T>
virtual aureservoir::TrainRidgeReg< T >::~TrainRidgeReg (  )  [inline, virtual]


Member Function Documentation

template<typename T>
void aureservoir::TrainRidgeReg< T >::train ( const typename ESN< T >::DEMatrix in,
const typename ESN< T >::DEMatrix out,
int  washout 
) throw (AUExcept) [inline, virtual]

training algorithm

Implements aureservoir::TrainBase< T >.

template<typename T>
void aureservoir::TrainBase< T >::checkParams ( const typename ESN< T >::DEMatrix in,
const typename ESN< T >::DEMatrix out,
int  washout 
) throw (AUExcept) [inline, protected, inherited]

check parameters

template<typename T>
void aureservoir::TrainBase< T >::collectStates ( const typename ESN< T >::DEMatrix in,
const typename ESN< T >::DEMatrix out,
int  washout 
) [inline, protected, inherited]

collect network states with simulation algorithm

template<typename T>
void aureservoir::TrainBase< T >::squareStates (  )  [inline, protected, inherited]

squares states for SIM_SQUARE

template<typename T>
void aureservoir::TrainBase< T >::clearData (  )  [inline, protected, inherited]

frees allocated data for M and O


Field Documentation

template<typename T>
ESN<T>* aureservoir::TrainBase< T >::esn_ [protected, inherited]

reference to the data of the network

template<typename T>
ESN<T>::DEMatrix aureservoir::TrainBase< T >::M [protected, inherited]

matrix for network states and inputs over all timesteps

template<typename T>
ESN<T>::DEMatrix aureservoir::TrainBase< T >::O [protected, inherited]

matrix for outputs over all timesteps


The documentation for this class was generated from the following files:
Generated on Wed Mar 12 21:16:15 2008 for aureservoir by  doxygen 1.5.3