一、t-SNE的背景与目标
1. 什么是降维?
降维是将高维数据(如图像、文本嵌入等)映射到低维空间(如二维或三维),以便于分析、可视化或降低计算复杂度。常见的降维方法包括:
- 线性方法:如主成分分析(PCA)、线性判别分析(LDA)。
- 非线性方法:如t-SNE、UMAP、Isomap。
t-SNE特别适合数据可视化,因为它能捕捉数据的局部结构(即高维空间中相似点的邻近关系),并在低维空间中尽可能保留这些关系。
2. t-SNE的目标
t-SNE的目标是将高维空间中的数据点映射到低维空间,使得:
- 局部结构保留:高维空间中相邻的点在低维空间中仍保持接近。
- 全局结构次要:t-SNE更关注局部邻居关系,可能会牺牲全局结构(如不同簇之间的相对距离)。
- 可视化友好:生成二维或三维的可视化结果,直观展示数据的分布和簇结构。
3. t-SNE与PCA的区别
- PCA:线性方法,基于方差最大化,适合全局结构保留,但对非线性结构无能为力。
- t-SNE:非线性方法,专注于局部结构保留,适合复杂数据的可视化,但不适合直接用于特征提取或回归任务。
二、t-SNE的数学原理
t-SNE的核心思想是将高维空间中点之间的相似性(以概率形式表示)转化为低维空间中的相似性,并通过优化使两者的分布尽可能接近。以下是详细的数学推导。
1. 高维空间中的相似性
t-SNE首先在高维空间中计算数据点之间的相似性,定义为条件概率。
假设有 n n n 个高维数据点 { x 1 , x 2 , … , x n } \{x_1, x_2, \dots, x_n\} {
x1,x2,…,xn},每个点的维度为 D D D。t-SNE的目标是计算点 x i x_i xi 和 x j x_j xj 的相似性,表示为条件概率 p j ∣ i p_{j|i} pj∣i:
p j ∣ i = exp ( − ∥ x i − x j ∥ 2 / 2 σ i 2 ) ∑ k ≠ i exp ( − ∥ x i − x k ∥ 2 / 2 σ i 2 ) p_{j|i} = \frac{\exp\left(-\|x_i - x_j\|^2 / 2\sigma_i^2\right)}{\sum_{k \neq i} \exp\left(-\|x_i - x_k\|^2 / 2\sigma_i^2\right)} pj∣i=∑k=iexp(−∥xi−xk∥2/2σi2)exp(−∥xi−xj∥2/2σi2)
- 含义: p j ∣ i p_{j|i} pj∣i 表示在高维空间中,点 x j x_j xj 被选为 x i x_i xi 的邻居的概率。
- 高斯核:相似性基于高斯分布,距离越近,概率越高。
- σ i \sigma_i σi:每个点 x i x_i