|
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 |