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 Summary

    Fields
    Modifier and Type
    Field
    Description
    final double[][]
    The coordinate matrix in embedding space.
    final smile.graph.AdjacencyList
    Nearest neighbor graph.
    final int[]
    The original sample index.
    final double
    The width of heat kernel.
  • Constructor Summary

    Constructors
    Constructor
    Description
    LaplacianEigenmap(double width, int[] index, double[][] coordinates, smile.graph.AdjacencyList graph)
    Constructor with Gaussian kernel.
    LaplacianEigenmap(int[] index, double[][] coordinates, smile.graph.AdjacencyList graph)
    Constructor with discrete weights.
  • Method Summary

    Modifier and Type
    Method
    Description
    of(double[][] data, int k)
    Laplacian Eigenmaps with discrete weights.
    of(double[][] data, int k, int d, double t)
    Laplacian Eigenmap with Gaussian kernel.
    static <T> LaplacianEigenmap
    of(T[] data, smile.math.distance.Distance<T> distance, int k)
    Laplacian Eigenmaps with discrete weights.
    static <T> LaplacianEigenmap
    of(T[] data, smile.math.distance.Distance<T> distance, int k, int d, double t)
    Laplacian Eigenmap with Gaussian kernel.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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 smile.graph.AdjacencyList graph
      Nearest neighbor graph.
  • Constructor Details

    • LaplacianEigenmap

      public LaplacianEigenmap(int[] index, double[][] coordinates, smile.graph.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, smile.graph.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.
      d - the dimension of the manifold.
      k - k-nearest neighbor.
      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, smile.math.distance.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, smile.math.distance.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.