🏠 总目录📚 本教程 02 · MAP 与正则化真身
📑 本页目录(点开跳转)

02 · MAP 与正则化的真身

28 分钟 | ⭐⭐⭐ 全教程最漂亮的一个结论


🎯 一句话

L2 正则化不是一个「技巧」,它是「假设权重服从高斯分布」的必然结果。 你以为你在防过拟合,其实你在表达一个先验信念

先验看数据之前的信念似然数据说的后验两者的折中参数 θ后验 ∝ 先验 × 似然 —— 一句话,也是一张图⭐ 注意后验比两者都【更窄】:数据和先验都在减少不确定性数据越多,似然越尖 → 后验越靠近似然,先验的影响被逐渐冲淡⭐ 这就是 L2 正则的真身:λ = σ²/τ²,噪声越大(数据越不可信)正则越强
后验 ∝ 先验 × 似然 —— 一句话,也是一张图。⭐ 注意后验比两者都更窄:数据和先验都在减少不确定性。数据越多似然越尖,先验的影响被逐渐冲淡 —— 这就是 λ = σ²/τ² 的直观含义。

🧠 一、从 MLE 到 MAP:加入常识

第 1 章的毛病:抛 3 次全正面,MLE 说 p = 1.0(这枚硬币永远不出反面)。

但你心里其实有个先验:「硬币一般是均匀的,p 应该在 0.5 附近」。

   MLE:只看数据                  max  p(D|θ)
   MAP:数据 + 先验               max  p(θ|D)  ⭐
                                        ↑ 注意方向反了!

贝叶斯定理把两者连起来

$$\underbrace{p(\theta\mid D)}_{\text{后验}} = \frac{\overbrace{p(D\mid\theta)}^{\text{似然}}\cdot\overbrace{p(\theta)}^{\text{先验}}}{\underbrace{p(D)}_{\text{和 }\theta\text{ 无关}}}$$

💡 人话看到数据之后我对参数的信念 ∝ 数据有多支持它 × 我事先有多相信它。

因为分母和 θ 无关,最大化后验等价于:

$$\hat\theta_{MAP} = \arg\max_\theta \left[\underbrace{\log p(D\mid\theta)}_{\text{第 1 章的对数似然}} + \underbrace{\log p(\theta)}_{\text{⭐ 新增的这一项}}\right]$$

🔑 看那个加号——第一项是损失函数的来源(第 1 章), 第二项 log p(θ) 会变成什么?下面就是答案。


⭐ 二、高光时刻:L2 正则 = 高斯先验

假设权重服从零均值高斯分布

   先验信念:「权重不应该太大,应该集中在 0 附近」
   数学表达:w ~ N(0, τ²I)

              ╱▔▔╲          τ² 大 → 钟形宽 → 我对权重没什么成见
             ╱      ╲        τ² 小 → 钟形窄 → 我强烈认为权重该接近 0
            ─────────
                 0
📐 推导(想看再点,不看不影响)

高斯先验的对数:

$$\log p(w) = \log\left[\prod_j \frac{1}{\sqrt{2\pi\tau^2}}e^{-w_j^2/(2\tau^2)}\right] = C - \frac{1}{2\tau^2}\sum_j w_j^2$$

代入 MAP(似然部分用第 1 章的高斯噪声结果):

$$\hat w = \arg\max_w \left[ -\frac{1}{2\sigma^2}\sum_i (y_i - w^\top x_i)^2 - \frac{1}{2\tau^2}\|w\|^2 \right]$$

取负号变成最小化,同乘 $2\sigma^2$:

$$\boxed{\hat w = \arg\min_w \sum_i (y_i-w^\top x_i)^2 + \underbrace{\frac{\sigma^2}{\tau^2}}_{=\;\lambda}\|w\|^2}$$

💡 结论(不看推导也要记住)

岭回归(L2 正则)= 高斯先验下的 MAP 估计。

而且正则强度有了明确含义: $$\lambda = \frac{\sigma^2}{\tau^2} = \frac{\text{噪声方差}}{\text{先验方差}}$$

这个式子解释了一切

情况 λ 直觉
数据噪声大(σ² 大) λ 大,正则强 数据不可信,多听先验的
数据很干净(σ² 小) λ 小 数据可信,让它说话
先验很宽松(τ² 大) λ 小 我对权重没成见
先验很强(τ² 小) λ 大 我坚信权重该小
τ² → ∞(完全无先验) λ → 0 退化回 MLE(第 1 章)

🔑 调 λ 不再是玄学:你在调「相信数据 vs 相信先验」的比例。

💡 一个实用推论噪声大的数据集应该用更强的正则。 这不是经验法则,是从公式直接读出来的。


🔀 三、L1 正则 = 拉普拉斯先验

同样的套路,换个先验分布:

   拉普拉斯分布:p(w) ∝ exp(−|w|/b)
                          ↑ 指数上是【绝对值】不是平方

   → log p(w) = C − (1/b)·Σ|wⱼ|
   → 正则项变成 λΣ|wⱼ|   = L1 正则 ✅

为什么 L1 会产生稀疏(把权重压成 0)

      高斯先验(L2)              拉普拉斯先验(L1)
         ╱▔▔╲                        ╱▔╲
        ╱    ╲                      ╱│ │╲
       ╱      ╲                    ╱ │ │ ╲
      ─────────                   ───┴─┴───
      顶端【平滑】                  顶端是【尖的】⭐
      0 附近没有特别偏好             强烈偏好"恰好等于 0"

💡 人话:拉普拉斯分布在 0 处有个尖峰,表达的先验是 「很多权重应该恰好是 0」——所以 L1 会做特征选择。

🔑 这不是算法的副作用,是先验的直接后果。 你选 L1,就是在说「我相信只有少数特征真正有用」。

📐 几何直觉:为什么解会落在坐标轴上

从优化的角度看,正则化相当于把解限制在一个区域内:

   L2 约束区域:圆       L1 约束区域:菱形
        ╭───╮                ◇
       │  ● │              ╱   ╲
        ╰───╯             ◇     ◇   ← 尖角在【坐标轴】上
                            ╲   ╱
   损失函数的等高线从外面收缩,       ◇
   第一次碰到约束区域的点就是解

   碰到圆   → 通常在圆弧上,各分量都非零
   碰到菱形 → 【很容易碰在尖角上】= 某些分量恰好为 0 ⭐

📋 四、一张表看懂对应关系

你在用的 它的真身 先验假设
最小二乘 高斯噪声的 MLE 无先验
岭回归 / L2 / weight_decay MAP 权重 ~ 高斯(都小,但不为 0)
Lasso / L1 MAP 权重 ~ 拉普拉斯(很多恰好为 0)
ElasticNet MAP 两种先验的混合
早停 近似正则 隐式地限制了权重能走多远
Dropout 近似贝叶斯推断 (更复杂,但同源思想)

🔗 你在基础教程第 10 章学的 「正则化是故意给模型制造困难」—— 更准确的说法是:正则化是把你的先验知识写进目标函数。


🌡️ 五、数据量如何冲淡先验

   对数似然项:随样本数 n 【线性增长】
   先验项:    【固定不变】

   → n 越大,似然越主导
   → MAP → MLE

回到抛硬币(先验:p 应该在 0.5 附近):

数据 MLE MAP(带弱先验)
3 次全正 1.00 ≈ 0.80
30 次全正 1.00 ≈ 0.97
300 次全正 1.00 ≈ 0.997

💡 这解释了一个实践现象数据越多,正则化越不重要。

   小数据 → 先验主导 → 正则化是救命稻草
   大数据 → 似然主导 → 正则化影响变小

   ⭐ 这就是为什么大模型时代正则化的地位下降了
      —— 数据量足够时,先验的影响本来就该被冲淡

⚠️ 但别过度推论:这说的是「相对于数据量的正则强度」。 大模型仍然用 weight decay、dropout —— 只是权重更小、更依赖数据本身。


🎓 六、再往前一步:完全贝叶斯

   MLE:       给一个点估计 θ̂                  (不带不确定性)
   MAP:       给一个点估计 θ̂(考虑了先验)      (仍不带不确定性)
   完全贝叶斯: 给整个后验分布 p(θ|D) ⭐          (带不确定性!)

完全贝叶斯的预测是对所有可能的 θ 加权平均:

$$p(y^*\mid x^*, D) = \int p(y^*\mid x^*,\theta)\,p(\theta\mid D)\,d\theta$$

💡 人话不挑一个最好的模型,而是让所有模型按各自的可信度投票。

它能做到 MAP 做不到的事

能力 说明
给出预测的不确定性 「我预测是 5.2,但可能在 3~8 之间」
知道自己不知道 遇到训练分布外的输入时,不确定性会变大
自动的模型选择 边际似然天然惩罚复杂模型

代价:那个积分通常算不出来,要用近似方法(MCMC、变分推断)——。 所以实践中大多数时候还是用 MAP(也就是加正则化的普通训练)。

💡 一个实用的折中:深度学习里用 MC Dropout(推理时也开 Dropout,跑多次看方差) 或模型集成来近似不确定性——它们都可以看作粗糙的贝叶斯近似。


🔗 七、和站内其他章的关系

相关的地方 真身
weight_decay=0.01 高斯先验的 MAP
L1 能做特征选择 拉普拉斯先验在 0 处的尖峰
λ 太大欠拟合、太小过拟合 λ = 噪声方差/先验方差,在调"信数据还是信先验"
数据多了正则可以放松 似然项随 n 增长,先验被冲淡
噪声大的数据要更强正则 直接从 λ = σ²/τ² 读出来
推荐算法第 5 章 MF 的 λ(‖p‖²+‖q‖²) 对用户/物品向量加高斯先验
模型集成效果好 粗糙的贝叶斯模型平均

✅ 检查点

  1. MLE 和 MAP 在数学上差了什么?那一项从哪来?
  2. L2 正则的真身是什么?λ 的确切含义是什么?
  3. 噪声大的数据集该用更强还是更弱的正则?为什么(从公式说)?
  4. 为什么 L1 会把权重压成 0,L2 不会?(两种解释)
  5. 为什么数据越多正则化越不重要?
  6. 完全贝叶斯比 MAP 多给了什么?代价是什么?实践中怎么近似?
👀 答案
  1. MAP 在对数似然后面多加了一项 log p(θ)(先验的对数)。它来自贝叶斯定理——后验 ∝ 似然 × 先验。
  2. 高斯先验下的 MAP 估计。λ = σ²/τ² = 噪声方差 / 先验方差——它衡量「相信数据 vs 相信先验」的比例。
  3. 更强。因为 λ = σ²/τ²,σ²(噪声方差)大则 λ 大。直觉:数据不可信,多听先验的。
  4. ①概率解释:L1 对应拉普拉斯先验,它在 0 处有尖峰,表达「很多权重应恰好为 0」;②几何解释:L1 的约束区域是菱形,尖角在坐标轴上,损失等高线容易碰在尖角上。
  5. 对数似然项随样本数 n 线性增长,先验项固定不变,所以 n 大时似然主导,MAP → MLE。
  6. 给出整个后验分布而非点估计,因此带不确定性(能"知道自己不知道")。代价是积分算不出来,需要 MCMC/变分推断。实践近似:MC Dropout、模型集成。

🛑 可以停在这里

走神救援

MAP = MLE + 先验:argmax [log p(D|θ) + log p(θ)]那个加号就是正则项的来源(来自贝叶斯定理:后验 ∝ 似然 × 先验)。⭐⭐核心结论:假设 w ~ N(0, τ²I),推出来的正是岭回归——L2 正则 = 高斯先验下的 MAP,正则强度也有了确切含义:λ = σ²/τ² = 噪声方差 / 先验方差。这式子解释了一切:噪声大(σ² 大)→ λ 大 → 数据不可信,多听先验的τ² 趋于无穷即无先验时 λ → 0,退化回 MLE。⭐调 λ 不再是玄学,调的是「相信数据 vs 相信先验」的比例;噪声大的数据集就该用更强的正则——不是经验法则,是从公式直接读出来的。换个先验就换个正则:拉普拉斯先验 exp(−|w|/b) 推出 L1,它在 0 处有尖峰,表达「很多权重应该恰好是 0」,所以 L1 做特征选择;几何上它的约束区域是菱形、尖角落在坐标轴上,等高线容易碰上去。⭐稀疏不是算法的副作用,是先验的直接后果——选 L1 就是在说「我相信只有少数特征有用」。对应关系:weight_decay 与岭回归是高斯 MAP,Lasso 是拉普拉斯 MAP,早停与 Dropout 只是近似。所以正则化更准确的说法是「把先验知识写进目标函数」,而不是「故意制造困难」。⚠️对数似然项随样本数 n 线性增长,先验项固定不变,n 越大似然越主导,MAP → MLE:抛硬币全正时 MLE 恒为 1.00,而带弱先验的 MAP 从 3 次的 0.80 涨到 300 次的 0.997。这就是数据越多正则化越不重要、大模型时代正则地位下降的原因。再往前是完全贝叶斯:给整个后验而非点估计,带不确定性、能「知道自己不知道」;但积分通常算不出来(MCMC、变分推断很贵),实践中用 MC Dropout 或集成近似。

下一节 👉 03-感知机.md

打卡记录保存在你的浏览器里,首页能看到总进度