GClasses
|
A manifold learning algorithm that reduces dimensionality in local neighborhoods, and then stitches the reduced local neighborhoods together using the Kabsch algorithm.
#include <GManifold.h>
Public Member Functions | |
GBreadthFirstUnfolding (size_t reps, size_t neighborCount, size_t targetDims) | |
reps specifies the number of times to compute the embedding, and blend the results together. If you just want fast results, use reps=1. More... | |
GBreadthFirstUnfolding (GDomNode *pNode) | |
virtual | ~GBreadthFirstUnfolding () |
GRand & | rand () |
Returns a reference to the pseudo-random number generator used by this object. More... | |
virtual GMatrix * | reduce (const GMatrix &in) |
Perform NLDR. More... | |
GDomNode * | serialize (GDom *pDoc) const |
Serialize this object. More... | |
void | setNeighborFinder (GNeighborFinder *pNF) |
Specify the neighbor finder to use to pick neighbors for this algorithm. More... | |
void | useMds (bool b) |
Specify to use multi-dimensional scaling instead of PCA to reduce in local patches. More... | |
Public Member Functions inherited from GClasses::GTransform | |
GTransform () | |
GTransform (const GDomNode *pNode) | |
virtual | ~GTransform () |
Protected Member Functions | |
GMatrix * | reduceNeighborhood (const GMatrix *pIn, size_t index, GNeighborGraph *pNeighborGraph) |
void | refineNeighborhood (GMatrix *pLocal, size_t rootIndex, GNeighborGraph *pNeighborGraph) |
GMatrix * | unfold (const GMatrix *pIn, GNeighborGraph *pNeighborGraph, size_t seed, double *pOutWeights) |
Protected Member Functions inherited from GClasses::GTransform | |
virtual GDomNode * | baseDomNode (GDom *pDoc, const char *szClassName) const |
Child classes should use this in their implementation of serialize. More... | |
Static Protected Member Functions | |
static double | refinePoint (double *pPoint, double *pNeighbor, size_t dims, double distance, double learningRate, GRand *pRand) |
Moves "pPoint" so that it is closer to a distance of "distance" from "pNeighbor". "learningRate" specifies how much to move it (0=not at all, 1=all the way). Returns the squared distance between pPoint and pNeighbor. More... | |
Protected Attributes | |
size_t | m_neighborCount |
GNeighborFinder * | m_pNF |
GRand | m_rand |
size_t | m_reps |
size_t | m_targetDims |
bool | m_useMds |
GClasses::GBreadthFirstUnfolding::GBreadthFirstUnfolding | ( | size_t | reps, |
size_t | neighborCount, | ||
size_t | targetDims | ||
) |
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 | ) |
|
virtual |
|
inline |
Returns a reference to the pseudo-random number generator used by this object.
Perform NLDR.
Implements GClasses::GTransform.
|
protected |
|
protected |
|
staticprotected |
Moves "pPoint" so that it is closer to a distance of "distance" from "pNeighbor". "learningRate" specifies how much to move it (0=not at all, 1=all the way). Returns the squared distance between pPoint and pNeighbor.
void GClasses::GBreadthFirstUnfolding::setNeighborFinder | ( | GNeighborFinder * | pNF | ) |
Specify the neighbor finder to use to pick neighbors for this algorithm.
|
protected |
|
inline |
Specify to use multi-dimensional scaling instead of PCA to reduce in local patches.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |