aureservoir::TrainBase< T > Class Template Reference

#include <train.h>

Inheritance diagram for aureservoir::TrainBase< T >:

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

Collaboration graph
[legend]

Detailed Description

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

This class is an abstract base class for all different kinds of training algorithms. The idea behind this system is that the algorithms can be exchanged at runtime (strategy pattern).

Simply derive from this class if you want to add a new algorithm.

Public Member Functions

 TrainBase (ESN< T > *esn)
virtual ~TrainBase ()
virtual void train (const typename ESN< T >::DEMatrix &in, const typename ESN< T >::DEMatrix &out, int washout)=0 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::TrainBase< T >::TrainBase ( ESN< T > *  esn  )  [inline]

Constructor.

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

Destructor.


Member Function Documentation

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

training algorithm

Parameters:
in matrix of input values (inputs x timesteps)
out matrix of desired output values (outputs x timesteps) for teacher forcing
washout washout time in samples, used to get rid of the transient dynamics of the network starting state

Implemented in aureservoir::TrainPI< T >, aureservoir::TrainLS< T >, aureservoir::TrainRidgeReg< T >, and aureservoir::TrainDSPI< 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]

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]

collect network states with simulation algorithm

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

squares states for SIM_SQUARE

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

frees allocated data for M and O


Field Documentation

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

reference to the data of the network

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

matrix for network states and inputs over all timesteps

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

matrix for outputs over all timesteps


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