#include <RBFNeuron.h>
Inheritance diagram for verve::RBFNeuron:
Public Member Functions | |
VERVE_DECL | RBFNeuron (unsigned int id) |
virtual VERVE_DECL | ~RBFNeuron () |
virtual VERVE_DECL void VERVE_CALL | init (real stdDevWidth, real newRBFThreshold, const RBFInputData &inputData) |
virtual VERVE_DECL RBFActivationCode VERVE_CALL | updateFiringRate (const RBFInputData &inputData) |
virtual VERVE_DECL unsigned int VERVE_CALL | getNumDiscreteDimensions () const |
virtual VERVE_DECL unsigned int VERVE_CALL | getNumContinuousDimensions () const |
virtual VERVE_DECL const unsigned int *VERVE_CALL | getDiscretePosition () const |
virtual VERVE_DECL const real *VERVE_CALL | getContinuousPosition () const |
Protected Attributes | |
unsigned int | mNumDiscreteDimensions |
unsigned int | mNumContinuousDimensions |
unsigned int * | mDiscretePosition |
real * | mContinuousPosition |
real | mRBFDenominatorInverse |
real | mActivationThresholdDistanceSquared |
real | mNewRBFThresholdDistanceSquared |
Each RBFNeuron stores its position in both continuous and discrete space. This allows RBFNeurons to respond to a mixture of continuous and discrete input data. (This may sound a bit confusing compared to normal radial basis functions. Basically, the distance from the RBF to an input data point is computed in continuous space using the Euclidean distance, and the distance along a discrete dimension is either zero or infinite, depending on whether the discrete values match.)
Definition at line 61 of file RBFNeuron.h.
|
Definition at line 29 of file RBFNeuron.cpp. References mActivationThresholdDistanceSquared, mContinuousPosition, mDiscretePosition, mNewRBFThresholdDistanceSquared, mNumContinuousDimensions, mNumDiscreteDimensions, and mRBFDenominatorInverse. |
|
Definition at line 42 of file RBFNeuron.cpp. References mContinuousPosition, and mDiscretePosition. |
|
Returns a constant pointer to the RBF's continuous position data.
Definition at line 259 of file RBFNeuron.cpp. References mContinuousPosition. |
|
Returns a constant pointer to the RBF's discrete position data.
Definition at line 254 of file RBFNeuron.cpp. References mDiscretePosition. |
|
Returns the number of continuous dimensions in the RBF space.
Definition at line 249 of file RBFNeuron.cpp. |
|
Returns the number of discrete dimensions in the RBF space.
Definition at line 244 of file RBFNeuron.cpp. References mNumDiscreteDimensions. |
|
Initializes the RBFNeuron. This sets its 'stdDevWidth' (i.e. the distance of one standard deviation from the RBF center), the 'newRBFThreshold' (points beyond this distance from the RBF center might need a new RBF to be created), number of dimensions being used in both discrete and continuous space, and the RBF's position in discrete and continuous space. Definition at line 48 of file RBFNeuron.cpp. References verve::RBFInputData::discInputData, mDiscretePosition, mNumContinuousDimensions, mNumDiscreteDimensions, verve::RBFInputData::numContInputs, and verve::RBFInputData::numDiscInputs. |
|
Updates the firing rate based on the distance to the given data point. The dimensionality of the given point must match that of the RBF's position, both in discrete and continuous space. The returned activation code can be used for keeping track of active RBFNeurons and deciding when to create new RBFs. This assumes that at least one input dimension exists, either discrete or continuous. Definition at line 109 of file RBFNeuron.cpp. References verve::RBFInputData::discInputData, mDiscretePosition, mNumDiscreteDimensions, verve::NO_ACTIVATION, and verve::Neuron::setFiringRate(). |
|
The threshold distance (squared for faster computations) that determines how close a data point must be to affect the RBFNeuron's firing rate.
Definition at line 124 of file RBFNeuron.h. Referenced by RBFNeuron(). |
|
Array representing the RBF position in continuous space.
Definition at line 115 of file RBFNeuron.h. Referenced by getContinuousPosition(), RBFNeuron(), and ~RBFNeuron(). |
|
Array representing the RBF position in discrete space.
Definition at line 112 of file RBFNeuron.h. Referenced by getDiscretePosition(), init(), RBFNeuron(), updateFiringRate(), and ~RBFNeuron(). |
|
The threshold distance (squared for faster computations) that determines how far a data point must be from the RBF before we consider creating a new RBF.
Definition at line 129 of file RBFNeuron.h. Referenced by RBFNeuron(). |
|
The number of dimensions in the continuous position.
Definition at line 109 of file RBFNeuron.h. Referenced by init(), and RBFNeuron(). |
|
The number of dimensions in the discrete position.
Definition at line 106 of file RBFNeuron.h. Referenced by getNumDiscreteDimensions(), init(), RBFNeuron(), and updateFiringRate(). |
|
A constant precomputed value used in the Gaussian basis function (the inverse of the denominator).
Definition at line 119 of file RBFNeuron.h. Referenced by RBFNeuron(). |