矩阵秩 (Matrix Rank)
1. 定义
一个矩阵的秩 (rank) = 它里面线性无关的行(或列)的数量。行秩和列秩在数学上永远相等,所以统称为 rank。
记忆钩子:秩就是矩阵包含的**“真正独立的信息方向”有几个**。满秩 = 没有冗余;秩亏 = 有些行/列是别的行/列的线性组合(重复方向)。它衡量的是”独立程度”,不是”元素个数”。
关联:矩阵运算(加减、乘、SVD、求逆)是秩的基础,见
../python/matrix-operations.md;你刚看的../ai-agent-guide/sft.md里 LoRA 的”低秩”就是这里的 rank 很小。
2. 核心概念
| 概念 | 含义 |
|---|---|
| 线性无关 | 没有一行/列能由其他行/列线性组合得到 |
| 行秩 = 列秩 | 定理保证两者相等,故统称 rank |
| 满秩 (full rank) | rank = min(m, n),所有”方向”都独立 |
| 秩亏 (rank-deficient) | rank < min(m, n),存在冗余方向 |
| 列空间 (column space) | 所有列向量张成的空间,其维度 = 秩(几何本质) |
| 零空间 (null space) | 被矩阵映射成 0 的向量空间,维度 = n - rank(秩-零化度定理) |
| SVD 视角 | 非零奇异值的个数 = 秩 |
3. 直觉与几何
秩 = 这个线性变换**“能铺到”多少个维度**。
- 一个
m×n矩阵把Rⁿ映射到Rᵐ里一个 rank 维的子空间。 - 秩越小,空间被压得越”扁”;
rank = min(m,n)才完整铺满。
A = [[1, 2], B = [[1, 0],
[2, 4]] [0, 1]]
第2行 = 2 × 第1行 → 只有 1 个独立方向 → rank = 1(压扁成一条线)
两行互不为倍数 → 2 个独立方向 → rank = 2(铺满平面,满秩)
m×n矩阵的秩上限是min(m, n)。非方阵也可以满秩(瘦高/矮胖矩阵,只要独立方向数等于较小的那个维度)。
4. 怎么算(代码)
import numpy as np
A = np.array([[1, 2],
[2, 4]])
np.linalg.matrix_rank(A) # → 1(第2行是第1行的2倍)
B = np.array([[1, 0],
[0, 1]])
np.linalg.matrix_rank(B) # → 2(满秩)
# 几何直觉:SVD 的非零奇异值个数就是秩
U, S, Vt = np.linalg.svd(A)
(S > 1e-10).sum() # → 1,等价于 matrix_rank5. 为什么重要:秩决定了什么
- 可逆性:方阵满秩 ⇔ 可逆;不满秩 = 奇异矩阵,没有逆(
np.linalg.inv会报错)。 - 方程可解性:
Ax = b有解 ⇔b落在 A 的列空间里,即rank(A) = rank([A|b]);不等则无解(差一个维度)。 - 信息/冗余:低秩 = 可压缩、有冗余;这正是 SVD 截断能做降维、去噪、压缩的根本原因。
- 机器学习:权重矩阵往往近似低秩,参数可大幅压缩而不明显掉点。
6. 和你刚看的 LoRA「低秩」挂钩 🔗
../ai-agent-guide/sft.md 里 LoRA 把微调时的权重更新 ΔW 近似成两个小矩阵相乘:
ΔW = B · A B 是 (d, r),A 是 (r, d),r << d
- 这个
r就是秩:ΔW的秩最多是r,所以叫”低秩”适配器。 - 含义:用远少于原矩阵的”独立方向”(
r个)去表达一次更新——可训练参数从d×d降到2·d·r,省显存、且因冻结底座而防遗忘。 - 一句话:“低秩”= 这次微调所需的改动本质只沿很少几个独立方向,没必要用满秩的大矩阵。
7. 常见误区
- ❌ “秩是矩阵的元素个数” → 错。秩是线性无关的行/列数,通常远小于元素总数。
- ❌ “行秩和列秩不一样” → 定理上两者严格相等,所以才共用一个 rank。
- ❌ “满秩一定是方阵” → 非方阵也能满秩(只要
rank = min(m,n),如3×2矩阵可以 rank=2)。 - ❌ “秩为 0 才有问题” → 只要**不满秩(秩亏)**就意味着不可逆、有信息冗余,不一定到 0。
- ❌ “LoRA 的 r 是原权重维度” →
r是低秩旁路的秩,r << d;LoRA 不改原权重维度,只是额外加了一个低秩更新支路。
8. 延伸阅读 / 关联概念
- 矩阵运算 — 秩建立在矩阵/乘法/SVD/求逆之上;见
../python/matrix-operations.md - SFT / LoRA — “低秩”在本笔记第 6 节展开;见
../ai-agent-guide/sft.md - 梯度下降 — 参数更新本质在高维空间里沿负梯度方向走,秩帮助理解参数空间的”有效维度”;见
../ai-agent-guide/../machine-learning/gradient-descent.md - 特征值 / 特征向量 / SVD — 与秩同源的线性代数基础,矩阵运算笔记的关联项