看起来挺简洁,对吧?但当你翻开教材,发现这背后藏着一堆正交矩阵、奇异值、特征向量……瞬间头大。
我每次看到 SVD,都忍不住想:这玩意儿到底是怎么被“想出来”的?是某个数学家喝多了咖啡,突然梦见上帝说:“听着,所有矩阵都能拆成三步走……”
今天,我们不背公式,不套定理。我们要还原 SVD 的“发明”过程——从一个最朴素的问题出发:一个矩阵,到底对向量做了什么?
一、矩阵左乘 = 沿坐标轴的伸缩(从最简单例子开始)
我们从一个最简单的
2
×
2
对角矩阵入手:
D
=
[
3
0
0
1
]
取任意向量
x
=
[
x
1
x
2
]
,左乘后得到:
D
x
=
[
3
x
1
x
2
]
这意味着:输入向量在标准基方向
e
1
=
(
1
,
0
)
T
和
e
2
=
(
0
,
1
)
T
上被独立拉伸——
x
方向放大 3 倍,
y
方向不变。
这个例子揭示了矩阵左乘的本质:线性变换 = 对输入空间的各个方向进行伸缩(可能还混合)。
而对角矩阵之所以“干净”,是因为它恰好以标准基为伸缩方向,没有混合。
但现实中的矩阵通常不是对角的。那么问题来了:非对角矩阵是否也能找到自己的“伸缩方向”?
二、EVD:方阵的“主伸缩方向”与秩的含义
考虑一个对称方阵:
A
=
[
2
1
1
2
]
我们寻找那些被
A
作用后只伸缩、不转向的向量
v
,即满足:
A
v
=
λ
v
这就是特征方程,其中
λ
是特征值,
v
是对应的特征向量。
对上面的
A
,解得两组解:
λ
1
=
3
,对应
v
1
=
[
1
1
]
λ
2
=
1
,对应
v
2
=
[
1
−
1
]
将这两个向量单位化(归一化),得到标准正交基:
q
1
=
1
√
2
[
1
1
]
,
q
2
=
1
√
2
[
1
−
1
]
把它们拼成正交矩阵
Q
=
[
q
1
,
q
2
]
,则
Q
T
Q
=
I
。
由于
A
q
i
=
λ
i
q
i
对每个列都成立,我们可以把所有等式合写为:
A
Q
=
Q
Λ
⇒
A
=
Q
Λ
Q
T
其中
Λ
=
[
3
0
0
1
]
这就是特征值分解(EVD)。它告诉我们:任何可对角化的方阵,本质上只是在一组特定正交方向上做独立伸缩。
满秩 vs 低秩:不只是数学,更是能力
一个
n
×
n
矩阵的“能力”取决于它有多少个非零特征值。
满秩矩阵:比如
A
=
[
2
1
1
2
]
有两个非零特征值(3 和 1),秩为 2。它能对任意方向的输入产生非零输出——换句话说,它可以“操控”整个 2D 空间。
低秩矩阵:比如
B
=
[
1
1
1
1
]
特征值为 2 和 0,秩为 1。它只能在方向
[
1
1
]
上拉伸,而在垂直方向
[
1
−
1
]
上输出恒为零。无论你输入什么,结果永远落在一条直线上。
在深度学习中,这种差异至关重要:
满秩变换(如初始权重)具有最大表达能力,能响应任意输入变化;
低秩更新(如微调时的
Δ
W
)则表明:模型真正需要调整的,往往只是少数几个“敏感方向”。
这正是 LoRA(Low-Rank Adaptation)有效的核心原因:我们不需要改动整个高维权重矩阵,只需在低维子空间中微调,就能高效适配新任务。
但 EVD 有一个致命限制:它只适用于方阵。一旦矩阵是“长方形”的,比如
M
∈
R
n
×
m
且
n
≠
m
,特征方程
M
v
=
λ
v
就因维度不匹配而失去意义。
于是,我们必须回答一个更一般的问题:非方阵如何描述其“伸缩行为”?
三、SVD:为非方阵找到“跨空间的主方向”
面对
M
∈
R
n
×
m
,我们放弃“输入输出方向相同”的执念,转而问:
是否存在输入空间的一组标准正交基
{
v
1
,
…
,
v
m
}
和输出空间的一组标准正交基
{
u
1
,
…
,
u
n
}
,使得
M
v
i
=
σ
i
u
i
(
i
=
1
,
…
,
r
=
min
(
n
,
m
)
)
这个等式是我们希望达成的目标:第
i
个输入主方向
v
i
,只激发第
i
个输出主方向
u
i
,放大
σ
i
倍。
我们按拉伸强度从大到小排序:
σ
1
≥
σ
2
≥
⋯
≥
σ
r
≥
0
。
更一般的表示是
M
V
=
U
Σ
后面我们可以知道
V
是正交矩阵,所以上式两边都右乘
V
T
,就可以得到常见的 SVD 的形式了
M
V
V
T
=
M
V
V
−
1
=
M
=
U
Σ
V
T
3.1 以最强方向
σ
1
为例
回归正题,我们该如何计算
σ
i
呢?我们以最强方向,即
σ
1
为最大值的情况为例。
假设存在单位向量
v
1
和
u
1
,使得:
M
v
1
=
σ
1
u
1
,
∥
v
1
∥
=
∥
u
1
∥
=
1.
两边取范数,得:
∥
M
v
1
∥
=
∥
σ
1
u
1
∥
=
σ
1
.
因此,
σ
1
就是
M
在单位输入下能产生的最大输出长度。
换句话说,
σ
1
是如下优化问题的解:
σ
1
=
max
∥
v
∥
=
1
∥
M
v
∥
.
由于范数非负,等价于最大化其平方:
σ
2
1
=
max
∥
v
∥
=
1
∥
M
v
∥
2
=
max
∥
v
∥
=
1
v
T
(
M
T
M
)
v
.
3.2 计算奇异值和右奇异矩阵 V
记
A
=
M
T
M
。矩阵
A
是
m
×
m
实对称矩阵,且对任意
v
有
v
T
A
v
≥
0
,故
A
半正定。记
A
的特征值按非增序排列为
λ
1
≥
λ
2
≥
⋯
≥
λ
m
≥
0
,对应的标准正交特征向量为
q
1
,
…
,
q
m
,即
A
q
i
=
λ
i
q
i
瑞利商的极值性质表明(原理推导见本节末尾):
max
∥
v
∥
=
1
v
T
A
v
=
λ
1
,
且最大值在
v
=
q
1
处取得。更一般地,对
k
=
1
,
…
,
m
,
max
∥
v
∥
=
1
v
⊥
q
1
,
…
,
q
k
−
1
v
T
A
v
=
λ
k
,
在
v
=
q
k
处取得。说人话就是,第k 大的值就是
λ
k
,而且是在
v
=
q
k
时可以得到。
所以
σ
2
i
=
max
∥
v
∥
=
1
v
T
(
M
T
M
)
v
=
λ
i
i
=
1
,
…
,
m
,
则
σ
i
=
√
λ
i
,
σ
1
≥
σ
2
≥
⋯
≥
σ
m
≥
0
,且
v
i
=
q
i
至此,我们成功求解了矩阵 V和奇异值矩阵
Σ
瑞利商性质:对实对称矩阵
A
,定义其瑞利商为
R
A
(
c
)
=
c
T
A
c
c
T
c
,
c
≠
0
.
当
∥
c
∥
=
1
时,
R
A
(
c
)
=
c
T
A
c
。
设
A
的特征值按非增序排列为
λ
1
≥
λ
2
≥
⋯
≥
λ
m
≥
0
,对应的标准正交特征向量为
q
1
,
…
,
q
m
,即
A
q
i
=
λ
i
q
i
,
q
T
i
q
j
=
δ
i
j
.
瑞利商的极值性质表明:
max
∥
c
∥
=
1
c
T
A
c
=
λ
1
,
且最大值在
c
=
q
1
处取得。更一般地,对
k
=
1
,
…
,
m
,
max
∥
c
∥
=
1
c
⊥
q
1
,
…
,
q
k
−
1
c
T
A
c
=
λ
k
,
在
c
=
q
k
处取得。
因此,令
σ
i
=
√
λ
i
,
c
i
=
q
i
,
i
=
1
,
…
,
m
,
则
σ
1
≥
σ
2
≥
⋯
≥
σ
m
≥
0
,且
∥
M
c
i
∥
2
=
c
T
i
A
c
i
=
λ
i
=
σ
2
i
.
3.3 构造左奇异矩阵
令
r
=
rank
(
M
)
。由于
rank
(
M
)
=
rank
(
M
T
M
)
,有
σ
i
>
0
当且仅当
i
≤
r
。
对每个
i
=
1
,
…
,
r
,根据最前面的定义
M
v
i
=
σ
i
u
i
,我们有
u
i
=
1
σ
i
M
v
i
.
至此就可算出对应的
σ
i
,
v
i
,
u
i
。我们会发现求得的
u
i
也是基坐标,彼此正交:
∥
u
i
∥
=
1
σ
i
∥
M
v
i
∥
=
1
σ
i
⋅
σ
i
=
1
,
且
M
v
i
=
σ
i
u
i
.
对
i
≠
j
≤
r
,有
u
T
i
u
j
=
1
σ
i
σ
j
v
T
i
M
T
M
v
j
=
1
σ
i
σ
j
v
T
i
(
σ
2
j
v
j
)
=
σ
j
⋅
v
T
i
v
j
=
0
,
故
{
u
1
,
…
,
u
r
}
是
R
n
中的标准正交向量组。
前面计算的
u
i
是与
v
i
一一对应的,但是当
r
<
n
时,剩下的
u
i
该如何计算呢?我们会发现存在
n
−
r
维子空间
U
⊥
=
{
x
∈
R
n
∣
∣
u
T
i
x
=
0
,
∀
i
=
1
,
…
,
r
}
.
在
U
⊥
中任取一组标准正交基
{
u
r
+
1
,
…
,
u
n
}
,则最终的左奇异矩阵为
U
=
[
u
1
,
…
,
u
n
]
∈
R
n
×
n
为正交矩阵。
3.4 拼装 SVD
令
V
=
[
v
1
,
…
,
v
m
]
∈
R
m
×
m
,
Σ
∈
R
n
×
m
为对角矩阵,其对角元为
σ
1
,
…
,
σ
r
,其余元素为 0。
由
M
v
i
=
σ
i
u
i
对
i
=
1
,
…
,
r
成立,且对
i
>
r
有
σ
i
=
0
,可得矩阵等式
M
V
=
U
Σ
.
由于
V
正交(
V
T
V
=
I
m
),右乘
V
T
得
M
=
U
Σ
V
T
.
结语
SVD 并非凭空定义的数学魔术,而是为了解决“非方阵如何描述伸缩”这一朴素问题,从对角矩阵 → EVD → 跨空间推广,一步步自然推导出的必然结果。