Skip to content

导论:高维诅咒与低维流形 ​

维数灾难(Curse of Dimensionality)是高维数据的根本困境:随着维度的增长,数据在空间中呈指数级稀疏化,距离度量失效,计算呈指数增长。降维(Dimensionality Reduction)的核心目标是在保留数据本质结构的前提下,将高维空间中的点映射到低维表示空间。

根据保留结构的性质,降维方法分为两大阵营:

  • 线性降维(如 PCA):假设高维数据分布在一个线性子空间中,寻找正交投影方向。
  • 非线性降维(流形学习,如 t-SNE、UMAP):假设高维数据分布在低维非线性流形上,试图展开并嵌入该流形,以保留局部或全局的邻域关系。

第一部分:PCA(主成分分析)—— 线性方差最大化的黄金标准 ​

主成分分析(Principal Component Analysis)由 Pearson(1901)和 Hotelling(1933)奠定,是统计学上最古老、应用最广泛的线性降维技术。它本质上是将数据协方差矩阵对角化。

1.1 严格定义的双重等价视角 ​

视角一:方差最大化(最大投影方差) 寻找第一个主成分方向 w1(单位向量,∥w1∥=1),使得数据投影 Xw1 的样本方差最大。中心化数据矩阵 X∈Rn×d(每列均值为 0),协方差矩阵为 Σ=1nXTX∈Rd×d。目标函数:

maxw1w1TΣw1,s.t. w1Tw1=1

由瑞利-里兹定理,最优解为 Σ 的最大特征值 λ1 对应的特征向量。后续主成分依次取与之前所有方向正交且方差最大的特征向量。

视角二:最小化重构误差(最小化投影损失) 寻找 k 维投影子空间,使得原始数据到该子空间的欧氏距离平方和最小。数学上等价于:

minW∈Rd×k,WTW=Ik∥X−XWWT∥F2

由 Eckart-Young 定理,其最优解同样为取协方差矩阵前 k 大特征值对应的特征向量张成的子空间。

1.2 基于 SVD 的数值计算方法 ​

在实际计算中,无需显式计算协方差矩阵。对中心化后的数据矩阵 X 进行奇异值分解:X=UΣVT,则右奇异矩阵 V 的列恰好为主成分方向(特征向量),奇异值 σi=nλi。低维嵌入为 Z=XVk。

1.3 主成分贡献率 ​

第 i 个主成分解释的方差比例为 λi/∑j=1dλj。通常选取累计贡献率达到 95% 的 k 个主成分。

深刻理解:PCA 是无监督的,且假设了数据的高斯性和线性结构。它是一种正交投影变换,变换后的各维度线性无关(协方差为零)。然而,PCA 对数据缩放极度敏感(标准化是强制步骤),且无法处理非线性流形。在 ML 中,它常用于可视化预处理、白化(Whitening)、特征压缩和去噪。


第二部分:SNE 与 t-SNE —— 概率化局部邻域保护的革命 ​

t-SNE(t-Distributed Stochastic Neighbor Embedding)由 Maaten 与 Hinton 于 2008 年提出,是迄今为止最著名的高维数据可视化利器。其核心思想是:如果两个高维点相似,那么它们在低维空间中的投影也必须相似。

2.1 从 SNE 出发:条件概率与不对称性 ​

SNE(Stochastic Neighbor Embedding)将高维空间中欧氏距离转化为条件概率来表示相似度。对于点 xi,其选择 xj 为“邻居”的概率(以高斯核为度量):

pj|i=exp⁡(−∥xi−xj∥2/2σi2)∑k≠iexp⁡(−∥xi−xk∥2/2σi2)

此处 σi 由困惑度(Perplexity,通常取值 5~50)决定,控制了每个点的有效邻居数。在低维空间 y 中,SNE 同样定义 qj|i,并使两个分布尽可能一致,通过最小化所有点的 KL 散度之和:

∑iKL(Pi∥Qi)=∑i∑jpj|ilog⁡pj|iqj|i

2.2 t-SNE 的两大关键突破 ​

突破一:对称化(Symmetrization) SNE 的条件概率是不对称的(pj|i≠pi|j),导致梯度计算复杂且易受离群点干扰。t-SNE 定义联合概率分布 pij=pj|i+pi|j2n,并归一化使其总和为 1,从而将目标简化为对称 KL 散度 KL(P∥Q)。

突破二:低维空间使用 t 分布(重尾分布)解决“拥挤问题” 在高维空间中,中低距离的点对数量远多于极近点对。若低维空间继续使用高斯分布,这些中等距离的点会被挤在有限的二维平面中心,形成“拥挤”(Crowding)现象,难以区分聚类。t-SNE 在低维空间中使用学生 t 分布(自由度 = 1,即标准柯西分布):

qij=(1+∥yi−yj∥2)−1∑k≠l(1+∥yk−yl∥2)−1

t 分布的尾部比高斯分布更“重”。它意味着:在低维空间中,即使两个点之间的距离被放大,仍能保持较高的相似度 qij。这有效地将“中距离”的推远,而将“近距离”的拉得更近,从而在二维平面上形成清晰的簇间分离。

2.3 梯度下降与本质局限 ​

t-SNE 的梯度具有明确的物理意义:它表现为高维空间“引力”与低维空间“斥力”的合力。然而,t-SNE 有以下致命伤:

  • 计算复杂度 O(n2),无法处理百万级数据(Barnes-Hut 近似可降至 O(nlog⁡n),但依然很慢)。
  • 随机初始化导致不确定性:不同随机种子可能收敛到不同的全局结构,因此它不能用于比较不同运行的结果。
  • 局部结构保留优于全局结构:t-SNE 主要保留小距离邻域,而全局距离(如簇间相对位置)在缩放和旋转意义下无意义,不可用于推断聚类大小或距离的相对差异。

第三部分:UMAP(Uniform Manifold Approximation and Projection)—— 拓扑学视角下的统一流形 ​

UMAP 由 McInnes 等人在 2018 年提出,是近年来最强大的非线性降维技术,在计算速度和全局结构保留方面全面超越 t-SNE。它的根基建立在黎曼几何和**代数拓扑(单纯集,Simplicial Sets)**之上。

3.1 流形与模糊拓扑表示 ​

UMAP 假设数据在高维空间中均匀分布在紧致黎曼流形上,并试图找到一个与该流形在拓扑上等价(同胚)的低维嵌入。

  • 构建模糊拓扑表示(高维空间):对于每个点 xi,计算其到第 k 近邻的距离 ρi。定义局部连通性半径,并构建一个模糊单纯集(Fuzzy Simplicial Complex)。高维空间中的“开集”关系被量化为一个模糊的隶属概率 μij,度量了 xi 与 xj 属于同一局部邻域的可能性。
  • 低维嵌入的模糊表示:低维空间中对应点 yi,yj 之间的相似度 νij 使用与 t-SNE 类似的函数,但 UMAP 使用的是无归一化的交叉熵目标。

3.2 交叉熵损失与受力分析(数学核心) ​

UMAP 的最小化目标为两个模糊集之间的交叉熵(而非 KL 散度):

L=∑i≠j[μijlog⁡μijνij+(1−μij)log⁡1−μij1−νij]

这个损失函数具有极强的几何解释:

  • 第一项(吸引力):当 μij 大(高维邻居)且 νij 小(低维距离远)时,产生极大的吸引力,将相似点拉近。
  • 第二项(排斥力):当 μij 小(高维非邻居)且 νij 大(低维距离近)时,产生强烈的排斥力,将不相似的点推开。

决定性区别:与 t-SNE 的归一化 softmax 不同,UMAP 的损失没有分母归一化约束。这意味着,只要两点在低维空间中已经足够远(νij→0),即使 μij 很小,排斥力项也会迅速衰减为 0。这导致 UMAP 不强制“全局距离上的归一化竞争”,从而能够更好地保留数据的全局结构(如簇间的大尺度距离关系),这是相对于 t-SNE 在全局结构保留上的根本性进步。

3.3 加速策略与实用优势 ​

  • 随机梯度下降(SGD)与负采样:借鉴 word2vec 的思想,UMAP 不计算全量 O(n2) 的损失,而是对非邻居进行随机负采样,使复杂度接近 O(n1.14),极其适合百万级数据。
  • 无随机种子不稳定困扰:虽然也依赖随机初始化,但其全局结构偏好使其具有更高的重复性。
  • 可扩展的嵌入维度:UMAP 不限于 2D/3D,理论上可生成任意维度的嵌入,常被用作特征工程中的预处理降维步骤。

第四部分:宏观对比与选择哲学 ​

维度PCAt-SNEUMAP
数学根基线性代数(特征分解)概率分布(KL散度)拓扑流形(模糊单纯集)
保留结构全局方差结构局部邻域(极近邻)局部 + 全局(平衡较好)
计算复杂度O(d3+nd2)(快速)O(n2)(极慢,10万点即极限)O(n1.14)(极快,百万级可行)
确定性解析解,确定性极高随机初始化,高度不确定随机初始化,中等稳定性
距离解释性主成分负载有明确含义簇间距离无意义,不可解释簇间相对距离部分可信
主流用途数据去噪、特征压缩、预处理高维数据二维可视化(定性)可视化 + 通用降维特征提取

选择法则:

  • 如果你需要解释变量重要性、处理共线性、或作为监督学习的输入预处理,选 PCA。
  • 如果你只需将高维数据画在二维散点图上做定性观察(如检查聚类趋势),且数据量小于 5 万,t-SNE 仍是视觉上分离簇最锋利的工具。
  • 如果你需要高保真地将数据降到 5~50 维输入下游模型,或数据量巨大(几十万级)且希望同时保留局部聚类和全局拓扑,UMAP 是无可争议的现代首选。

结语:窥见高维世界的投影仪 ​

降维的核心困境在于信息保真度的不可兼得(No Free Lunch Theorem for manifolds):没有一种降维算法能在保持任意结构(距离、邻域、拓扑、密度)的同时压缩维度。

  • PCA 是精确的线性眼——基于协方差的平方结构。
  • t-SNE 是极端的局部放大镜——牺牲全局拓扑以换取极其清晰的视觉分组。
  • UMAP 是均衡的拓扑重建者——用量子叠加般的模糊集,在计算效率和结构保真间找到了黄金分割点。

理解它们,不仅是为了按需调用 sklearn.decomposition.PCA 或 umap.UMAP,而是为了理解一个深刻的哲学命题:数据本身并没有固有的“真实维度”,维度只是观测者为了认知便利而对流形施加的投影坐标。 降维算法的历史,正是人类试图为高维混沌赋予几何秩序的精妙史诗。