本站内容由 AI 生成,可能存在错误。如发现问题,欢迎到 GitHub Issues 反馈。

数据矩阵分解概述:问题、工具与方法谱系

数据矩阵分解概述:问题、工具与方法谱系

更新于 2026-04-23

全景图中,我们确立了一个核心框架:ML 中的矩阵扮演三种角色——数据容器、给定算子、学习算子,而我们对矩阵的操作可以归纳为四件核心工具——分解、度量、微分、迭代

分解是通用工具,不限于数据矩阵。 特征分解和 SVD 同样适用于给定算子(Part 2 中对马尔可夫转移矩阵做特征分解以分析稳态行为,对图 Laplacian 做谱分解以实现聚类)和学习算子(Part 3 中 LoRA 利用权重更新的低秩结构,Mamba 依赖状态矩阵的对角化来实现高效计算)。Part 1 聚焦数据矩阵,是因为数据矩阵的低秩结构最直观、应用最广泛,是建立分解直觉的最佳起点——但请记住,你在这里学到的每一件工具,都会在后续 Part 中以不同的面貌重新出现。

现在,我们正式进入 Part 1 “拆”:面对一个装着数据的矩阵,我们要提取它的低维结构。本文是 Part 1 的路线图。我们将回答三个问题:

  1. 为什么要分解? 数据矩阵的三大困难——高维、稀疏、噪声——为什么”拆”是正确的回应
  2. 用什么工具分解? 特征分解 → SVD → 范数 → 微积分,四件工具如何协同
  3. 分解出什么方法? 以 SVD 为中心,不同约束派生出不同方法的谱系图

数据矩阵的三大困难

数据矩阵的三大困难高维rank(A) ≪ min(m,n)稀疏98.8% 缺失噪声A = L + N分解是应对三者的统一框架——通过揭示低维结构,同时实现降维、补全和去噪

高维:维度灾难

一个用户-物品评分矩阵 ARm×nA \in \mathbb{R}^{m \times n}mm 个用户,nn 个物品),当 mmnn 达到十万甚至百万级别时,直接操作这个矩阵在计算和存储上都不可行。更根本的问题是维度灾难(curse of dimensionality):在高维空间中,数据点变得稀疏,距离度量失去区分能力,几乎所有点对之间的距离趋于相同。

但高维矩阵往往存在内在低维结构。一个包含 n=50000n = 50000 个物品的评分矩阵,用户的偏好可能只受几十个潜在因素(genre, quality, mood…)驱动。这意味着矩阵的秩(rank)远小于它的维度:

rank(A)min(m,n)\text{rank}(A) \ll \min(m, n)

分解的第一个目标就是找到这个低维子空间

稀疏:大部分数据缺失

Netflix 的评分矩阵有约 48 万用户 × 1.8 万电影 ≈ 86 亿个元素,但实际收集到的评分只有约 1 亿——仅 1.2% 的元素被观测到。这不是特例:推荐系统、知识图谱、药物-靶点交互矩阵,都面临严重的数据缺失。

在这种情况下,分解有两层含义:

  • 已观测部分的结构提取:从 1.2% 的已知元素中学到潜在因素
  • 未观测部分的预测:用学到的低维结构推断缺失的 98.8%

这就是矩阵补全(matrix completion)问题——我们将在后续文章中看到,它的理论保证和 SVD 密切相关。

噪声:观测值不可信

即使矩阵是完全填满的(比如图像矩阵、基因表达矩阵),观测值也包含噪声。我们可以将数据矩阵建模为:

A=L+NA = L + N

其中 LRm×nL \in \mathbb{R}^{m \times n} 是低秩的”真实信号”矩阵,NRm×nN \in \mathbb{R}^{m \times n} 是噪声矩阵。分解的目标变成:从 AA 中恢复 LL

如果噪声是均匀分布的随机扰动,SVD 截断就是最优策略。但如果噪声是稀疏但大幅度的(比如遮挡、损坏像素),就需要更精细的方法——这正是 Robust PCA 的领地:将 AA 分解为低秩部分 LL 加稀疏部分 SS

A=L+SA = L + S

核心洞察:高维、稀疏、噪声是数据矩阵的三个普遍特征,而分解是应对这三者的统一框架——通过揭示低维结构,分解同时实现了降维、补全和去噪。

四件核心工具的关系

四件核心工具:层层推进的工具链1特征分解A = QΛQ⁻¹方阵的终极简化2SVDA = UΣVᵀ推广到任意矩阵3范数‖·‖F, ‖·‖₂, ‖·‖*衡量近似质量4微积分∇W, J, H分析变化敏感性特征分解(方阵特例)→ SVD(任意矩阵)→ 范数(衡量好坏)→ 微积分(优化手段)

Part 1 建立四件工具,它们不是独立的,而是形成一个层层推进的工具链。

工具 1:特征分解——方阵的终极简化

对于一个方阵 ARn×nA \in \mathbb{R}^{n \times n},如果存在可逆矩阵 QQ 和对角矩阵 Λ=diag(λ1,,λn)\Lambda = \text{diag}(\lambda_1, \ldots, \lambda_n),使得:

A=QΛQ1A = Q\Lambda Q^{-1}

那么 AA对角化了。这里 λi\lambda_iAA 的特征值(eigenvalue),QQ 的列是对应的特征向量(eigenvector)。

对角化的威力在于:乘法变成了逐分量缩放。Ax=QΛ(Q1x)A\mathbf{x} = Q\Lambda (Q^{-1}\mathbf{x})——先用 Q1Q^{-1} 换到特征基,Λ\Lambda 逐分量乘以对应特征值,再用 QQ 换回标准基。计算 AnA^n 也变得平凡:An=QΛnQ1A^n = Q\Lambda^n Q^{-1},而 Λn=diag(λ1n,,λnn)\Lambda^n = \text{diag}(\lambda_1^n, \ldots, \lambda_n^n)

局限:特征分解要求 AA 是方阵,而且不是所有方阵都可以对角化。数据矩阵通常是长方形的(mnm \neq n),所以我们需要一个更通用的工具。

工具 2:SVD——推广到任意矩阵

奇异值分解(Singular Value Decomposition, SVD)对任意矩阵 ARm×nA \in \mathbb{R}^{m \times n} 都存在:

A=UΣVTA = U\Sigma V^T

其中:

  • URm×mU \in \mathbb{R}^{m \times m}:左奇异向量(left singular vectors)矩阵,列正交
  • ΣRm×n\Sigma \in \mathbb{R}^{m \times n}:奇异值(singular values)对角矩阵,σ1σ20\sigma_1 \geq \sigma_2 \geq \cdots \geq 0
  • VRn×nV \in \mathbb{R}^{n \times n}:右奇异向量(right singular vectors)矩阵,列正交

SVD 和特征分解的关系是精确的:AA 的奇异值是 ATAA^T A(或 AATAA^T)的特征值的平方根,VV 的列是 ATAA^T A 的特征向量,UU 的列是 AATAA^T 的特征向量。

SVD 的核心定理(Eckart-Young 定理)保证:截断到前 kk 个奇异值得到的秩-kk 矩阵,是所有秩-kk 矩阵中对 AA 的最佳近似——无论用 Frobenius 范数 F\|\cdot\|_F 还是 spectral 范数 2\|\cdot\|_2 衡量。

Ak=i=1kσiuiviT=argminrank(B)kABFA_k = \sum_{i=1}^{k} \sigma_i \mathbf{u}_i \mathbf{v}_i^T = \arg\min_{\text{rank}(B) \leq k} \|A - B\|_F

这使得 SVD 成为整个分解方法家族的”根”:其他方法都可以理解为在 SVD 的基础上添加额外约束。

工具 3:范数——衡量近似质量

分解产生近似,近似需要度量。三种矩阵范数在不同场景下衡量”好坏”:

范数定义几何含义
Frobenius AF\|A\|_Fijaij2=iσi2\sqrt{\sum_{ij} a_{ij}^2} = \sqrt{\sum_i \sigma_i^2}所有元素的”总偏差”
Spectral A2\|A\|_2σmax(A)\sigma_{\max}(A)矩阵能施加的最大拉伸
Nuclear A\|A\|_*iσi\sum_i \sigma_i秩的凸松弛,矩阵补全的关键

这三种范数都可以用奇异值表达——右侧的公式清楚地展示了范数和 SVD 的联系。特别是,nuclear 范数 A\|A\|_* 是矩阵秩 rank(A)\text{rank}(A)最紧凸松弛,这个事实是矩阵补全理论的基石。

工具 4:矩阵微积分——分析灵敏度

当分解中的某个参数变化时,结果如何变化?这个问题需要矩阵微积分来回答。

  • Jacobian JRm×nJ \in \mathbb{R}^{m \times n} 描述向量函数的局部线性近似:f(x+Δx)f(x)+JΔxf(\mathbf{x} + \Delta\mathbf{x}) \approx f(\mathbf{x}) + J\Delta\mathbf{x}
  • Hessian HRn×nH \in \mathbb{R}^{n \times n} 描述损失曲面的二阶曲率,决定优化的收敛速度

在分解方法的语境下,矩阵微积分连接了两个关键问题:

  • 给定一个分解的目标函数(如 minU,VAUVTF2\min_{U,V} \|A - UV^T\|_F^2),如何计算梯度?
  • 数据矩阵的微小扰动会如何影响分解结果?(扰动分析,与条件数 κ(A)=σmax/σmin\kappa(A) = \sigma_{\max} / \sigma_{\min} 直接相关)

工具链总结

四件工具形成一条工具链:

Part 1 工具链特征分解方阵对角化Art. 2推广SVD任意矩阵Art. 3衡量范数衡量近似Art. 4优化微积分分析敏感性Art. 5特征分解 → SVD → 范数 → 微积分:层层推进

特征分解推广到非方阵SVD衡量近似好坏范数分析变化敏感性微积分\text{特征分解} \xrightarrow{\text{推广到非方阵}} \text{SVD} \xrightarrow{\text{衡量近似好坏}} \text{范数} \xrightarrow{\text{分析变化敏感性}} \text{微积分}

特征分解是 SVD 的特例(对称方阵时两者等价);SVD 产生的近似用范数衡量质量;范数定义了优化目标,微积分提供了优化的手段。后续的 Art. 2–5 将逐一深入这四件工具。

方法谱系:约束不同 → 方法不同

方法谱系:SVD + 不同约束 → 不同方法SVD无约束最优PCA+正交NMF+非负RPCA+低秩+稀疏矩阵补全+采样Word2Vec+隐式MF/FM+交互张量+高阶SVD 是"根"方法——其他方法都可理解为 SVD + 额外约束

SVD 给出了无约束下的最优低秩近似。但在具体应用中,数据有额外的结构或约束,SVD 的解不一定满足。不同的约束催生了不同的方法,它们构成一个以 SVD 为中心的方法谱系

SVDA = UΣVᵀ无约束最优近似PCA正交约束NMF非负约束Robust PCA低秩 + 稀疏矩阵补全采样约束Word2Vec隐式分解张量分解高阶推广MF/FM交互建模矩阵分解方法谱系:SVD 为中心,约束不同 → 方法不同

PCA:正交约束 → 降维

约束:基向量必须正交,投影保持方差最大化。

PCA(Principal Component Analysis,主成分分析)寻找数据的正交方向,使得投影后的方差最大。对中心化后的数据矩阵 XX(每行一个样本),PCA 等价于对协方差矩阵 C=1n1XTXC = \frac{1}{n-1}X^T X 做特征分解,或直接对 XX 做 SVD。

X=UΣVT    前 k 个主成分=XVk=UkΣkX = U\Sigma V^T \implies \text{前 } k \text{ 个主成分} = XV_k = U_k\Sigma_k

PCA 是 SVD 在”正交降维”场景下的直接应用。它的局限在于:正交约束意味着基向量可以有负分量,导致结果缺乏可解释性。

NMF:非负约束 → 发现部件

约束:因子矩阵的所有元素必须非负。

NMF(Non-negative Matrix Factorization,非负矩阵分解)要求:

AWH,W0,H0A \approx WH, \quad W \geq 0, \quad H \geq 0

其中 WRm×kW \in \mathbb{R}^{m \times k}HRk×nH \in \mathbb{R}^{k \times n} 的所有元素都非负。

非负约束的效果是深刻的:它迫使分解只能用加法组合来重建数据(不允许减法抵消),这自然导致了”parts-based”的表示。经典例子是人脸分解:PCA 给出”eigenfaces”(像鬼影一样的全局模式),NMF 给出眉毛、眼睛、鼻子、嘴巴等局部部件

NMF 不再是 SVD 的简单后处理——非负约束使得问题变成非凸优化,不再有封闭解。

Robust PCA:低秩 + 稀疏分离

约束:矩阵可以精确分解为低秩部分加稀疏部分。

minL,SL+λS1s.t.A=L+S\min_{L, S} \|L\|_* + \lambda\|S\|_1 \quad \text{s.t.} \quad A = L + S

其中 L\|L\|_* 是 nuclear 范数(鼓励 LL 低秩),S1=ijsij\|S\|_1 = \sum_{ij}|s_{ij}|1\ell_1 范数(鼓励 SS 稀疏),λ>0\lambda > 0 是平衡参数。

这比标准 SVD 更强大:SVD 假设噪声是小幅度、均匀分布的;Robust PCA 能处理大幅度但稀疏的异常值。典型应用:视频监控中分离静止背景(低秩)和移动前景(稀疏)。

矩阵补全:采样约束 → 补全缺失值

约束:只观测到矩阵的部分元素。

给定观测集合 Ω{1,,m}×{1,,n}\Omega \subset \{1,\ldots,m\} \times \{1,\ldots,n\},矩阵补全的目标是:

minXrank(X)s.t.Xij=Aij,  (i,j)Ω\min_{X} \text{rank}(X) \quad \text{s.t.} \quad X_{ij} = A_{ij}, \; \forall (i,j) \in \Omega

秩最小化是 NP-hard 的,但可以用 nuclear 范数松弛:

minXXs.t.Xij=Aij,  (i,j)Ω\min_{X} \|X\|_* \quad \text{s.t.} \quad X_{ij} = A_{ij}, \; \forall (i,j) \in \Omega

Candès 和 Recht (2009) 证明了一个深刻的结论:在温和的条件下(矩阵满足 incoherence 条件,观测位置随机均匀),nuclear 范数松弛可以精确恢复原始低秩矩阵——即使观测的元素数量远少于矩阵总元素数。

Word2Vec:隐式矩阵分解

约束:从不显式构造矩阵,通过神经网络间接分解。

Levy 和 Goldberg (2014) 揭示了一个优美的联系:Word2Vec 的 skip-gram with negative sampling(SGNS)模型,本质上在隐式分解一个偏移 PMI 矩阵(shifted pointwise mutual information):

Mij=PMI(wi,cj)logkM_{ij} = \text{PMI}(w_i, c_j) - \log k

其中 PMI(wi,cj)=logP(wi,cj)P(wi)P(cj)\text{PMI}(w_i, c_j) = \log\frac{P(w_i, c_j)}{P(w_i)P(c_j)} 衡量词 wiw_i 和上下文 cjc_j 的共现是否超出随机预期,kk 是负采样数。

这个矩阵 MM 从未被显式构造出来——它有数十万行列,不可能存储。但 skip-gram 的训练过程等价于对 MM 做低秩分解 MWCTM \approx W \cdot C^T,其中 WWCC 分别是词向量和上下文向量矩阵。

Word2Vec 展示了一个重要模式:很多 ML 方法的本质是矩阵分解,即使它们的表面形式看起来完全不像。

MF/FM:交互建模

约束:分解服务于预测任务(评分预测、CTR 预估),允许加入偏置项和特征交叉。

经典的矩阵分解(Matrix Factorization, MF)模型将评分矩阵分解为用户和物品的潜在因子:

r^ui=μ+bu+bi+puTqi\hat{r}_{ui} = \mu + b_u + b_i + \mathbf{p}_u^T \mathbf{q}_i

其中 μ\mu 是全局偏置,bub_ubib_i 是用户/物品偏置,puRk\mathbf{p}_u \in \mathbb{R}^kqiRk\mathbf{q}_i \in \mathbb{R}^k 是潜在因子向量。

Factorization Machines(FM)进一步推广,将任意特征之间的二阶交互建模为低秩分解:

y^(x)=w0+j=1pwjxj+i=1pj=i+1pvi,vjxixj\hat{y}(\mathbf{x}) = w_0 + \sum_{j=1}^p w_j x_j + \sum_{i=1}^p \sum_{j=i+1}^p \langle \mathbf{v}_i, \mathbf{v}_j \rangle x_i x_j

交互权重 vi,vj\langle \mathbf{v}_i, \mathbf{v}_j \rangle 不是独立参数,而是通过低秩向量 viRk\mathbf{v}_i \in \mathbb{R}^k 的内积来参数化——这本质上是对交互权重矩阵 WijW_{ij} 的低秩分解。

张量分解:高阶推广

约束:数据不是二维矩阵,而是三维或更高阶的张量。

当数据有三个或更多维度时(如 用户 × 物品 × 时间,或 主语 × 谓语 × 宾语),矩阵分解需要推广为张量分解。两种经典形式:

CP 分解(CANDECOMP/PARAFAC):将张量分解为秩一张量之和:

Xr=1Rarbrcr\mathcal{X} \approx \sum_{r=1}^{R} \mathbf{a}_r \circ \mathbf{b}_r \circ \mathbf{c}_r

Tucker 分解:更灵活,允许不同模态有不同的秩:

XG×1U(1)×2U(2)×3U(3)\mathcal{X} \approx \mathcal{G} \times_1 U^{(1)} \times_2 U^{(2)} \times_3 U^{(3)}

其中 G\mathcal{G} 是核心张量(core tensor),U(k)U^{(k)} 是第 kk 个模态的因子矩阵。

张量分解是矩阵分解的自然高阶推广,在知识图谱嵌入(KG embedding)中有重要应用。

三个层次的”为什么”

三个层次的"为什么"1降维发现主方向PCA / SVD2补全从局部推全局矩阵补全 / MF3发现结构揭示隐含模式NMF / Word2Vec / RPCA三个层次并不互斥——一个好的分解方法往往同时实现多个目标

至此,我们可以用三个层次总结数据矩阵分解的动机:

层次 1:降维——发现主方向

给一个完整的数据矩阵,找到最重要的几个方向,丢弃剩余的维度。

代表方法:PCA / SVD 截断。

数学本质:在正交约束下找最优低秩近似。

层次 2:补全——从局部推全局

给一个不完整的数据矩阵(大量缺失值),利用低秩假设推断缺失部分。

代表方法:矩阵补全、MF 推荐。

数学本质:在采样约束下恢复低秩矩阵。

层次 3:发现结构——揭示隐含模式

不仅仅是降维或补全,而是发现数据中有意义的潜在结构。

代表方法:NMF(发现部件)、Word2Vec(发现语义关系)、Robust PCA(分离信号和异常)。

数学本质:在特定的结构约束下(非负、隐式、稀疏+低秩)进行分解。

这三个层次并不互斥——一个好的分解方法往往同时实现多个目标。NMF 既降维又发现结构;矩阵补全在补全缺失值的同时也在降维。但区分这三个层次有助于理解:你为什么要分解这个矩阵?你希望从中得到什么?

Part 1 路线图

Part 1 的 13 篇文章沿以下脉络展开:

阶段文章内容
几何基础Art. 1a 向量空间几何内积、投影、秩、零空间、正交性
Art. 1b 矩阵结构几何二次型、正定性、协方差矩阵
工具建设Art. 2 特征分解A=QΛQ1A = Q\Lambda Q^{-1},方阵的对角化
Art. 3 SVDA=UΣVTA = U\Sigma V^T,Eckart-Young 定理
Art. 4 范数与条件数F\|\cdot\|_F, 2\|\cdot\|_2, \|\cdot\|_*, κ(A)\kappa(A)
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 在做什么。几何基础就绪后,我们再进入特征分解与对角化。