NeuralEngine A Game Engine with embeded Machine Learning algorithms based on Gaussian Processes. |

Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
NeuralEngine::MachineLearning::Isomap Class Reference

Isomap. More...

`#include <FgIsomap.h>`

Inheritance diagram for NeuralEngine::MachineLearning::Isomap:
[legend]
Collaboration diagram for NeuralEngine::MachineLearning::Isomap:
[legend]

## Classes
struct | Xstruct

## Public Member Functions
| Isomap (int numNeighbours)
| Constructor. More...
| ~Isomap ()
| Destructor. More...
af::array | Compute (af::array &M, int q)
| Solves. More...
virtual af::array | Compute (af::array &M, int q)=0

## Private Member Functions
Xstruct | isomap (af::array &D, int n_size, int q)
af::array | L2_distance (af::array &a, af::array &b, bool df)

## Private Attributes
int | _numNeighbours

## Detailed Description

Isomap.

Isomap is one representative of isometric mapping methods, and extends metric multidimensional scaling (MDS) by incorporating the geodesic distances imposed by a weighted graph. To be specific, the classical scaling of metric MDS performs low-dimensional embedding based on the pairwise distance between data points, which is generally measured using straight-line Euclidean distance. Isomap is distinguished by its use of the geodesic distance induced by a neighborhood graph embedded in the classical scaling. This is done to incorporate manifold structure in the resulting embedding. Isomap defines the geodesic distance to be the sum of edge weights along the shortest path between two nodes (computed using Dijkstra's algorithm, for example). The top n eigenvectors of the geodesic distance matrix, represent the coordinates in the new n-dimensional Euclidean space.

Translation of Tenenbaum, de Silva, and Langford' Matlab code.

Algorithm:

1. Determine the neighbors of each point.
   - All points in some fixed radius.
   - K nearest neighbors.
2. Construct a neighborhood graph.
   - Each point is connected to other if it is a K nearest neighbor.
   - Edge length equal to Euclidean distance.
3. Compute shortest path between two nodes.
   - Dijkstra's algorithm
   - Floyd–Warshall algorithm
4. Compute lower - dimensional embedding.
   - Multidimensional scaling

Definition at line 86 of file FgIsomap.h.

## Constructor & Destructor Documentation

## ◆ Isomap()

NeuralEngine::MachineLearning::Isomap::Isomap | ( | int | numNeighbours | ) |

Constructor.

Hmetal T, 17.04.2017.

Parameters

  neighbours | The number of neighbours to compute.

## ◆ ~Isomap()

NeuralEngine::MachineLearning::Isomap::~Isomap | ( |  | ) |

Destructor.

Hmetal T, 17.04.2017.

## Member Function Documentation

## ◆ Compute()

af::array NeuralEngine::MachineLearning::Isomap::Compute | ( | af::array & | M,
|  | int | q
| ) |  |
| virtual

Solves.

Hmetal T, 11.04.2017.

Parameters

  M | [in,out] N by D data matrix.
  q | Latent dimension.

Returns
  Latent points.

Implements NeuralEngine::MachineLearning::IEmbed.

## Member Data Documentation

## ◆ _numNeighbours

int NeuralEngine::MachineLearning::Isomap::_numNeighbours
| private

Definition at line 128 of file FgIsomap.h.

The documentation for this class was generated from the following file:

- FgIsomap.h