GClasses

GClasses::GSaffron Class Reference

This class implementes the SAFFRON intelligent neighbor-finding algorithm published in Gashler, Michael S. and Martinez, Tony. Tangent space guided intelligent neighbor finding. In Proceedings of the IEEE International Joint Conference on Neural Networks IJCNN’11, pages 2617–2624, IEEE Press, 2011. This class intelligently selects neighbors for each point in a dataset, such that the neighbors define a good neighborhood for manifold learning. A relaxation technique is used to ensure that neighbors lie on a consistent tangent-space while remaining close to the point. This makes manifold learning possible with difficult (somtimes even self-intersecting) manifolds. More...

#include <GNeighborFinder.h>

Inheritance diagram for GClasses::GSaffron:
GClasses::GNeighborFinder

List of all members.

Public Member Functions

 GSaffron (GMatrix *pData, size_t medianCands, size_t neighbors, size_t tangentDims, double sqCorrCap, GRand *pRand)
 General-purpose constructor.
virtual ~GSaffron ()
virtual void neighbors (size_t *pOutNeighbors, size_t index)
 See the comment for GNeighborFinder::neighbors.
virtual void neighbors (size_t *pOutNeighbors, double *pOutDistances, size_t index)
 See the comment for GNeighborFinder::neighbors.
double meanNeighborCount (double *pDeviation)
 Returns the mean number of neighbors for each point. If pDeviation is non-NULL, it is set to the deviation.

Static Protected Member Functions

static double measureAlignment (double *pA, GMatrix *pATan, double *pB, GMatrix *pBTan, double cap, double squaredRadius, GRand *pRand)

Protected Attributes

size_t * m_pNeighborhoods
double * m_pDistances
size_t m_rows
double m_learningRate
int m_windowSize
double m_minImprovement
bool m_prune

Detailed Description

This class implementes the SAFFRON intelligent neighbor-finding algorithm published in Gashler, Michael S. and Martinez, Tony. Tangent space guided intelligent neighbor finding. In Proceedings of the IEEE International Joint Conference on Neural Networks IJCNN’11, pages 2617–2624, IEEE Press, 2011. This class intelligently selects neighbors for each point in a dataset, such that the neighbors define a good neighborhood for manifold learning. A relaxation technique is used to ensure that neighbors lie on a consistent tangent-space while remaining close to the point. This makes manifold learning possible with difficult (somtimes even self-intersecting) manifolds.


Constructor & Destructor Documentation

GClasses::GSaffron::GSaffron ( GMatrix pData,
size_t  medianCands,
size_t  neighbors,
size_t  tangentDims,
double  sqCorrCap,
GRand pRand 
)

General-purpose constructor.

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

Member Function Documentation

double GClasses::GSaffron::meanNeighborCount ( double *  pDeviation)

Returns the mean number of neighbors for each point. If pDeviation is non-NULL, it is set to the deviation.

static double GClasses::GSaffron::measureAlignment ( double *  pA,
GMatrix pATan,
double *  pB,
GMatrix pBTan,
double  cap,
double  squaredRadius,
GRand pRand 
) [static, protected]
virtual void GClasses::GSaffron::neighbors ( size_t *  pOutNeighbors,
size_t  index 
) [virtual]

See the comment for GNeighborFinder::neighbors.

Implements GClasses::GNeighborFinder.

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

See the comment for GNeighborFinder::neighbors.

Implements GClasses::GNeighborFinder.


Member Data Documentation

double* GClasses::GSaffron::m_pDistances [protected]
bool GClasses::GSaffron::m_prune [protected]
size_t GClasses::GSaffron::m_rows [protected]