My goal is to publish all the slides (well maybe not my first and worst ones) I’ve made over the years for our lab’s reading group. To this end, I’ve posted some old slides (from 2015) that describe in detail the t-SNE algorithm described in this paper:

Maaten, L. van der, & Hinton, G. (2008). Visualizing Data using t-SNE. Journal of Machine Learning Research (JMLR), 9, 2579–2605. [pdf]

The authors proposed t-SNE back in 2008. But it seems to have had a sort of revival these last few years, likely due to the number of deep learning papers using it to visualize learned features.

## t-SNE: converts many numbers to a few

t-SNE converts high-dimensional data (i.e., a vector with many numbers) to low (2 or 3) dimensional data (i.e., a vector with only 2-3 numbers). This is mostly useful for us humans to spot patterns in data, since we have a hard time visualizing data with >2 dimensions. t-SNE is also unsupervised, meaning it does not consider the class labels.

There are many, many ways to transform high-dimensional data to low-dimensions, but t-SNE seems to yield better visualizations than many of the others, and from what I’ve seen, is now one of the more commonly used methods. If you need to choose an algorithm for visualization purposes, t-SNE should be your first and default choice.

The key idea in t-SNE is to learn a distribution in low-dimensional space that respects the local distributions in high-dimensions. This statement is probably confusing, and is hopefully better explained in the slides.

So here are the slides. Like always, feel free to download the t-SNE slides (PDF, pptx available), and modify to suit your needs (a link back to this page would be nice).

If you notice any mistakes, feel free to post them below.