Question 1:什么是t-SNE?
t-Distributed Stochastic Neighbor Embedding (t-SNE) 是一种非线性降维技术,特别适用于高维数据集的可视化。它广泛应用于图像处理、NLP、基因组数据和语音处理。
t-SNE 工作原理如下:算法首先计算点在高维空间中的相似概率,然后计算相应低维空间中点的相似概率。点的相似性计算为条件概率,如果在以 A 为中心的高斯(正态分布)下按其概率密度按比例选择邻居,则点 A 将选择点 B 作为其邻居。然后,它尝试最小化高维空间和低维空间中这些条件概率(或相似性)之间的差异,以完美地表示低维空间中的数据点。
为了测量条件概率差之和的最小化,t-SNE使用梯度下降法最小化总体数据点的Kullback-Leibler 散度之和。(Kullback-Leibler 散度是衡量一个概率分布如何偏离第二个预期概率分布的方法)
简单来说,t-SNE最小化了两个分布之间的差异:一个分布测量输入对象的成对相似性,一个分布测量嵌入中相应低维点的成对相似性。通过这种方式,t-SNE 将多维数据映射到较低维空间,并尝试通过基于具有多个特征的数据点的相似性识别观察到的集群来找到数据中的模式。但是,经过这个过程,输入的特征就不再可识别了,你不能仅仅根据 t-SNE 的输出做出任何推断。因此它主要是一种数据探索和可视化技术。
Question 2:t-SNE与PCA有什么区别?
PCA 和 t-SNE 各有优缺点,PCA 和 t-SNE 之间的一些主要区别如下:
①t-SNE 的计算成本很高,在百万样本数据集上可能需要几个小时,而 PCA 将在几秒