Class LaplacianEigenmap

java.lang.Object
smile.manifold.LaplacianEigenmap
All Implemented Interfaces:
Serializable

public class LaplacianEigenmap extends Object implements Serializable
Laplacian Eigenmap. Using the notion of the Laplacian of the nearest neighbor adjacency graph, Laplacian Eigenmap computes a low dimensional representation of the dataset that optimally preserves local neighborhood information in a certain sense. The representation map generated by the algorithm may be viewed as a discrete approximation to a continuous map that naturally arises from the geometry of the manifold.

The locality preserving character of the Laplacian Eigenmap algorithm makes it relatively insensitive to outliers and noise. It is also not prone to "short-circuiting" as only the local distances are used.

See Also:
  • Field Details

    • width

      public final double width
      The width of heat kernel.
    • index

      public final int[] index
      The original sample index.
    • coordinates

      public final double[][] coordinates
      The coordinate matrix in embedding space.
    • graph

      public final AdjacencyList graph
      Nearest neighbor graph.
  • Constructor Details

    • LaplacianEigenmap

      public LaplacianEigenmap(int[] index, double[][] coordinates, AdjacencyList graph)
      Constructor with discrete weights.
      Parameters:
      index - the original sample index.
      coordinates - the coordinates.
      graph - the nearest neighbor graph.
    • LaplacianEigenmap

      public LaplacianEigenmap(double width, int[] index, double[][] coordinates, AdjacencyList graph)
      Constructor with Gaussian kernel.
      Parameters:
      width - the width of heat kernel.
      index - the original sample index.
      coordinates - the coordinates.
      graph - the nearest neighbor graph.
  • Method Details

    • of

      public static LaplacianEigenmap of(double[][] data, int k)
      Laplacian Eigenmaps with discrete weights.
      Parameters:
      data - the input data.
      k - k-nearest neighbor.
      Returns:
      the model.
    • of

      public static LaplacianEigenmap of(double[][] data, int k, int d, double t)
      Laplacian Eigenmap with Gaussian kernel.
      Parameters:
      data - the input data.
      k - k-nearest neighbor.
      d - the dimension of the manifold.
      t - the smooth/width parameter of heat kernel exp(-||x-y||2 / t). Non-positive value means discrete weights.
      Returns:
      the model.
    • of

      public static <T> LaplacianEigenmap of(T[] data, Distance<T> distance, int k)
      Laplacian Eigenmaps with discrete weights.
      Type Parameters:
      T - the data type of points.
      Parameters:
      data - the input data.
      distance - the distance function.
      k - k-nearest neighbor.
      Returns:
      the model.
    • of

      public static <T> LaplacianEigenmap of(T[] data, Distance<T> distance, int k, int d, double t)
      Laplacian Eigenmap with Gaussian kernel.
      Type Parameters:
      T - the data type of points.
      Parameters:
      data - the input data.
      distance - the distance function.
      k - k-nearest neighbor.
      d - the dimension of the manifold.
      t - the smooth/width parameter of heat kernel exp(-||x-y||2 / t). Non-positive value means discrete weights.
      Returns:
      the model.