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>
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".
|
GMatrix * | preprocessObservations (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 |
GMatrix * | m_pPreprocessed |
GMatrix * | m_pActions |
bool | m_ownActionsData |
std::vector< GSupervisedLearner * > | m_consequenceMaps |
size_t | m_maxDims |
GRand * | m_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] |
virtual void GClasses::GTemporalNeighborFinder::neighbors |
( |
size_t * |
pOutNeighbors, |
|
|
size_t |
index |
|
) |
| [virtual] |
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