M07 习题:SVD
A 概念题
- 为什么 SVD 对任意 矩阵都存在,而特征分解只对方阵? 在这个构造里扮演什么角色?
- 什么时候 成立?举一个 的 例子,并解释差在哪。
- 陈述 Eckart–Young 定理。为什么「保留最大的 个奇异值」不是启发式,而是最优的?两种误差(Frobenius、谱)分别等于什么?
- 写出伪逆的 SVD 形式 。为什么必须引入截断?「数值秩」依赖哪些因素,为什么它不是矩阵的固有属性?
- PCA 为什么必须先中心化?PCA 与 SVD 是什么关系?「解释方差比 90%」这句话在重构误差的语言里等价于什么?
B 计算题
- ,求全部奇异值、左右奇异向量,并验证 。
- ,求 SVD、、,并解释 的几何含义。
- ,取 。求 、、、能量比 ,以及 需要存几个数。
- ⚙ ,。求最小二乘解 、残差,并验证残差与 的两列都正交。
- ⚙ 。求 ;取 时数值秩是多少?若 有相对误差 ,解的相对误差上界是多少?
C 大模型题
- LoRA 中 、。求 的秩上界、参数量、占全参数的比例。
- 某模型 层,每层缓存 ,、。求 fp16 下 KV Cache 的原始大小;若对每层的 各做秩 的低秩近似(存 与 两个因子),求新大小与压缩比。
- 闭式编辑:,要在 个输入 上满足 。写出 的公式与形状、秩上界;若 ,会发生什么?给两种补救。
D 开放题
- 截断 SVD 与量化(把权重压到 8 bit/4 bit)都能「压缩模型」。从误差可控性、硬件友好度、精度损失三方面比较,各适合什么场景?
- 「有效秩远小于名义维度」这个假设在哪些任务上可能失效?你会用什么实验去检验它?
做完后对照 答案。若某题与
lab07的输出不一致,先信手算,再检查是否把 与 弄反、或忘了 NumPy 的符号自由度。