swMATH ID: 
34901

Software Authors: 
George C. Linderman, Manas Rachh, Jeremy G. Hoskins, Stefan Steinerberger, Yuval Kluger

Description: 
Fast Fourier Transformaccelerated Interpolationbased tSNE (FItSNE). tStochastic Neighborhood Embedding (tSNE) is a highly successful method for dimensionality reduction and visualization of high dimensional datasets. A popular implementation of tSNE uses the BarnesHut algorithm to approximate the gradient at each iteration of gradient descent. We accelerated this implementation as follows: Computation of the Nbody Simulation: Instead of approximating the Nbody simulation using BarnesHut, we interpolate onto an equispaced grid and use FFT to perform the convolution, dramatically reducing the time to compute the gradient at each iteration of gradient descent. See the this post for some intuition on how it works. Computation of Input Similarities: Instead of computing nearest neighbors using vantagepoint trees, we approximate nearest neighbors using the Annoy library. The neighbor lookups are multithreaded to take advantage of machines with multiple cores. Using ”near” neighbors as opposed to strictly ”nearest” neighbors is faster, but also has a smoothing effect, which can be useful for embedding some datasets (see Linderman et al. (2017)). If subtle detail is required (e.g. in identifying small clusters), then use vantagepoint trees (which is also multithreaded in this implementation). 
Homepage: 
https://arxiv.org/abs/1712.09005

Source Code: 
https://github.com/KlugerLab/FItSNE

Related Software: 
LargeVis;
Scikit;
UMAP;
Multicoretsne;
COIL100;
Numba;
UCIml;
MNIST;
oocPCA;
FixMatch;
DeepView;
ReMixMatch;
openTSNE;
TriMap;
tSNE;
largeVis;
word2vec;
darch

Cited in: 
1 Document
