M03 习题答案
对应 m03-习题。计算题给出步骤;数值答案已用 NumPy 复核。开放题给出评分要点,不要求与文字一致。
A 概念题
-
数据表:4 个样本、3 个特征,第 2 行 是第二个样本。线性映射:,输入 3 维、输出 4 维。列向量组:三个 4 维列向量 、、。算子不成立: 是 ,输入输出空间不同(),不能谈「同一空间上的变换」,也没有两边逆。
-
列组合把求和按 (输入维度)分组:,每一项是一个列向量。行点积把求和按 (输出维度)分组:,每个输出是一次点积。两者是同一个双重和 的不同遍历顺序:人按列看几何(基向量去哪),机器按行做连续内存访问与向量化点积。
-
不能。取 、、。,。而逐元素积 ,。逐元素积无法表达「先 后 」的复合,所以必须用行乘列的定义。
-
等价条件: 可逆;;;(列线性无关)。 时若列满秩, 满足 ,是左逆;但若存在右逆 使 ,则 ,与 矛盾。所以两边逆不可能同时存在。
-
因为零空间是输入空间 的子空间,列空间的维数 数的是「输入中有多少维被保留」,两者合起来划分的是输入空间,所以和为 。行变换是可逆左乘,保持行空间(新行是旧行的组合,反之亦可)与零空间( 的解不变);但列空间会变: 的列空间是 ,RREF 的列空间是 。所以列空间的基要取原矩阵的主元列。
B 计算题
-
(a) 列组合:。行点积:第一行 ,第二行 。 (b) ;。 (c) ,;,一致。
-
(a) ,,,,所以 。 (b) 列组合:,。行组合:,。外积和:。 (c) FLOPs。
-
(a) ,。 (b) 。验证:,。 (c) ,不可逆;取 ,。
-
(a) 得 ; 得 ; 得 。所以 ,。 (b) 。 (c) 前代 :;;。回代 :;;。所以 ,验证 。
-
(a) 行 2 = 行 1 + 行 3,秩为 2;消元: 得 , 得零行,再把第 1 行减去第 3 行,得 RREF 。 (b) 列空间基 、,维数 2;零空间基 ,维数 1;行空间基 、,维数 2;左零空间基 ,维数 1。 (c) ,;,。维数:,。 (d) 是第 1 列 + 第 2 列,在列空间; 若在列空间,解 得 ,代入第二式得 ,矛盾,所以不在。
C 大模型题
-
(a) 参数量 M。 (b) ,即约 369 GFLOP。 (c) 输出形状 ;元素数 ,fp16 每元素 2 字节,共约 MB(十进制)。若用 fp32 则约 180 MB。
-
(a) 只转置最后两维,;元素数 。 (b) fp16 占 字节,约 1.05 MB。 (c) FLOPs 。 (d) ;若 元素连续随机,秩以概率 1 恰为 64。所以一个头的 分数矩阵最多只有 64 个非零奇异值。
-
(a) 全量 ;LoRA ;比例 。 (b) 每个 token 的全量乘法约 FLOPs;LoRA 先算 ()再算 (),共 。比例 。 (c) 推理前做一次 ,代价 ;之后用 正常前向。 的秩不超过 8,但 一般仍是满秩 4096。
D 开放题
-
评分要点:固定随机种子;取 都不同的随机矩阵,避免方阵掩盖转置错误;分别用循环行乘列、
A @ B、列组合A @ B[:,j]、行组合A[i] @ B、外积和sum(np.outer(A[:,k], B[k]))计算,断言np.allclose;再用(AB)x与A(Bx)对照。若只在方阵通过,常见 bug 是把B的行列索引写反、外积用了B[:,k]而不是B[k],或把A的行数当成B的列数。 -
评分要点:对隐藏状态 做 SVD,画奇异值谱;用「有效秩」指标,如 ()或「保留 90% 能量所需维数」;比较通过低秩层 ()前后的谱。排除噪声:看奇异值是否有明显断崖、与同形状随机矩阵的谱对比、检查 float32/float64 下结论是否稳定、报告绝对奇异值而非只看相对比例。
有疑问的步骤建议回到对应小节:B1–B2 → 3.2/3.3;B3 → 3.4;B4 → 3.5;B5 → 3.7;C1–C3 → 3.2/3.3/3.6/3.7。