数据矩阵分解概述:问题、工具与方法谱系
更新于 2026-04-23
在全景图中,我们确立了一个核心框架:ML 中的矩阵扮演三种角色——数据容器、给定算子、学习算子,而我们对矩阵的操作可以归纳为四件核心工具——分解、度量、微分、迭代。
分解是通用工具,不限于数据矩阵。 特征分解和 SVD 同样适用于给定算子(Part 2 中对马尔可夫转移矩阵做特征分解以分析稳态行为,对图 Laplacian 做谱分解以实现聚类)和学习算子(Part 3 中 LoRA 利用权重更新的低秩结构,Mamba 依赖状态矩阵的对角化来实现高效计算)。Part 1 聚焦数据矩阵,是因为数据矩阵的低秩结构最直观、应用最广泛,是建立分解直觉的最佳起点——但请记住,你在这里学到的每一件工具,都会在后续 Part 中以不同的面貌重新出现。
现在,我们正式进入 Part 1 “拆”:面对一个装着数据的矩阵,我们要提取它的低维结构。本文是 Part 1 的路线图。我们将回答三个问题:
- 为什么要分解? 数据矩阵的三大困难——高维、稀疏、噪声——为什么”拆”是正确的回应
- 用什么工具分解? 特征分解 → SVD → 范数 → 微积分,四件工具如何协同
- 分解出什么方法? 以 SVD 为中心,不同约束派生出不同方法的谱系图
数据矩阵的三大困难
高维:维度灾难
一个用户-物品评分矩阵 ( 个用户, 个物品),当 和 达到十万甚至百万级别时,直接操作这个矩阵在计算和存储上都不可行。更根本的问题是维度灾难(curse of dimensionality):在高维空间中,数据点变得稀疏,距离度量失去区分能力,几乎所有点对之间的距离趋于相同。
但高维矩阵往往存在内在低维结构。一个包含 个物品的评分矩阵,用户的偏好可能只受几十个潜在因素(genre, quality, mood…)驱动。这意味着矩阵的秩(rank)远小于它的维度:
分解的第一个目标就是找到这个低维子空间。
稀疏:大部分数据缺失
Netflix 的评分矩阵有约 48 万用户 × 1.8 万电影 ≈ 86 亿个元素,但实际收集到的评分只有约 1 亿——仅 1.2% 的元素被观测到。这不是特例:推荐系统、知识图谱、药物-靶点交互矩阵,都面临严重的数据缺失。
在这种情况下,分解有两层含义:
- 已观测部分的结构提取:从 1.2% 的已知元素中学到潜在因素
- 未观测部分的预测:用学到的低维结构推断缺失的 98.8%
这就是矩阵补全(matrix completion)问题——我们将在后续文章中看到,它的理论保证和 SVD 密切相关。
噪声:观测值不可信
即使矩阵是完全填满的(比如图像矩阵、基因表达矩阵),观测值也包含噪声。我们可以将数据矩阵建模为:
其中 是低秩的”真实信号”矩阵, 是噪声矩阵。分解的目标变成:从 中恢复 。
如果噪声是均匀分布的随机扰动,SVD 截断就是最优策略。但如果噪声是稀疏但大幅度的(比如遮挡、损坏像素),就需要更精细的方法——这正是 Robust PCA 的领地:将 分解为低秩部分 加稀疏部分 :
核心洞察:高维、稀疏、噪声是数据矩阵的三个普遍特征,而分解是应对这三者的统一框架——通过揭示低维结构,分解同时实现了降维、补全和去噪。
四件核心工具的关系
Part 1 建立四件工具,它们不是独立的,而是形成一个层层推进的工具链。
工具 1:特征分解——方阵的终极简化
对于一个方阵 ,如果存在可逆矩阵 和对角矩阵 ,使得:
那么 被对角化了。这里 是 的特征值(eigenvalue), 的列是对应的特征向量(eigenvector)。
对角化的威力在于:乘法变成了逐分量缩放。——先用 换到特征基, 逐分量乘以对应特征值,再用 换回标准基。计算 也变得平凡:,而 。
局限:特征分解要求 是方阵,而且不是所有方阵都可以对角化。数据矩阵通常是长方形的(),所以我们需要一个更通用的工具。
工具 2:SVD——推广到任意矩阵
奇异值分解(Singular Value Decomposition, SVD)对任意矩阵 都存在:
其中:
- :左奇异向量(left singular vectors)矩阵,列正交
- :奇异值(singular values)对角矩阵,
- :右奇异向量(right singular vectors)矩阵,列正交
SVD 和特征分解的关系是精确的: 的奇异值是 (或 )的特征值的平方根, 的列是 的特征向量, 的列是 的特征向量。
SVD 的核心定理(Eckart-Young 定理)保证:截断到前 个奇异值得到的秩- 矩阵,是所有秩- 矩阵中对 的最佳近似——无论用 Frobenius 范数 还是 spectral 范数 衡量。
这使得 SVD 成为整个分解方法家族的”根”:其他方法都可以理解为在 SVD 的基础上添加额外约束。
工具 3:范数——衡量近似质量
分解产生近似,近似需要度量。三种矩阵范数在不同场景下衡量”好坏”:
| 范数 | 定义 | 几何含义 |
|---|---|---|
| Frobenius | 所有元素的”总偏差” | |
| Spectral | 矩阵能施加的最大拉伸 | |
| Nuclear | 秩的凸松弛,矩阵补全的关键 |
这三种范数都可以用奇异值表达——右侧的公式清楚地展示了范数和 SVD 的联系。特别是,nuclear 范数 是矩阵秩 的最紧凸松弛,这个事实是矩阵补全理论的基石。
工具 4:矩阵微积分——分析灵敏度
当分解中的某个参数变化时,结果如何变化?这个问题需要矩阵微积分来回答。
- Jacobian 描述向量函数的局部线性近似:
- Hessian 描述损失曲面的二阶曲率,决定优化的收敛速度
在分解方法的语境下,矩阵微积分连接了两个关键问题:
- 给定一个分解的目标函数(如 ),如何计算梯度?
- 数据矩阵的微小扰动会如何影响分解结果?(扰动分析,与条件数 直接相关)
工具链总结
四件工具形成一条工具链:
特征分解是 SVD 的特例(对称方阵时两者等价);SVD 产生的近似用范数衡量质量;范数定义了优化目标,微积分提供了优化的手段。后续的 Art. 2–5 将逐一深入这四件工具。
方法谱系:约束不同 → 方法不同
SVD 给出了无约束下的最优低秩近似。但在具体应用中,数据有额外的结构或约束,SVD 的解不一定满足。不同的约束催生了不同的方法,它们构成一个以 SVD 为中心的方法谱系。
PCA:正交约束 → 降维
约束:基向量必须正交,投影保持方差最大化。
PCA(Principal Component Analysis,主成分分析)寻找数据的正交方向,使得投影后的方差最大。对中心化后的数据矩阵 (每行一个样本),PCA 等价于对协方差矩阵 做特征分解,或直接对 做 SVD。
PCA 是 SVD 在”正交降维”场景下的直接应用。它的局限在于:正交约束意味着基向量可以有负分量,导致结果缺乏可解释性。
NMF:非负约束 → 发现部件
约束:因子矩阵的所有元素必须非负。
NMF(Non-negative Matrix Factorization,非负矩阵分解)要求:
其中 和 的所有元素都非负。
非负约束的效果是深刻的:它迫使分解只能用加法组合来重建数据(不允许减法抵消),这自然导致了”parts-based”的表示。经典例子是人脸分解:PCA 给出”eigenfaces”(像鬼影一样的全局模式),NMF 给出眉毛、眼睛、鼻子、嘴巴等局部部件。
NMF 不再是 SVD 的简单后处理——非负约束使得问题变成非凸优化,不再有封闭解。
Robust PCA:低秩 + 稀疏分离
约束:矩阵可以精确分解为低秩部分加稀疏部分。
其中 是 nuclear 范数(鼓励 低秩), 是 范数(鼓励 稀疏), 是平衡参数。
这比标准 SVD 更强大:SVD 假设噪声是小幅度、均匀分布的;Robust PCA 能处理大幅度但稀疏的异常值。典型应用:视频监控中分离静止背景(低秩)和移动前景(稀疏)。
矩阵补全:采样约束 → 补全缺失值
约束:只观测到矩阵的部分元素。
给定观测集合 ,矩阵补全的目标是:
秩最小化是 NP-hard 的,但可以用 nuclear 范数松弛:
Candès 和 Recht (2009) 证明了一个深刻的结论:在温和的条件下(矩阵满足 incoherence 条件,观测位置随机均匀),nuclear 范数松弛可以精确恢复原始低秩矩阵——即使观测的元素数量远少于矩阵总元素数。
Word2Vec:隐式矩阵分解
约束:从不显式构造矩阵,通过神经网络间接分解。
Levy 和 Goldberg (2014) 揭示了一个优美的联系:Word2Vec 的 skip-gram with negative sampling(SGNS)模型,本质上在隐式分解一个偏移 PMI 矩阵(shifted pointwise mutual information):
其中 衡量词 和上下文 的共现是否超出随机预期, 是负采样数。
这个矩阵 从未被显式构造出来——它有数十万行列,不可能存储。但 skip-gram 的训练过程等价于对 做低秩分解 ,其中 和 分别是词向量和上下文向量矩阵。
Word2Vec 展示了一个重要模式:很多 ML 方法的本质是矩阵分解,即使它们的表面形式看起来完全不像。
MF/FM:交互建模
约束:分解服务于预测任务(评分预测、CTR 预估),允许加入偏置项和特征交叉。
经典的矩阵分解(Matrix Factorization, MF)模型将评分矩阵分解为用户和物品的潜在因子:
其中 是全局偏置,、 是用户/物品偏置, 和 是潜在因子向量。
Factorization Machines(FM)进一步推广,将任意特征之间的二阶交互建模为低秩分解:
交互权重 不是独立参数,而是通过低秩向量 的内积来参数化——这本质上是对交互权重矩阵 的低秩分解。
张量分解:高阶推广
约束:数据不是二维矩阵,而是三维或更高阶的张量。
当数据有三个或更多维度时(如 用户 × 物品 × 时间,或 主语 × 谓语 × 宾语),矩阵分解需要推广为张量分解。两种经典形式:
CP 分解(CANDECOMP/PARAFAC):将张量分解为秩一张量之和:
Tucker 分解:更灵活,允许不同模态有不同的秩:
其中 是核心张量(core tensor), 是第 个模态的因子矩阵。
张量分解是矩阵分解的自然高阶推广,在知识图谱嵌入(KG embedding)中有重要应用。
三个层次的”为什么”
至此,我们可以用三个层次总结数据矩阵分解的动机:
层次 1:降维——发现主方向
给一个完整的数据矩阵,找到最重要的几个方向,丢弃剩余的维度。
代表方法:PCA / SVD 截断。
数学本质:在正交约束下找最优低秩近似。
层次 2:补全——从局部推全局
给一个不完整的数据矩阵(大量缺失值),利用低秩假设推断缺失部分。
代表方法:矩阵补全、MF 推荐。
数学本质:在采样约束下恢复低秩矩阵。
层次 3:发现结构——揭示隐含模式
不仅仅是降维或补全,而是发现数据中有意义的潜在结构。
代表方法:NMF(发现部件)、Word2Vec(发现语义关系)、Robust PCA(分离信号和异常)。
数学本质:在特定的结构约束下(非负、隐式、稀疏+低秩)进行分解。
这三个层次并不互斥——一个好的分解方法往往同时实现多个目标。NMF 既降维又发现结构;矩阵补全在补全缺失值的同时也在降维。但区分这三个层次有助于理解:你为什么要分解这个矩阵?你希望从中得到什么?
Part 1 路线图
Part 1 的 13 篇文章沿以下脉络展开:
| 阶段 | 文章 | 内容 |
|---|---|---|
| 几何基础 | Art. 1a 向量空间几何 | 内积、投影、秩、零空间、正交性 |
| Art. 1b 矩阵结构几何 | 二次型、正定性、协方差矩阵 | |
| 工具建设 | Art. 2 特征分解 | ,方阵的对角化 |
| Art. 3 SVD | ,Eckart-Young 定理 | |
| Art. 4 范数与条件数 | , , , | |
| Art. 5 矩阵微积分 | Jacobian, Hessian, 矩阵函数的导数 | |
| 应用展开 | Art. 6 PCA | 正交降维,与 SVD 的精确关系 |
| Art. 7 随机化 SVD | 大规模矩阵的高效近似 | |
| Art. 8 矩阵补全 | 核范数松弛,incoherence 条件 | |
| Art. 9 NMF | 非负约束,parts-based 表示 | |
| Art. 10 MF/FM | 推荐系统中的矩阵分解 | |
| Art. 11 Word2Vec | 词嵌入作为隐式矩阵分解 | |
| Art. 12 Robust PCA | 低秩 + 稀疏分离 | |
| Art. 13 张量分解 | 高阶推广,CP/Tucker,KG 嵌入 |
Art. 1a–1b 铺设几何基础,Art. 2–5 建立核心工具,Art. 6–13 用这套工具解决具体问题。每篇应用文章都会回到 SVD 这个中心:PCA 是 SVD 的直接应用,NMF 是 SVD 去掉正交加上非负,矩阵补全的理论保证依赖 nuclear 范数(SVD 的奇异值之和),Robust PCA 的凸松弛同样基于 nuclear 范数。
总结与展望
本文建立了 Part 1 的概念框架:
- 数据矩阵的三大困难——高维、稀疏、噪声——是分解的动机
- 四件核心工具——特征分解、SVD、范数、微积分——形成层层推进的工具链
- 方法谱系——SVD 为中心,不同约束派生出 PCA、NMF、Robust PCA、矩阵补全、Word2Vec、MF/FM、张量分解
- 三个层次的”为什么”——降维、补全、发现结构
下一篇我们先建立几何直觉:向量空间的几何——内积、投影、秩与子空间。这些概念是理解特征分解和 SVD 的必要语言:没有”正交”就说不清特征向量为什么好用,没有”投影”就看不懂 PCA 在做什么。几何基础就绪后,我们再进入特征分解与对角化。