Package smile.manifold
Class LaplacianEigenmap
java.lang.Object
smile.manifold.LaplacianEigenmap
- All Implemented Interfaces:
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.
-
Field Summary
FieldsModifier and TypeFieldDescriptionfinal 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
ConstructorsConstructorDescriptionLaplacianEigenmap
(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 TypeMethodDescriptionstatic LaplacianEigenmap
of
(double[][] data, int k) Laplacian Eigenmaps with discrete weights.static LaplacianEigenmap
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.
-
Field Details
-
width
public final double widthThe width of heat kernel. -
index
public final int[] indexThe original sample index. -
coordinates
public final double[][] coordinatesThe coordinate matrix in embedding space. -
graph
public final smile.graph.AdjacencyList graphNearest 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
Laplacian Eigenmaps with discrete weights.- Parameters:
data
- the input data.k
- k-nearest neighbor.- Returns:
- the model.
-
of
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
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.
-