GClasses

GClasses::GBreadthFirstUnfolding Class Reference

A manifold learning algorithm that reduces dimensionality in local neighborhoods, and then stitches the reduced local neighborhoods together using the Kabsch algorithm. More...

#include <GManifold.h>

Inheritance diagram for GClasses::GBreadthFirstUnfolding:
GClasses::GManifoldLearner GClasses::GTransform

List of all members.

Public Member Functions

 GBreadthFirstUnfolding (size_t reps, size_t neighborCount, size_t targetDims, GRand *pRand)
 reps specifies the number of times to compute the embedding, and blend the results together. If you just want fast results, use reps=1.
 GBreadthFirstUnfolding (GDomNode *pNode, GLearnerLoader &ll)
virtual ~GBreadthFirstUnfolding ()
GDomNodeserialize (GDom *pDoc)
 Serialize this object.
void setNeighborFinder (GNeighborFinder *pNF)
 Specify the neighbor finder to use to pick neighbors for this algorithm.
virtual GMatrixdoit (GMatrix &in)
 Perform NLDR.
void useMds (bool b)
 Specify to use multi-dimensional scaling instead of PCA to reduce in local patches.

Protected Member Functions

void refineNeighborhood (GMatrix *pLocal, size_t rootIndex, size_t *pNeighborTable, double *pDistanceTable)
GMatrixreduceNeighborhood (GMatrix *pIn, size_t index, size_t *pNeighborhoods, double *pSquaredDistances)
GMatrixunfold (GMatrix *pIn, size_t *pNeighborTable, double *pSquaredDistances, size_t seed, double *pOutWeights)

Protected Attributes

size_t m_reps
size_t m_neighborCount
size_t m_targetDims
GNeighborFinderm_pNF
bool m_useMds
GRandm_pRand

Detailed Description

A manifold learning algorithm that reduces dimensionality in local neighborhoods, and then stitches the reduced local neighborhoods together using the Kabsch algorithm.


Constructor & Destructor Documentation

GClasses::GBreadthFirstUnfolding::GBreadthFirstUnfolding ( size_t  reps,
size_t  neighborCount,
size_t  targetDims,
GRand pRand 
)

reps specifies the number of times to compute the embedding, and blend the results together. If you just want fast results, use reps=1.

GClasses::GBreadthFirstUnfolding::GBreadthFirstUnfolding ( GDomNode pNode,
GLearnerLoader ll 
)
virtual GClasses::GBreadthFirstUnfolding::~GBreadthFirstUnfolding ( ) [virtual]

Member Function Documentation

virtual GMatrix* GClasses::GBreadthFirstUnfolding::doit ( GMatrix in) [virtual]

Perform NLDR.

Implements GClasses::GTransform.

GMatrix* GClasses::GBreadthFirstUnfolding::reduceNeighborhood ( GMatrix pIn,
size_t  index,
size_t *  pNeighborhoods,
double *  pSquaredDistances 
) [protected]
void GClasses::GBreadthFirstUnfolding::refineNeighborhood ( GMatrix pLocal,
size_t  rootIndex,
size_t *  pNeighborTable,
double *  pDistanceTable 
) [protected]
GDomNode* GClasses::GBreadthFirstUnfolding::serialize ( GDom pDoc)

Serialize this object.

void GClasses::GBreadthFirstUnfolding::setNeighborFinder ( GNeighborFinder pNF)

Specify the neighbor finder to use to pick neighbors for this algorithm.

GMatrix* GClasses::GBreadthFirstUnfolding::unfold ( GMatrix pIn,
size_t *  pNeighborTable,
double *  pSquaredDistances,
size_t  seed,
double *  pOutWeights 
) [protected]
void GClasses::GBreadthFirstUnfolding::useMds ( bool  b) [inline]

Specify to use multi-dimensional scaling instead of PCA to reduce in local patches.


Member Data Documentation