【转载】   使用t-SNE可视化图像embedding_杂谈




================================================





t-SNE(t-Distributed Stochastic Neighbor Embedding)是一种非常流行的非线性降维技术,主要用来对高维数据进行可视化。

本文将尽可能是使用简单的数学公式描述出t-SNE的工作原理,并给出使用t-SNE对图像的embedding进行可视化的code sample。



什么是t-SNE

 【转载】   使用t-SNE可视化图像embedding_概率分布_02




为了达到这一目的,t-sne将原始空间的相似性建模为概率密度。并且相似性的分布方式由高斯分布给出。简而言之,在原始空间中,某个点和其他点的相似度可以用一个概率密度分布来表示:


【转载】   使用t-SNE可视化图像embedding_概率分布_03



 【转载】   使用t-SNE可视化图像embedding_概率密度_04


 【转载】   使用t-SNE可视化图像embedding_概率分布_05




在降维后的空间中,我们用学生t分布(Student's t-distribution)代替高斯分布,因为学生t分布有更粗的尾巴,能够保留更多较远的距离的相似度。所以在降维后的目标空间中,联合概率分布为如下形式:

【转载】   使用t-SNE可视化图像embedding_相似度_06






我们的目的是为了让这个两个概率分布尽可能的相似,这样就说明在降维后的数据分布和原始空间的数据分布基本一致,因此使用KL散度进行度量这两个分布之间的相似度:

【转载】   使用t-SNE可视化图像embedding_杂谈_07




【转载】   使用t-SNE可视化图像embedding_概率密度_08


 【转载】   使用t-SNE可视化图像embedding_概率密度_09






================================




参考文献:

[1] Maaten, Laurens van der, and Geoffrey Hinton. “Visualizing data using t-SNE.” Journal of machine learning research 9.Nov (2008): 2579-2605