================================================
t-SNE(t-Distributed Stochastic Neighbor Embedding)是一种非常流行的非线性降维技术,主要用来对高维数据进行可视化。
本文将尽可能是使用简单的数学公式描述出t-SNE的工作原理,并给出使用t-SNE对图像的embedding进行可视化的code sample。
什么是t-SNE
为了达到这一目的,t-sne将原始空间的相似性建模为概率密度。并且相似性的分布方式由高斯分布给出。简而言之,在原始空间中,某个点和其他点的相似度可以用一个概率密度分布来表示:
在降维后的空间中,我们用学生t分布(Student's t-distribution)代替高斯分布,因为学生t分布有更粗的尾巴,能够保留更多较远的距离的相似度。所以在降维后的目标空间中,联合概率分布为如下形式:
我们的目的是为了让这个两个概率分布尽可能的相似,这样就说明在降维后的数据分布和原始空间的数据分布基本一致,因此使用KL散度进行度量这两个分布之间的相似度:
================================
参考文献:
[1] Maaten, Laurens van der, and Geoffrey Hinton. “Visualizing data using t-SNE.” Journal of machine learning research 9.Nov (2008): 2579-2605