降维:用更少坐标保留任务所需结构
从 PCA、随机投影、t-SNE、UMAP 与自编码器理解压缩目标、可视化失真、数据泄漏和下游评测。
1压缩必须选择保什么直觉
从一千维压到二维,哪些信息应该留下?
降维把每个样本从许多原始坐标转换为较少的新坐标。输入是“样本数 × 原始特征数”的高维数据,输出是“样本数 × 较少维数”的表示;样本没有消失,但描述每个样本的坐标变少了。
它解决存储、计算、噪声和可视化问题,却不可能同时无损保留所有关系。因此第一步不是选算法,而是声明要保真的对象:PCA 偏向全局线性方差与重建,随机投影近似成对距离,t-SNE 和 UMAP 更关注局部邻域。目标不同,输出布局自然不同。
2PCA 的两个等价视角数学
最大方差与最小重建误差为何相连?
PCA(主成分分析)寻找一个低维线性子空间:先把数据减去训练均值,再用若干互相垂直的方向作为新坐标轴。X 表示已经中心化的数据矩阵;W 的每一列是一条要学习的投影方向;XW 是投影后的低维坐标;WᵀW=I 表示这些方向长度为一且彼此正交。
目标是在固定维数下让投影坐标的总方差最大。直觉是:中心化数据在某方向铺得越开,该方向携带的样本差异越多。计算上可对训练协方差矩阵求特征向量,选择最大特征值对应的前几条方向。
把低维坐标再乘 Wᵀ 并加回均值,可近似重建原数据。在平方误差和正交线性投影条件下,“保留最大方差”等价于“让丢失方差、也就是平方重建误差最小”。这个等价只针对线性正交投影与平方误差;它不保证保留标签、因果或少数类信号。
3尺度与拟合顺序数据
收入和年龄一起做 PCA,谁会主导?
PCA 比较各方向的方差,所以数值范围大的变量会更强地影响主轴。若“1 美元”和“1 岁”只是不同计量单位,通常先用训练集均值和标准差做 z-score,让每维以相对偏离参与比较;若绝对尺度本身就是业务重要性,盲目标准化反而会抹掉含义。
输入是训练、验证和测试三份原始特征;训练阶段输出均值、尺度和投影矩阵,后两份只能调用同一组参数做 transform。正确顺序是“先切分 → 在训练折拟合标准化器与 PCA → 变换验证/测试”。
若先用全量数据计算均值、方差或主轴,测试分布已经参与选择表示,形成数据泄漏。结果应在原始单位方案和标准化方案上分别比较重建与下游指标,而不是假设标准化永远正确。
4t-SNE 与 UMAP 的图怎么读可视化
二维簇之间很远是否表示原空间也很远?
t-SNE 和 UMAP 主要用于把高维样本的局部近邻关系嵌入二维或三维。输入是高维样本及邻域、距离等超参数,输出是每个样本的低维展示坐标。它们优化的是“谁和谁应当靠近”的邻域目标,而不是完整恢复所有全局距离。
工作过程可概括为:先在高维空间构造近邻或邻近概率,再寻找低维坐标,使近邻尽量仍相邻。为塞进二维,算法会拉伸、压缩甚至旋转全局布局,因此岛屿间距、簇面积、朝向和空白通常没有直接定量含义。
图可以用来提出“这些点可能形成局部群体”的假设,但必须回到原始特征、标签或外部证据验证。随机种子、perplexity、邻居数和距离度量都可改变布局;应报告参数,检查近邻保持率和多次运行稳定性。它不适合用二维距离直接做因果解释或制定高风险决策。
5监督与非线性压缩方法
最大方差方向不含标签信号怎么办?
PCA 不读取标签,只保留方差最大的线性方向;高方差可能来自背景或设备,关键预测信号却可能方差很小。若目标是分类、检索或排序,可选择监督投影、度量学习,或用自编码器学习非线性压缩。
监督降维输入特征与标签,输出服务任务区分的低维坐标;度量学习让应相似的样本靠近、应区分的样本远离;自编码器由编码器输出潜变量 z,再由解码器重建输入,通过重建损失学习非线性表示。三者“怎样工作”不同,不能只按二维图好不好看选择。
结果应分别用下游准确率或召回、重建误差、近邻保持和少数类表现解释。监督信号会增加标签泄漏和过拟合风险,自编码器可能只记住背景纹理;可解释性通常也弱于线性主轴。高方差不等于高预测价值,低重建误差也不等于任务信息完整。
6怎样决定维数评测
解释方差 95% 是通用规则吗?
维数是需要在验证集上选择的性能—成本超参数,不是越低越好。输入是一组候选维数和固定训练流程,输出应是一条质量、存储、延迟与稳定性随维数变化的曲线。
PCA 的累计解释方差可说明保留了多少训练方差,却不知道这些方差是否对任务有用。应逐维数比较下游准确率或检索召回、重建误差、推理延迟、索引体积,并单独检查少数类、异常与分布外样本。选择满足质量门槛的最低成本点,而不是机械套用 95%。
候选维数只能在验证或内层交叉验证中选择,测试集留到流程冻结后。部署分布改变时,原维数和主轴都可能失效,需要监控并重新验证。
7完整手算:二维 PCA 怎样找到第一主轴逐步演算
四个点 (2,1)、(4,2)、(6,3)、(8,4) 压到一维会丢多少信息?
均值为(5,2.5),中心化点都落在方向(2,1)上;协方差矩阵与 [[4,2],[2,1]] 成比例。最大特征向量归一化为 w₁=(2/5,1/5),正交方向 w₂=(−1/5,2/5) 的特征值为0。
所有点投影到一维后都能精确重建,解释方差率100%。若给每点第二维加独立噪声,第二特征值会上升;保留一维就必须在压缩率与噪声/任务信号间取舍。
| 点 | 中心化 | 一维坐标 z |
|---|---|---|
| (2,1) | (−3,−1.5) | −7.5/5 |
| (4,2) | (−1,−0.5) | −2.5/5 |
| (6,3) | (1,0.5) | 2.5/5 |
| (8,4) | (3,1.5) | 7.5/5 |
8原创图:不同目标保留不同结构可视化
同一团高维点,PCA、随机投影与邻域图为什么不会画成同一张图?
三条分支接收同一个高维样本矩阵 X,并按预先选定的目标维数产生不同低维表示。PCA 先用训练数据估计均值与正交投影矩阵 W,再输出 Z=(X−μ)W;随机投影抽取并固定一个随机线性矩阵 R,直接输出 Z=XR;t-SNE/UMAP 则先从 X 构造近邻概率或近邻图,再迭代优化当前样本的二维或三维坐标 Z。
因此,PCA 与随机投影得到可对新样本复用的线性变换,邻域嵌入得到的首先是当前样本集合的展示布局。三者分别把全局线性方差与重建、成对距离、局部邻域当作保真目标;图中的验收指标必须与该目标及下游用途对应。
9随机投影用概率保证换取极低拟合成本Johnson–Lindenstrauss
不学习主轴也能近似保距离,代价是什么?
对 n 个点,随机映射到 k=O(log n/ε²) 维,可高概率让所有成对平方距离落在 (1±ε) 倍范围。它不看数据方向、无迭代、适合稀疏大规模;但维度是概率上界,具体任务仍要实测。
| 方法 | 保留目标 | 可变换新样本 | 主要边界 |
|---|---|---|---|
| PCA | 全局线性方差 | 可 | 低方差任务信号 |
| 随机投影 | 近似距离 | 可 | 随机误差 |
| t-SNE | 局部概率邻域 | 通常非参数 | 全局距离失真 |
| 自编码器 | 学习重建 | 可 | 过拟合与捷径 |
10常见误区与学习路线误区与依赖
降维是任务相关压缩,不是通往“真实二维世界”的窗口。
| 误区 | 更准确的理解 |
|---|---|
| 前两主成分最有预测力 | PCA只看方差,不看标签 |
| 解释方差95%是通用门槛 | 少数类信号可能在低方差方向 |
| t-SNE岛屿证明天然簇 | 邻域目标和超参数可制造空白 |
| 先全数据降维再切分无妨 | 均值与投影已泄漏测试分布 |
| 压得越低越好 | 维数是质量—成本超参数 |
| 层级 | 依赖与延伸 |
|---|---|
| 先修 | 协方差、特征值、距离 |
| 本页核心 | PCA、随机投影、邻域嵌入、泄漏 |
| 相邻 | 维度灾难、聚类、嵌入 |
| 验收 | 重建、检索、下游任务、漂移 |
11降维器是模型,必须只在训练折拟合泄漏边界
无标签的 PCA 为什么也能泄漏测试集?
PCA 虽不读取 y,却用测试样本的均值、方差和协方差决定投影方向;这让训练表示提前适应未来分布。交叉验证时,每一折都应在该折训练部分重新拟合标准化器和降维器,再变换验证部分。若先在全量数据上选维数、观察二维图后再决定标签清洗,同样引入分析者泄漏。
| 步骤 | 错误顺序 | 正确顺序 |
|---|---|---|
| 切分 | 降维后切分 | 先固定训练/验证/测试 |
| 拟合 | 全量估计均值与主轴 | 只用训练折 |
| 选维 | 反复看测试结果 | 在验证/内层CV选择 |
| 报告 | 只报最佳随机种子 | 冻结流程后一次测试 |
上线后新数据只能调用 transform;若重新 fit,就已产生新版本,必须连同下游模型一起回归。
12非线性自编码器可能重建得好却表示得差非线性边界
低重建误差为何不保证分类、检索或因果因素被保留?
自编码器接收原始输入 x;带参数 θ 的编码器 f 把它压成潜变量 z;带参数 φ 的解码器 g 再产生重建 x̂。L 是总训练损失,第一项衡量输入与重建的平方误差;R(z) 是对潜变量结构的正则函数,λ 控制正则相对重建的权重。
高容量编码器可记住像素纹理、背景和传感器噪声,以很低误差重建,却把稀有诊断信号压掉;潜变量还可通过复杂旋转和纠缠,使每维无法解释。瓶颈维度、去噪、稀疏或变分正则只是偏好,不保证语义解耦。
应同时测重建、下游线性探测、最近邻、反事实敏感性和分布外迁移。对少数类要单独比较压缩前后召回;总体误差会被多数背景像素淹没。若需要可解释方向,PCA或监督稀疏投影反而可能优于深网络。
13部署后要监控投影残差与表示漂移生产监控
输入分布变化时,旧主轴为什么可能继续运行却悄悄失真?
固定PCA仍会输出坐标,但新数据可能把方差转移到训练时被丢弃的方向。应监控每维均值/方差、重建残差、子空间夹角、下游质量和少数切片;超过阈值时用新时间窗重拟合,并把降维器与下游模型作为一个组合版本灰度发布。不能只替换投影矩阵:坐标系旋转会让旧分类器、索引和质心失去含义。对于t-SNE等探索图,新批次单独拟合后的布局也不能按坐标直接与旧图比较。
14验收问题检查点
压缩后最先检查什么?
先确认测试集未参与拟合,再逐维数比较质量、成本、少数类与分布外表现;任何单一方差阈值都不能替代这组证据。
15把因果链连起来综合
这个概念怎样从问题一路连接到可验证的实践?
- 高维数据含冗余与噪声
- 选择要保留的结构目标
- 在训练数据拟合投影/流形
- 压缩到低维表示
- 测量结构失真与下游收益
- 按新分布监控并重拟合
16误区与自测自测
你能否不用背术语,解释它的机制、边界与验证方法?
- PCA 保留什么?
- 何时需要标准化?
- t-SNE 簇间距可直接解释吗?
- 降维如何泄漏?
- 维数怎样选择?
- 假设“降维:用更少坐标保留任务所需结构”在离线示例上表现正常、上线后核心结果却下降,你会怎样按输入、内部变换、输出反馈和适用边界定位问题?
参考答案
- 最大线性方差方向。
- 变量尺度不应代表重要性时。
- 通常不能,全球距离被扭曲。
- 用全数据拟合均值或投影。
- 按下游质量与成本验证。
- 先保存同一失败样本及环境,确认输入、权限和前置条件没有漂移;再记录关键中间状态,检查机制是否按本页描述完成变换;随后把原始输出与独立指标、人工终验对照;最后用边界样例和对照实验复测。只有定位到首次偏离预期的环节,才能判断应修改数据、机制、评测还是使用边界。
- Principal Component Analysis:PCA 教程
- t-SNE:局部可视化
- UMAP:流形邻域降维
- An elementary proof of a theorem of Johnson and Lindenstrauss:随机投影的维数阶与距离保持界
- Reducing the Dimensionality of Data with Neural Networks:深层自编码器的编码、解码与重建目标
- Challenging Common Assumptions in the Unsupervised Learning of Disentangled Representations:无监督表示语义解耦的不可识别边界