t-distributed stochastic neighbor embedding(t-SNE)是一种机器学习中的降维方法,是由Laurens van der Maaten 和Geoffrey Hinton提出的。这是一种将高维数据降维到两维后者三维的非线性降维方法,并且可以通过点可视化出来。这个方法在DeepLearning4J的官方文档中有提到,在训练一个高维数据的时候,有助于我们观察数据。
t-SNE算的两个核心思想:第一,t-SNE构建了一个概率分布,这个概率分布的含义是相似的高维数据点具有高概率be picked,而差异比较大的点被picked的概率低。第二,t-SNE在低维图中这些点上定义了一个概率分布,最大限度地减少了两个高维点在低维图上的相对熵。注意,原本的算法使用的是欧式距离作为其相似性度量的,这里的相似度度量算法可以被替换。
算法简单的细节
在原高维空间用高斯核函数(远的点相似性以指数下降)度量了两两点之间的相似度:
在映射后低维空间也用高斯核函数度量两两点之间的相似度: