public class TSNE
extends java.lang.Object
The t-SNE algorithm comprises two main stages. First, t-SNE constructs a probability distribution over pairs of high-dimensional objects in such a way that similar objects have a high probability of being picked, whilst dissimilar points have an infinitesimal probability of being picked. Second, t-SNE defines a similar probability distribution over the points in the low-dimensional map, and it minimizes the Kullback–Leibler divergence between the two distributions with respect to the locations of the points in the map. Note that while the original algorithm uses the Euclidean distance between objects as the base of its similarity metric, this should be changed as appropriate.
Modifier and Type | Field and Description |
---|---|
double[][] |
coordinates
Coordinate matrix.
|
Constructor and Description |
---|
TSNE(double[][] X,
int d)
Constructor.
|
TSNE(double[][] X,
int d,
double perplexity,
double eta,
int iterations)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
update(int iterations)
Performs additional iterations.
|
public TSNE(double[][] X, int d)
X
- input data. If X is a square matrix, it is assumed to be the squared distance/dissimilarity matrix.d
- the dimension of embedding space.public TSNE(double[][] X, int d, double perplexity, double eta, int iterations)
X
- input data. If X is a square matrix, it is assumed to be the squared distance/dissimilarity matrix.d
- the dimension of embedding space.perplexity
- the perplexity of the conditional distribution.eta
- the learning rate.iterations
- the number of iterations.