这是“线性代数到模型学习 50 题”的上篇,覆盖第 1 到 25 题。
我按高等教育出版社官方产品页确认的同济大学数学科学学院《工程数学 线性代数》第七版范围来组织:行列式、矩阵及其运算、矩阵的初等变换与线性方程组、向量组的线性相关性、相似矩阵及二次型、线性空间与线性变换。本文只借用知识范围,不复刻教材原题。
这组题的目标不是替代教材,而是回答一个更具体的问题:
如果我要学大模型、深度学习、embedding、注意力、PCA、LoRA、低秩压缩,线性代数里哪些题最值得反复练
flowchart LR
A["向量"] --> B["矩阵"]
B --> C["线性方程组"]
C --> D["秩与子空间"]
D --> E["投影与最小二乘"]
E --> F["模型中的线性层"]
排版约定:公式块里不放句号或逗号,避免 KaTeX 把标点渲染成公式的一部分;每题固定为 题目 / 解答 / 答案 / 模型连接。
一、矩阵和向量:模型计算的基本形状
1. 矩阵乘向量就是线性层
题目:设
A=[1324],x=[56]
求 Ax。
解答:
矩阵乘向量,就是每一行和向量做点积:
Ax=[1⋅5+2⋅63⋅5+4⋅6]
逐项计算:
Ax=[1739]
答案:
[1739]
模型连接:神经网络里的线性层就是 Wx+b。矩阵 W 存权重,向量 x 存输入特征。
2. 检查矩阵乘法的形状
题目:若
A∈R3×4,B∈R4×2
求 AB 的形状,并判断 BA 是否有定义。
解答:
矩阵乘法 AB 有定义的条件是:
A 的列数=B 的行数
这里 A 的列数为 4,B 的行数为 4,所以 AB 有定义。
结果形状取外侧维度:
AB∈R3×2
再看 BA。B 的列数为 2,A 的行数为 3,不相等,所以 BA 无定义。
答案:AB 的形状为 3×2,BA 无定义。
模型连接:大模型工程里 shape 错误非常常见。矩阵乘法的内侧维度必须对齐,是理解 batch、hidden size、attention head 的第一步。
3. 点积衡量方向相似
题目:设
a=(1,2,2),b=(2,0,1)
求 a⋅b。
解答:
点积等于对应分量相乘后相加:
a⋅b=1⋅2+2⋅0+2⋅1
所以:
a⋅b=4
答案:
4
模型连接:注意力机制里的 query 和 key 会做点积。点积越大,通常表示两个向量方向越接近,相关性越强。
4. 转置让行向量和列向量对齐
题目:设
x=123,y=456
求 x⊤y 和 xy⊤ 的形状。
解答:
x⊤ 是 1×3,y 是 3×1,所以:
x⊤y∈R1×1
它是一个数:
x⊤y=1⋅4+2⋅5+3⋅6=32
而 x 是 3×1,y⊤ 是 1×3,所以:
xy⊤∈R3×3
具体为:
xy⊤=48125101561218
答案:x⊤y=32,xy⊤ 是 3×3 矩阵。
模型连接:内积得到相似度,外积得到一个矩阵更新。低秩适配 LoRA 可以理解成用两个小矩阵的乘积生成一个低秩更新。
5. 矩阵乘法不满足交换律
题目:设
A=[1011],B=[1101]
分别计算 AB 和 BA。
解答:
先算 AB:
AB=[1⋅1+1⋅10⋅1+1⋅11⋅0+1⋅10⋅0+1⋅1]=[2111]
再算 BA:
BA=[1⋅1+0⋅01⋅1+1⋅01⋅1+0⋅11⋅1+1⋅1]=[1112]
显然:
AB=BA
答案:
AB=[2111],BA=[1112]
模型连接:神经网络层的顺序不能随便交换。先做投影再做归一化,和先归一化再投影,通常不是一回事。
二、行列式和逆矩阵:可逆、面积和信息是否丢失
6. 二阶行列式
题目:计算
det[2134]
解答:
二阶行列式公式为:
det[acbd]=ad−bc
代入:
2⋅4−3⋅1=5
答案:
5
模型连接:行列式可以理解为线性变换对面积或体积的缩放倍数。行列式为 0 表示某个方向被压没,信息不可逆丢失。
7. 行列式为 0 的几何意义
题目:判断矩阵
A=[1224]
是否可逆。
解答:
计算行列式:
det(A)=1⋅4−2⋅2=0
二阶矩阵可逆当且仅当行列式不为 0。这里行列式为 0,所以矩阵不可逆。
答案:A 不可逆。
模型连接:第二行是第一行的 2 倍,说明信息重复。模型表示里如果很多特征线性相关,就会造成冗余和低秩结构。
8. 求二阶逆矩阵
题目:求
A=[2111]
的逆矩阵。
解答:
二阶逆矩阵公式:
[acbd]−1=ad−bc1[d−c−ba]
这里:
ad−bc=2⋅1−1⋅1=1
所以:
A−1=[1−1−12]
答案:
A−1=[1−1−12]
模型连接:逆矩阵表示“撤销一个线性变换”。但大模型里通常不显式求逆,因为维度太大、数值也可能不稳定。
9. 用逆矩阵解方程组
题目:解
{2x+y=5x+y=3
解答:
写成矩阵形式:
[2111][xy]=[53]
由上一题可知:
A−1=[1−1−12]
所以:
[xy]=A−1[53]=[1−1−12][53]
计算:
[xy]=[21]
答案:
x=2,y=1
模型连接:线性方程组是最小版的“拟合参数”。训练线性模型,本质上就是找一组参数让方程尽量成立。
10. 对角矩阵的逆
题目:设
D=2000500010
求 D−1。
解答:
对角矩阵只在主对角线上缩放各坐标。要撤销它,只需把每个对角元素取倒数:
D−1=2100051000101
答案:
D−1=2100051000101
模型连接:归一化、缩放、逐通道 rescale 都可以先看成对角矩阵操作。每个维度独立缩放,计算简单。
三、初等变换和线性方程组:训练求解的原型
11. 高斯消元解二元方程组
题目:解
{x+2y=73x+4y=17
解答:
写增广矩阵:
[1324717]
用第二行减去第一行的 3 倍:
R2←R2−3R1
得到:
[102−27−4]
第二行给出:
−2y=−4
所以:
y=2
代回第一行:
x+2⋅2=7
得到:
x=3
答案:
x=3,y=2
模型连接:高斯消元是系统性消去变量。很多数值线性代数算法都在做更大规模、更稳定的“消元”。
12. 用秩判断方程组是否有解
题目:判断方程组
{x+y=12x+2y=3
是否有解。
解答:
第二个方程左边是第一个方程左边的 2 倍。如果第一个方程成立,那么左边乘 2 应该得到:
2x+2y=2
但第二个方程要求:
2x+2y=3
矛盾。
也可看增广矩阵:
[121213]
第二行减去第一行的 2 倍:
[101011]
这表示 0=1,所以无解。
答案:无解。
模型连接:不是所有数据都能被一个简单线性模型完全拟合。无解时,我们通常转向最小二乘,找“误差最小”的近似解。
13. 欠定方程组有无穷多解
题目:解方程
x+2y+z=4
写出通解。
解答:
一个方程有三个未知数,通常会有自由变量。令:
y=s,z=t
其中 s,t 为任意实数。
则:
x=4−2s−t
所以通解为:
(x,y,z)=(4−2s−t, s, t)
也可写成:
xyz=400s−210t−101
答案:
(x,y,z)=(4−2s−t, s, t),s,t∈R
模型连接:参数多于约束时,会出现很多解。过参数化神经网络也是这样:能拟合训练集的参数组合很多,优化和正则化决定最后落在哪个解。
14. 计算矩阵的秩
题目:求矩阵
A=121241361
的秩。
解答:
第二行是第一行的 2 倍,所以第二行不提供新的独立信息。
比较第一行和第三行:
(1,2,3)
和
(1,1,1)
不是倍数关系,所以它们线性无关。
因此独立行有 2 行,矩阵的秩为 2。
也可通过行变换:
R2←R2−2R1
得到一行全 0,剩余两行独立。
答案:
rank(A)=2
模型连接:秩表示矩阵真正保留了多少独立方向。低秩压缩、LoRA、PCA 都是在利用“有效信息维度低于表面维度”。
15. 判断列向量是否张成目标向量
题目:判断
b=[35]
是否能由
v1=[11],v2=[12]
线性表示。
解答:
要求存在 c1,c2,使:
c1v1+c2v2=b
即:
c1[11]c2[12]=[35]
得到方程组:
{c1+c2=3c1+2c2=5
第二式减第一式:
c2=2
代回:
c1=1
所以可以线性表示。
答案:
b=1⋅v1+2⋅v2
模型连接:embedding 空间里的一个表示,常常可以看成若干基础方向的线性组合。理解“张成”就是理解表示空间能覆盖哪些方向。
四、向量组、基、坐标和子空间
16. 判断两个向量是否线性无关
题目:判断
v1=(1,2),v2=(3,6)
是否线性无关。
解答:
如果一个向量是另一个向量的倍数,则线性相关。
这里:
v2=3v1
所以两向量线性相关,不是线性无关。
答案:线性相关。
模型连接:相关特征会提供重复信息。模型训练中,冗余特征可能导致参数不稳定,也会让有效维度下降。
17. 三维标准基下的坐标
题目:设标准基为
e1=(1,0,0),e2=(0,1,0),e3=(0,0,1)
写出 x=(4,−1,2) 在该基下的坐标。
解答:
标准基下:
x=4e1−1e2+2e3
所以坐标就是:
4−12
答案:
(4,−1,2)
模型连接:向量坐标依赖基。embedding 的每个维度可以看作在某组基方向上的坐标,但这些方向通常不是人类可直接解释的。
18. 非标准基下的坐标
题目:设
b1=(1,1),b2=(1,−1)
求 x=(3,1) 在基 {b1,b2} 下的坐标。
解答:
要求:
x=c1b1+c2b2
即:
c1(1,1)+c2(1,−1)=(3,1)
得到:
{c1+c2=3c1−c2=1
两式相加:
2c1=4
所以:
c1=2
再代回:
c2=1
答案:
[x]B=[21]
模型连接:换基就是换一种坐标系统看同一个对象。PCA 本质上就是找一组更适合描述数据的基。
19. 求零空间
题目:求矩阵
A=[121]
的零空间,即所有满足 Ax=0 的向量。
解答:
设:
x=xyz
方程 Ax=0 即:
x+2y+z=0
令:
y=s,z=t
则:
x=−2s−t
所以:
x=−2s−tst=s−210t−101
答案:
N(A)=span⎩⎨⎧−210,−101⎭⎬⎫
模型连接:零空间表示“输入变化了,但输出不变”的方向。模型压缩、不可辨识参数、过参数化解空间都和零空间有关。
20. 求列空间
题目:求矩阵
A=101202
的列空间。
解答:
两列分别为:
c1=101,c2=202
显然:
c2=2c1
所以列空间只需要 c1 张成:
Col(A)=span⎩⎨⎧101⎭⎬⎫
答案:
Col(A)=span⎩⎨⎧101⎭⎬⎫
模型连接:列空间是矩阵所有可能输出组成的空间。线性层能输出什么,取决于权重矩阵的列空间。
21. 秩-零度关系
题目:矩阵 A∈R2×3 的秩为 2。求它的零空间维数。
解答:
秩-零度定理:
rank(A)+nullity(A)=n
其中 n 是矩阵的列数。这里 n=3,且:
rank(A)=2
所以:
nullity(A)=3−2=1
答案:
1
模型连接:如果输入维度是 3,但线性层秩只有 2,就至少有 1 个方向会被压到零空间里,信息不可恢复。
五、最小二乘和模型线性层
22. 最小二乘的法方程
题目:给定
A=[11],b=[13]
求最小二乘问题
xmin∥Ax−b∥2
的解。
解答:
Ax 表示:
Ax=[xx]
要让它尽量接近 (1,3),直觉上 x 应该取平均值 2。用法方程验证:
A⊤Ax=A⊤b
先算:
A⊤A=[11][11]=2
再算:
A⊤b=[11][13]=4
所以:
2x=4
得到:
x=2
答案:
x=2
模型连接:最小二乘是监督学习的祖先。不能完全拟合时,就找平方误差最小的解。
23. 线性变换的矩阵表示
题目:线性变换 T:R2→R2 满足:
T(1,0)=(2,1),T(0,1)=(3,4)
求 T 的标准矩阵。
解答:
线性变换的标准矩阵由基向量的像作为列组成:
A=∣T(1,0)∣∣T(0,1)∣
所以:
A=[2134]
答案:
A=[2134]
模型连接:一个线性层由它对基方向的作用完全决定。权重矩阵就是线性变换在标准基下的表示。
24. embedding 查表可以看成矩阵乘法
题目:设 embedding 矩阵为
E=102013
第 3 个 token 的 one-hot 向量为
e3=001
计算 E⊤e3。
解答:
先写出:
E⊤=[100123]
于是:
E⊤e3=[100123]001=[23]
答案:
[23]
模型连接:embedding 查表可以理解成 one-hot 向量和 embedding 矩阵相乘。实际工程不会真的构造巨大 one-hot,但数学上等价。
25. 注意力分数矩阵的形状
题目:设
Q∈R4×8,K∈R4×8
其中 4 是 token 数,8 是每个 head 的维度。求注意力分数矩阵
S=QK⊤
的形状。
解答:
Q 的形状为 4×8。
K⊤ 的形状为 8×4。
所以:
S=QK⊤∈R4×4
这个矩阵中,第 i 行第 j 列表示第 i 个 token 的 query 和第 j 个 token 的 key 的相似度。
答案:
S∈R4×4
模型连接:注意力分数矩阵是 token 对 token 的关系表。序列长度为 n 时,注意力矩阵通常是 n×n,这也是长上下文成本高的原因之一。
上篇总结
这 25 题打的是线性代数的底盘:
- 矩阵乘法:模型前向计算。
- 行列式和可逆性:线性变换是否丢信息。
- 初等变换和方程组:参数求解的原型。
- 秩、列空间、零空间:信息维度和冗余。
- 最小二乘:监督学习的经典雏形。
- embedding 和 attention 形状:线代进入大模型的第一现场。
下篇会继续第 26 到 50 题,进入特征值、对角化、二次型、正交投影、PCA、SVD 和线性变换。
参考