GClasses

GClasses::GTemporalNeighborFinder Class Reference

A neighbor finder that specializes in dynamical systems. It determines neighbors by searching for the shortest path of actions between observations, and computes the distance as the number of time-steps in that path. This algorithm was published in Gashler, Michael S. and Martinez, Tony. Temporal nonlinear dimensionality reduction. In Proceedings of the International Joint Conference on Neural Networks IJCNN’11, pages 1959–1966, IEEE Press, 2011. More...

#include <GNeighborFinder.h>

Inheritance diagram for GClasses::GTemporalNeighborFinder:
GClasses::GNeighborFinder

List of all members.

Public Member Functions

 GTemporalNeighborFinder (GMatrix *pObservations, GMatrix *pActions, bool ownActionsData, size_t neighborCount, GRand *pRand, size_t maxDims=12)
 pObservations is typically a matrix of high-dimensional observations. pActions is a matrix of corresponding actions (peformed after the corresponding observation was observed). If ownActionsData is true, then this object will delete pActions when it is deleted. This neighbor-finder is somewhat slow in high-dimensional space. Consequently, if the data has more than maxDims dimensions, it will internally use PCA to reduce it to maxDims dimensions before computing neighbors. The default is 12.
virtual ~GTemporalNeighborFinder ()
virtual void neighbors (size_t *pOutNeighbors, size_t index)
 Computes the neighbors of the specified vector.
virtual void neighbors (size_t *pOutNeighbors, double *pOutDistances, size_t index)
 Computes the neighbors and distances of the specified vector.

Protected Member Functions

bool findPath (size_t from, size_t to, double *path, double distCap)
 Returns false if distCap is exceeded, or if the results are too imprecise to be reliable. Otherwise, returns true, and path is set to contain the number of times that each action must be performed to travel from point "from" to point "to".
GMatrixpreprocessObservations (GMatrix *pObs, size_t maxDims, GRand *pRand)
 This method uses PCA to reduce pObs to maxDims dimensions. (If pObs is already small enough, it just returns pObs.)

Protected Attributes

GMatrixm_pPreprocessed
GMatrixm_pActions
bool m_ownActionsData
std::vector< GSupervisedLearner * > m_consequenceMaps
size_t m_maxDims
GRandm_pRand

Detailed Description

A neighbor finder that specializes in dynamical systems. It determines neighbors by searching for the shortest path of actions between observations, and computes the distance as the number of time-steps in that path. This algorithm was published in Gashler, Michael S. and Martinez, Tony. Temporal nonlinear dimensionality reduction. In Proceedings of the International Joint Conference on Neural Networks IJCNN’11, pages 1959–1966, IEEE Press, 2011.


Constructor & Destructor Documentation

GClasses::GTemporalNeighborFinder::GTemporalNeighborFinder ( GMatrix pObservations,
GMatrix pActions,
bool  ownActionsData,
size_t  neighborCount,
GRand pRand,
size_t  maxDims = 12 
)

pObservations is typically a matrix of high-dimensional observations. pActions is a matrix of corresponding actions (peformed after the corresponding observation was observed). If ownActionsData is true, then this object will delete pActions when it is deleted. This neighbor-finder is somewhat slow in high-dimensional space. Consequently, if the data has more than maxDims dimensions, it will internally use PCA to reduce it to maxDims dimensions before computing neighbors. The default is 12.

virtual GClasses::GTemporalNeighborFinder::~GTemporalNeighborFinder ( ) [virtual]

Member Function Documentation

bool GClasses::GTemporalNeighborFinder::findPath ( size_t  from,
size_t  to,
double *  path,
double  distCap 
) [protected]

Returns false if distCap is exceeded, or if the results are too imprecise to be reliable. Otherwise, returns true, and path is set to contain the number of times that each action must be performed to travel from point "from" to point "to".

virtual void GClasses::GTemporalNeighborFinder::neighbors ( size_t *  pOutNeighbors,
double *  pOutDistances,
size_t  index 
) [virtual]

Computes the neighbors and distances of the specified vector.

Implements GClasses::GNeighborFinder.

virtual void GClasses::GTemporalNeighborFinder::neighbors ( size_t *  pOutNeighbors,
size_t  index 
) [virtual]

Computes the neighbors of the specified vector.

Implements GClasses::GNeighborFinder.

GMatrix* GClasses::GTemporalNeighborFinder::preprocessObservations ( GMatrix pObs,
size_t  maxDims,
GRand pRand 
) [protected]

This method uses PCA to reduce pObs to maxDims dimensions. (If pObs is already small enough, it just returns pObs.)


Member Data Documentation