从欧氏空间到流形拓扑:高维数据的降维之旅
降维的动机与背景
这篇文章中的问题也可以和线性回归基础:线性模型、最小二乘估计与回归诊断、统计计算:随机数生成、随机变量模拟与蒙特卡洛方法放在一起阅读,以比较相近的概念如何在不同语境中展开。
高维数据的挑战
现代数据科学与机器学习常常要处理成百上千甚至更高维度的数据。维度(即特征数量)一旦接近或超过样本量,便形成常见的 “高维小样本” 场景:传统依赖“样本量远大于维度”的统计方法,其有效性、稳定性与可解释性都会受到考验。
高维并非低维数据的简单推广。它同时带来计算、感知与统计三方面的挑战:遍历特征子集或进行复杂估计的成本迅速上升;人类难以直接把握高维几何结构;而有限样本在更大的空间中愈发稀疏,许多依赖局部邻域或分布估计的经典方法也因此失稳。
维数灾难:从 kNN 到
最具代表性的困难是 “维数灾难” (Curse of Dimensionality)。随着维数增长,为维持相同的采样密度,所需样本量会急剧增加;高维中最近邻与最远邻的距离差异又趋于缩小,使距离本身逐渐失去区分度。
以 k 近邻(kNN)为例,它根据距离选取与测试样本最接近的 个训练样本,再通过投票或加权平均进行预测;其有效性依赖足够密集的样本和能区分邻近关系的距离度量。但当空间变得稀疏,核密度估计、kNN 等在低维中稳健的方法,要么需要近乎爆炸式增长的样本量,要么会因方差扩大而变得不可靠。
经验上常以“每个维度至少约 5 个观测值”作为可靠建模的粗略门槛;若特征数为 ,相应的经验基线约为 个观测。但在基因表达、文本挖掘等应用中,普遍存在 的情形,这一要求往往无法满足。
高维统计的应对框架
高维统计并没有简单地放弃传统框架,而是通过结构假设与新的理论工具重新组织分析流程。探索性数据分析(EDA)可以先用相关性分析、聚类和异常检测探索潜在模式,为后续假设提供经验依据;正则化则以适度偏差换取更低方差,使有限样本下的预测更稳定。
稀疏性与低秩性等结构假设,进一步让变量选择、协方差估计和高维推断重新具备可识别性与统计保证。在这些条件下,渐近与非渐近理论不再要求“固定维度、样本量趋于无穷”,而允许维度与样本量同步增长,为稀疏回归、图模型学习等方法提供理论基础。
这也说明高维并不只是“诅咒”。它迫使我们关注计算可行性、统计效率与可解释性之间的平衡,同时也可能带来更好的线性可分性,并为核方法等思路提供空间。关键不在于机械地增加或减少维度,而在于识别数据中真正可利用的结构。
降维为何成为关键手法
在这些应对手段中,降维(Dimensionality Reduction) 尤其重要:它将高维数据投向更紧凑的表示,在可控的信息损失下保留有意义的几何、距离或局部邻域结构,从而服务于可视化、探索、计算与后续建模。它既可以寻找有效的低维子空间,也可以揭示潜在的非线性流形。
下文不再重复铺开整个高维统计谱系,而是从保持全局结构的传统方法出发,逐步讨论更常用的降维路线及其数学直觉。对已经在其他笔记中展开过的 PCA、AE 等内容,这里仍以应用层面的回顾和比较为主,不重复理论推导。
保持全局结构的传统方法
早期的降维技术主要关注如何保持数据点之间的全局几何关系(如欧氏距离)。
多维缩放(MDS):距离的忠实还原
MDS(Multiple Dimensional Scaling)是保留距离的经典算法。它的直觉很朴素:如果两个点在高维空间距离很远,在低维空间也应该很远。
假定 个样本在原始空间的距离矩阵为 ,分量为 。我们的目标是找到低维映射 ,使得 。
数学上,通过构建内积矩阵 ,利用余弦定理推导:
其中 等表示行或列的均值。对矩阵 进行特征值分解:
取最大的几个特征值对应的特征向量,即可得到坐标。
MDS 的主要局限在于:它试图保留所有点对之间的距离,这种对欧式距离(也可能是其他距离)的严苛要求很容易出错。处理非线性数据(如卷曲的瑞士卷)时,欧氏距离本身就可能是错误度量:两个在卷曲面上空间距离近的点,在流形上实际可能很远。
PCA 与 KPCA:从线性到核技巧
PCA(主成分分析) 已经有过详细介绍,这里只把它放回降维的宏观视角中简要讨论。需要重申的是,PCA 等价于使用欧氏距离的 MDS。它寻找最大方差方向,保留的是数据的全局线性结构。
当线性投影失效时,核化线性降维(KPCA)引入了”核技巧”(Kernel Trick)。其直觉是:将低维线性不可分的数据映射到高维(甚至无穷维)空间,使其变得线性可分。
在形式上,通过求解 并在计算中利用核函数 替代直接的内积计算。虽然把数据映射到更高维看似反直觉,但它为 PCA 引入了非线性处理能力,是连接传统统计方法与流形学习的桥梁。
流形学习与概率图模型(现代降维核心)
当数据分布在曲面(流形)上时,就需要流形学习(Manifold Learning)。它关注的是:保留局部邻域结构,弱化遥远的全局距离。 至于流形本身是什么,拓扑学中有更详细的讨论。
t-SNE:从距离到概率分布
t-SNE (t-Distributed Stochastic Neighbor Embedding) 是深度学习时代前夜影响很大的数据可视化技术。它不再执着于“保持距离”的硬性约束,而是转向“保持概率分布”。
技术直觉与数学形式
高维空间的邻居概率(高斯分布):在高维空间,如果不直接用距离,而是问:点 是点 的邻居的概率是多少?我们使用高斯分布来定义这个条件概率
注意这里的 是针对每个点单独计算的,由参数 Perplexity 决定。
低维空间的邻居概率(t-分布):在低维空间,我们要寻找点 。为了解决拥挤问题(Crowding Problem),t-SNE 使用自由度为 1 的 t-分布(柯西分布)
为什么要用 t-分布? 因为 t-分布是”重尾”的。相比高斯分布,要获得相同的概率值(相似度),t-分布要求点与点之间的距离更远。这迫使原本在高维空间挤在一起的数据簇,在低维空间被”炸开”,形成清晰分离的簇。
损失函数:KL 散度
从梯度分析来看:KL 散度是不对称的。如果 很大(高维是邻居)但 很小(低维分开了),惩罚巨大。反之,如果 很小(高维不是邻居)但 很大,惩罚较小。最终结果是:t-SNE 极度擅长保留局部结构(把邻居聚在一起),但几乎不保留全局结构(簇与簇之间的距离通常没有意义)。
需要提前说明的是,t-SNE 的效率并不高;在大规模数据上的速度瓶颈,也是后来引入UMAP的原因之一。
Perplexity (困惑度):这是t-SNE的主要参数 , 常取值范围在 5-50 之间,可以理解为”预估的邻居数量”。如果设置得太小,数据会碎裂成无数小团块,以此拟合噪音;如果设置得太大,则会忽略局部细节,结果越来越像 PCA。
UMAP:拓扑数据分析的胜利
UMAP (Uniform Manifold Approximation and Projection) 是目前的 SOTA 降维算法。它在 t-SNE 的基础上,引入了严谨的黎曼几何与代数拓扑理论,解决了 t-SNE 速度慢且丢失全局结构的问题。
技术直觉:流形上的均匀分布
UMAP 基于一个假设:数据均匀分布在某个黎曼流形上。 如果在现实空间中数据看起来分布不均(有的地方密,有的地方疏),那是因为我们用来观测的”标尺”(欧氏距离)是错的。
自适应的度量(黎曼度量):UMAP 为每个点 定义了一个局部的黎曼度量。在数据稀疏的区域,UMAP 会”拉长”距离;在密集的区域,会”缩短”距离。这通过 k-近邻距离来实现,并构建出一个加权的 kNN 图。
模糊单纯复形(Fuzzy Simplicial Complex):通过上述度量,UMAP 将数据转化为拓扑结构(单纯复形)。
优化目标:二元交叉熵 (Binary Cross-Entropy):t-SNE 只用了 KL 散度,只关注”把邻居拉近”。UMAP 使用交叉熵:
其中第一项类似 t-SNE,产生引力,拉近邻居。第二项涉及 ,这是在惩罚”非邻居被拉近”的情况,产生了一种全局斥力。最终结果是:UMAP 让簇内保持紧凑,同时迫使簇与簇之间保持正确的相对位置,从而保留更多全局结构。
UMAP的参数比t-SNE多一些。除了控制局部规模,还需要控制嵌入的紧凑程度;因为它试图保留一部分全局结构,也能展示一定程度的空间拓扑结构。
n_neighbors:控制局部图的规模。小值(例如 5)可以捕捉高频细节;大值(例如 200)则捕捉全局概貌(类似 PCA)。
min_dist:控制低维嵌入的紧凑度。小值(0.1)允许点重叠,适合聚类分析;大值(0.8)强迫点分开,适合展示拓扑结构。
神经网络与现代扩展
Autoencoder (AE):非线性压缩
AE 及其衍生模型已经在自编码器章节中详细讨论。放到降维视角下,AE 是参数化的降维。它的主要区别在于:流形方法是非参数的(Non-parametric),它们只给出坐标,无法直接处理新数据;而 AE 学习的是一个函数 ,可以随时处理新样本。
普通 AE 的降维效果通常不如专门的可视化方法。对于t-SNE和UMAP这种经常将空间压缩到2-3维的场景,AE更适合先降到几十或几百维,作为特征预处理。提取后的特征再交给下游任务;例如 VAE (Variational AE) 及其变体,在生成模型(Stable Disfusion)和特征解耦中仍是常用技术。
现代科研中的其他重要模型(值得关注)
在生物信息学(特别是单细胞测序)和计算机视觉研究中,除了 UMAP,还有两个模型值得关注:
PHATE (Potential of Heat-diffusion for Affinity-based Transition Embedding):其直觉是使用”热扩散”过程来模拟数据点之间的转移概率。主要优势在于:它擅长保留数据的**轨迹结构(Trajectory)**和分支结构(如干细胞分化过程),比 UMAP 更适合展示数据的连续演化过程。
PacMAP (Pairwise Controlled Manifold Approximation):其直觉是通过设计特殊的”中距离”点对,显式平衡局部引力和全局斥力。目前的地位是:它被视为 t-SNE 和 UMAP 的有力竞争者,通常在保留全局结构上比 UMAP 更稳健,且参数敏感性更低。
度量学习(Metric Learning)
最后,回到降维的初衷。我们之所以降维,往往是因为欧氏距离在高维空间失效。度量学习提出了一个逆向思维:与其将数据映射到低维空间去适应欧氏距离,不如直接学习一个新的距离度量函数 。
在马氏距离学习方面:学习一个矩阵 ,使得距离 能最好地反映数据的相似性。
在孪生神经网络 (Siamese Networks) 方面:这是现代深度度量学习的主流。通过神经网络将两个输入映射到特征空间,直接优化特征向量之间的距离(如 Triplet Loss),使得同一类样本距离近,不同类样本距离远。
其他常见降维方法一览
前面的主线之外,还有一批在工程中常见的降维方法,其中不少已不太常用。这里只做简要概括,重点说明它们与前面主线方法的关系。
线性方法:LDA(线性判别分析)是 PCA 的监督版本——类别标签可用时,寻找使”类间散度最大、类内散度最小”的投影方向,常用于分类前的降维;因子分析(FA)则假设观测变量由少数公共因子加特殊因子生成,更强调对结构的解释而非压缩。
保留局部结构的非线性方法:局部线性嵌入(LLE)假设每个点可由邻域内的点线性重构并保持重构权重不变,拉普拉斯特征映射(LE)则通过图的拉普拉斯算子让近邻点尽量靠近;二者与前面讲的 t-SNE、UMAP 同属”保留局部结构”一族,只是更早也更不常用。SNE 是 t-SNE 的前身,同样把相似度转为条件概率,t-SNE 只是改用重尾的 t 分布缓解了拥挤问题。
矩阵分解视角:LSA、NMF 与低秩近似都把降维看成矩阵分解。潜在语义分析(LSA)是对词-文档矩阵做 SVD 的低秩近似,常用于文本主题空间;非负矩阵分解(NMF)要求两个因子均为非负,因此输出常被解释为”部分加和”(如主题、部件的组合);低秩近似本身是寻找与原矩阵最接近的低秩矩阵,PCA/SVD 是它的特例。ICA(独立成分分析)的目标则不同——不是去除相关性,而是寻找统计上相互独立的成分,常用于信号分离等盲源分离任务。
核化与迁移学习:核化线性降维(KPCA、KLDA)把核技巧引入线性方法,KPCA 已在前面介绍,KLDA 是对应的监督版本;迁移学习降维(TCA)面向跨域场景,把源域与目标域映射到同一个公共子空间,使领域分布差异最小化。
一个提醒:降维在带来计算与可视化便利的同时,往往损害误差分析与模型可解释性:投影后的特征不再是原始特征,业务含义与后续解释都会打折扣,且这种损失在绝大多数情况下难以挽回。选型之前值得先确认这两点能否接受。
总结:如何选择?
| 方法 | 核心数学思想 | 对全局结构的保留 | 对局部簇的保留 | 推荐场景 |
|---|---|---|---|---|
| PCA | 协方差特征分解 | [极高] (极好) | [低] (差) | 数据预处理、基线测试、线性数据 |
| MDS | 距离矩阵重构 | [极高] | [低] | 需要严格保持距离矩阵时 |
| t-SNE | 概率分布 (KL散度) | [低] (几乎无) | [极高] (极好) | 探索性数据分析、强调聚类分离度 |
| UMAP | 拓扑单纯复形 + 交叉熵 | [高] (良好) | [极高] (极好) | 目前首选,兼顾全局与局部,大数据集 |
| PHATE | 热扩散信息距离 | [极高] | [高] | 具有连续演化轨迹的数据(如时间序列、生物发育) |
| AE | 神经网络重构误差 | [高] | [低] | 需要特征提取器用于下游任务时 |
- 标题: 从欧氏空间到流形拓扑:高维数据的降维之旅
- 作者: Hyacehila
- 创建于 : 2026-01-16 02:00:00
- 链接: https://hyacehila.github.io//blog/2026/01/16/dimensionality-reduction-high-dimensional-data/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。