aureservoir::SimFilterDS< T > Class Template Reference

#include <simulate.h>

Inheritance diagram for aureservoir::SimFilterDS< T >:

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

Collaboration graph
[legend]

Detailed Description

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

This version works like SimFilter, but has an additional delay&sum readout, which means that not only a single weight but also a delay is learned in the readout. Therefore it can be used to identify systems with long-term dependencies.
See also:
class SimFilter

class IIRFilter

See "Echo State Networks with Filter Neurons and a Delay&Sum Readout" (Georg Holzmann, 2008).
See also:
http://grh.mur.at/misc/ESNsWithFilterNeuronsAndDSReadout.pdf

Public Member Functions

 SimFilterDS (ESN< T > *esn)
virtual ~SimFilterDS ()
virtual SimFilterDS
< T > * 
clone (ESN< T > *esn) const
class SimFilterDS Implementation
virtual void reallocate ()
virtual void initDelayLine (int index, const typename DEVector< T >::Type &initbuf) throw (AUExcept)
virtual DEMatrix< T >
::Type 
getDelays () throw (AUExcept)
virtual DEVector< T >
::Type & 
getDelayBuffer (int output, int nr) throw (AUExcept)
virtual void simulate (const typename ESN< T >::DEMatrix &in, typename ESN< T >::DEMatrix &out)
class SimFilter Implementation
virtual void setIIRCoeff (const typename DEMatrix< T >::Type &B, const typename DEMatrix< T >::Type &A, int series=1) throw (AUExcept)
additional interface for filter neurons and delay&sum readout
virtual void setBPCutoffConst (T f1, T f2) throw (AUExcept)
virtual void setBPCutoff (const typename ESN< T >::DEVector &f1, const typename ESN< T >::DEVector &f2) throw (AUExcept)

Data Fields

SerialIIRFilter< T > filter_
ESN< T >::DEMatrix last_out_
ESN< T >::DEVector t_

Protected Attributes

std::vector
< DelayLine< T > > 
dellines_
ESN< T >::DEMatrix intmp_
ESN< T > * esn_

Constructor & Destructor Documentation

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

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


Member Function Documentation

template<typename T>
virtual SimFilterDS<T>* aureservoir::SimFilterDS< T >::clone ( ESN< T > *  esn  )  const [inline, virtual]

virtual constructor idiom

Reimplemented from aureservoir::SimFilter< T >.

Reimplemented in aureservoir::SimSquare< T >.

template<typename T>
void aureservoir::SimFilterDS< T >::reallocate (  )  [inline, virtual]

reallocates data buffers

Reimplemented from aureservoir::SimBase< T >.

Reimplemented in aureservoir::SimSquare< T >.

template<typename T>
void aureservoir::SimFilterDS< T >::initDelayLine ( int  index,
const typename DEVector< T >::Type &  initbuf 
) throw (AUExcept) [inline, virtual]

initializes the delay lines from each neuron+input to all outputs

Parameters:
index which delayline to init, reservoir neurons are first, then inputs, then to all outputs. index starts from 0 !!!
initbuf initial values of the delayline
See also:
class DelayLine

Reimplemented from aureservoir::SimBase< T >.

template<typename T>
DEMatrix< T >::Type aureservoir::SimFilterDS< T >::getDelays (  )  throw (AUExcept) [inline, virtual]

query the trained delays

Returns:
matrix with delay form neurons+inputs to all outputs size = (output x neurons+inputs)

Reimplemented from aureservoir::SimBase< T >.

template<typename T>
DEVector< T >::Type & aureservoir::SimFilterDS< T >::getDelayBuffer ( int  output,
int  nr 
) throw (AUExcept) [inline, virtual]

Parameters:
output delayline to this output (starting from 0)
nr which neuron or input (starting from 0)
Returns:
the buffer of the delayline

Reimplemented from aureservoir::SimBase< T >.

template<typename T>
void aureservoir::SimFilterDS< T >::simulate ( const typename ESN< T >::DEMatrix in,
typename ESN< T >::DEMatrix out 
) [inline, virtual]

implementation of the algorithm

See also:
class SimBase::simulate

Reimplemented from aureservoir::SimFilter< T >.

Reimplemented in aureservoir::SimSquare< T >.

template<typename T>
void aureservoir::SimFilter< T >::setIIRCoeff ( const typename DEMatrix< T >::Type &  B,
const typename DEMatrix< T >::Type &  A,
int  series = 1 
) throw (AUExcept) [inline, virtual, inherited]

sets the filter coefficients

Parameters:
B matrix with numerator coefficient vectors (m x nb) m ... nr of parallel filters (neurons) nb ... nr of filter coefficients
A matrix with denominator coefficient vectors (m x na) m ... nr of parallel filters (neurons) na ... nr of filter coefficients
seris nr of serial IIR filters, e.g. if series=2 the coefficients B and A will be divided in its half and calculated with 2 serial IIR filters

Reimplemented from aureservoir::SimBase< T >.

template<typename T>
void aureservoir::SimBase< T >::setBPCutoffConst ( f1,
f2 
) throw (AUExcept) [inline, virtual, inherited]

Reimplemented in aureservoir::SimBP< T >.

template<typename T>
void aureservoir::SimBase< T >::setBPCutoff ( const typename ESN< T >::DEVector f1,
const typename ESN< T >::DEVector f2 
) throw (AUExcept) [inline, virtual, inherited]

Reimplemented in aureservoir::SimBP< T >.


Field Documentation

template<typename T>
std::vector< DelayLine<T> > aureservoir::SimFilterDS< T >::dellines_ [protected]

vector with delaylines for each neuron+input to output connection

template<typename T>
ESN<T>::DEMatrix aureservoir::SimFilterDS< T >::intmp_ [protected]

temporary object needed for algorithm calculation

template<typename T>
SerialIIRFilter<T> aureservoir::SimFilter< T >::filter_ [inherited]

the filter object

template<typename T>
ESN<T>::DEMatrix aureservoir::SimBase< T >::last_out_ [inherited]

output from last simulation

template<typename T>
ESN<T>::DEVector aureservoir::SimBase< T >::t_ [inherited]

temporary object needed for algorithm calculation

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

reference to the data of the network


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