第9讲 · EECS 189:线性回归与正则化
UC Berkeley EECS 189/289A《机器学习导论》2026 春季 · 课堂实录重构
| 原始标题 | Linear Regression & Regularization |
| 视频 | https://www.youtube.com/watch?v=lrU8Vn0G44w |
| 课程主页 | https://eecs189.org/sp26/ |
| 官方讲义/笔记(Lecture 9) | Google Drive PDF |
| 图片来源 | 书中幻灯片插图为官方 PDF 高清渲染图 |
对应讲次:第9讲(UC Berkeley EECS 189 机器学习导论)
制作模型:deepseek-flash(coding-agent / pi;据 ~/.pi/agent/settings.json)
说明:课程材料版权归 UC Berkeley 及授课教师所有,本书仅供学习
本讲路线图
(参考时间: 00:00)
- 更正上一讲的子空间维度笔误,并顺带讲清 Moore–Penrose 伪逆;
- L2 正则化(岭回归):从「惩罚」「约束优化」「贝叶斯/MAP」三个角度导出同一个损失;
- 如何选超参数 $\lambda$:训练/验证/测试划分与交叉验证。
📷 标题页
回到原视频 (00:00:01)
一、更正与回顾:伪逆的直觉
1.1 上一讲的笔误
(参考时间: 00:00)
有同学发现上一讲几何视角的笔误:$X$ 的每一列是 $N$ 维向量,$D$ 个这样的列向量张成的是 $\mathbb{R}^N$ 中的一个 $D$ 维子空间(不是 $\mathbb{R}^D$)。索引也应为 1 起(0→1)。
📷 笔误更正(一)
回到原视频 (00:00:10)
📷 笔误更正(二)
回到原视频 (00:00:30)
1.2 回顾:两条路殊途同归
(参考时间: 00:01)
上一讲我们用概率(MLE)与几何(投影)两种方式,都得到了
$$ \hat w=(A^\top A)^{-1}A^\top y $$
- 当 $A^\top A$($D\times D$)满秩时可逆;
- 只要特征线性相关(或特征数 $>$ 样本数)就秩亏,此时用左伪逆(Moore–Penrose)$A^\dagger=(A^\top A)^{-1}A^\top$,它给出范数最小的那个解。
📷 回顾:两种推导
回到原视频 (00:01:27)
📷 回顾:可逆的条件
回到原视频 (00:01:46)
📷 左伪逆
回到原视频 (00:02:22)
一个漂亮的一致性检验:若 $A$ 本身可逆,则 $(A^\top A)^{-1}A^\top=A^{-1}$,伪逆退化回普通逆——方程与 MLE 一致。
1.3 用 SVD 理解伪逆
(参考时间: 00:04)
任何实矩阵 $X$ 都可做奇异值分解(SVD):$X=U\Sigma V^\top$,其中 $U,V$ 正交(旋转),$\Sigma$ 对角(按奇异值缩放)。于是 $X^{-1}=V\Sigma^{-1}U^\top$。
若可逆:直接对对角元取倒数 $1/\sigma_i$。 若不可逆(某些奇异值为 0):把 0 的位置也填成 0,相当于「抹掉那部分子空间」——这正是 Moore–Penrose 伪逆的做法,它给出最小 L2 范数解。
📷 SVD 与伪逆(一)
回到原视频 (00:04:35)
为什么小范数更好?(直觉)若数据有扰动,小范数的 $w$ 使预测的扰动也小,模型更鲁棒:对系统的微小扰动不应导致参数估计的大幅变化。伪逆正好做了这件事,但它无法推广到神经网络/逻辑回归(那些要用迭代梯度下降)。
📷 回顾:为什么最小范数解更优
回到原视频 (00:12:02)
📷 回顾:自由度过高的问题
回到原视频 (00:12:24)
📷 回顾:删特征 vs 加惩罚
回到原视频 (00:15:30)
编者说明:即便没有代数退化($A^\top A$ 满秩、唯一解),建模意义上仍可能「太复杂」——例如高次多项式穿过了所有带噪声的数据点。因此我们需要减少自由度。一种做法是删特征,另一种——本讲重点——是正则化:保留所有参数,但不让它们自由膨胀。
二、L2 正则化(岭回归)
2.1 惩罚项
(参考时间: 00:16)
$$\hat w=\arg\min_w\ \underbrace{\lVert y-Xw\rVert^2}_{\text{平方损失}} + \lambda\underbrace{\lVert w\rVert_2^2}_{\text{L2 惩罚}}$$
- $\lambda$ 是超参数(旋钮):控制「拟合数据」与「缩小参数」之间的权衡;
- $\lambda=0$ ⇒ 退回普通 MLE;$\lambda$ 很大 ⇒ 参数趋近 0;
- 这被称为岭回归(Ridge)/ L2 线性回归 / 惩罚最大似然。
📷 MLE 何时会出错(尖峰 vs 平坦区)
回到原视频 (00:16:34)
📷 L2 正则化线性回归
回到原视频 (00:18:16)
📷 回顾:MLE 的风险
回到原视频 (00:17:36)
2.2 三种解释
(1) 惩罚 / 缩小参数:不给参数无限自由,而是惩罚过大的范数。
(2) 约束优化:等价于在 $\lVert w\rVert_2^2\le C$ 的约束下最小化平方损失(拉格朗日乘子),$\lambda$ 越大 ⇒ 约束越紧 ⇒ 范数越小。
(3) 贝叶斯 / MAP(讲师最推崇的直觉):
- MLE 取似然曲线的全局最大点——但那可能是一个「异常尖峰」(恰好拟合噪声);
- 贝叶斯不求单个参数值,而是求参数的后验分布,再对参数做加权预测;
- 计算完整后验需要归一化常数(复杂),于是做「偷懒的贝叶斯」——最大后验(MAP):取后验的 $\arg\max$,恼人的归一化常数与 $\theta$ 无关、可直接忽略:
$$\hat\theta_{\text{MAP}}=\arg\max_\theta\ p(D\mid\theta)\,p(\theta)$$
- 给权重 $w$ 一个零均值、球形(对角)协方差的高斯先验 $p(w)=\mathcal{N}(0,\sigma_w^2 I)$,则 MAP 恰好等于 L2 正则化回归。
📷 贝叶斯建模方法
回到原视频 (00:20:47)
📷 尖峰与平坦区
回到原视频 (00:21:37)
📷 小权重先验 ⇒ L2 回归
回到原视频 (00:30:12)
📷 高斯先验下的 MAP
回到原视频 (00:30:31)
编者说明:讲师自称「假贝叶斯」——不真的去算整个后验分布(那是研究生课程的内容),而是借用先验来调整似然曲线:先验会压低那些在先验下不太可能的参数,从而改变最大值的位置。若先验形式与似然的数学形式「匹配」(都是高斯),推导会非常干净。
2.3 求解与要点
(参考时间: 00:38)
对 $L=\lVert y-Xw\rVert^2+\lambda\lVert w\rVert^2$ 用矩阵微积分求梯度并令零:
$$ -2X^\top y+2X^\top X w+2\lambda w=0 \;\Longrightarrow\; (X^\top X+\lambda I)\,\hat w = X^\top y $$
$$ \boxed{\ \hat w=(X^\top X+\lambda I)^{-1}X^\top y\ } $$
要点:
- $\lambda=0$ 时退化为普通 MLE 的正规方程(一致性检验通过);
- 只要 $\lambda>0$,$X^\top X+\lambda I$ 一定可逆!由 SVD,$X^\top X$ 的特征值 $\ge0$(可能为 0),加 $\lambda>0$ 后全为正——即使系统秩亏也能「救活」,且无需伪逆;
- 即使系统不退化,我们仍然常用正则化,因为它能缩小 $w$、抑制对噪声的过拟合。
📷 得到 MAP/L2 解(一)
回到原视频 (00:38:45)
📷 把「平坦山脊」弯出唯一最优 w
回到原视频 (00:49:41)
📷 λ 的作用:从 MLE 到全零
回到原视频 (00:52:26)
编者说明:把负对数似然画成曲面,若系统欠定,则存在一条「山脊」——无穷多组 $w$ 有相同损失。加 L2 惩罚相当于把这条平坦山脊弯出一个唯一的最低点。随 $\lambda$ 增大,$w$ 的各分量被一致地拉向 0;$\lambda\to\infty$ 时「全预测为 0」是最优解。中间某个 $\lambda$ 往往给出既能拟合又不拟合噪声的好模型。
三、如何选超参数 $\lambda$
(参考时间: 00:59)
关键事实:$\lambda$ 不能用 MLE 来估计——若把 $L(w,\lambda)$ 对 $\lambda$ 最小化,最优永远是 $\lambda=0$(等于关掉正则化)。这类「辅助的、按不同方式产生」的量就是超参数:原则上你能用 MLE 估参数 $w$,但 $\lambda$ 必须用未参与训练的数据来选。
- 训练集:拟合参数 $w$;
- 验证集:在不同的 $\lambda$ 上得到不同的 $\hat w$,选在验证集上预测误差最小的那个 $\lambda$;
- 测试集:只能在最后用一次,估计模型的真实泛化性能。
为什么需要独立的测试集? 因为你会尝试很多个 $\lambda$:纯凭运气,总有一个在验证集上看起来很好——这是多重假设检验问题(像买很多彩票)。所以必须再用一个从未看过的测试集来确认。(而且训练/验证/测试必须同分布,否则结论不成立。)
📷 训练/验证/测试划分(一)
回到原视频 (00:59:32)
📷 训练/验证/测试划分(二)
回到原视频 (01:00:19)
交叉验证(Cross-Validation):只切一次验证集是「把所有鸡蛋放一个篮子里」。K 折交叉验证把训练数据分成 K 份,轮流用其中一份做验证、其余做训练,取平均——降低估计的方差,更稳健地选 $\lambda$。
📷 K 折交叉验证
回到原视频 (01:05:10)
编者说明:讲师指出,$\lambda$ 的最好值通常不为 0——因为现实中你并不知道真正的因果特征,往往混入大量无关特征;由于观测噪声,这些虚假特征会在验证集上「碰巧」显得相关。正则化正是用来抑制这种抓住噪声的行为。此外,也可以用对数网格来搜索 $\lambda$。
总结(Takeaways)
- Moore–Penrose 伪逆:由 SVD 理解——奇异值取倒数、零处填零,得到最小 L2 范数解,可处理秩亏。
- L2 正则化(岭回归):损失 + $\lambda\lVert w\rVert_2^2$;解为 $\hat w=(X^\top X+\lambda I)^{-1}X^\top y$。
- 三个等价视角:惩罚、约束优化、贝叶斯/MAP(高斯先验)。
- $\lambda=0$ 退回 MLE;$\lambda>0$ 保证可逆;$\lambda\to\infty$ 使 $w\to0$。
- $\lambda$ 是超参数,必须用验证集选、用测试集最终确认;K 折交叉验证降低方差。
- 正则化在现代机器学习/神经网络中广泛使用。
附录:课堂未展示的幻灯片(L1/Lasso 与延伸)
以下幻灯片属于本讲 deck 的其他先验、Lasso(L1)、因果 vs 相关部分,本次录像未展开,作为延伸阅读收录。
🖼️ 线性回归的其他先验
🖼️ L1 惩罚线性回归(Lasso)(一)
🖼️ L1 惩罚线性回归(Lasso)(二)
🖼️ Lasso 的几何
🖼️ Lasso/L1 的 MAP 解释
🖼️ 组合 L1 与 L2 惩罚
🖼️ 一个思想实验
🖼️ 因果 vs 相关
附:参考与延伸阅读
| 主题 | 链接 |
|---|---|
| 本讲视频 | https://www.youtube.com/watch?v=lrU8Vn0G44w |
| 课程主页 | https://eecs189.org/sp26/ |
| 官方讲义/笔记(Lecture 9) | Google Drive PDF |
| 教材 Machine Learning: A First Course for Engineers and Scientists | 正则化、岭回归、Lasso、MAP 相关章节 · https://doi.org/10.1017/9781108919371 |
版权说明:本讲视频、幻灯片与课程材料版权归 UC Berkeley EECS 189/289A 课程团队所有。本书为课堂内容的学习性中文重构,仅供学习交流。