这是第325篇原创
1 t-SNE 背景介绍
最易被我们视觉观察到的维数是一维,二维和三维,四维及以上用图形表达都不会那么直观。
然而,现实情况却是随意拿个数据集,都有上千上百个维度。比如,经典的MNIST
维度是64
,所以使用二维的笛卡尔坐标系,注定无法绘制64个维度。
当我们想对高维数据集进行分类,但又不清楚这个数据集有没有很好的可分性(同类之间间隔小、异类之间间隔大)时,可以通过降维算法将数据投影到二维或三维空间中。
很久以前,就有人提出一种降维算法,主成分分析(PCA
) 降维法,中间其他的降维算法陆续出现,比如 多维缩放(MDS),线性判别分析(LDA),等度量映射(Isomap)。
等时间来到2008年,另外一个和我们比较熟悉的大牛 Geoffrey Hinton在 2008 年一同提出了t-SNE 算法。
他们改进SNE算法为t-SNE算法,并使它在降维领域得到更广泛的应用。
2 t-SNE 算法概述
全称为 t-distributed Stochastic Neighbor Embedding,翻译为 t分布-随机邻近嵌入
。
怎么理解这个名字?
首先,t-分布
是关于样本(而非总体)的