视频封面

视频元信息

  • 课程来源:吴恩达(Andrew Ng)深度学习专项课程 · 改善深层神经网络:超参数调试、正则化以及优化(第二课)
  • 章节:2.5 指数加权平均数的偏差修正(Bias Correction in Exponentially Weighted Averages)
  • 时长:约 4 分钟
  • 主题:指数加权移动平均(EWMA)在初期估计中存在的偏差问题及其修正方法

内容摘要(TL;DR)

指数加权移动平均在迭代初期(如第一天)会严重低估真实值,因为初始项被置零且加权系数过小。吴恩达提出偏差修正方法:将估计值除以 (1 − β^t),可在早期快速修正偏差,使估计更准确;当 t 增大后修正项趋于 1,几乎无影响。实际实现中多数场景不做偏差修正,但若关心初期精度,偏差修正能显著改善。


一、问题引入:为什么初期估计不准 [00:00]

本节对应视频开头,吴恩达以温度预测为例,说明 EWMA 在最初几天的估计存在明显偏差。

  • 回顾上一节:指数加权移动平均(Exponentially Weighted Moving Average, EWMA)的递推公式为:

V_t = β · V_{t−1} + (1 − β) · θ_t

其中 θ_t 是第 t 天的温度观测值,V_t 是第 t 天的移动平均估计值。

  • 考点:初始值 V_0 通常设为 0,这会导致前几天的估计值明显偏小。

  • 以 β = 0.98 为例,代入 t = 1:

V_1 = 0.98 · V_0 + 0.02 · θ_1

由于 V_0 = 0,所以 V_1 = 0.02 · θ_1。

  • 理解:这意味着第一天的估计值只有真实温度的 2%,严重偏低。

  • 举例:若第一天温度为 40°F,则 V_1 = 0.02 × 40 = 8°F,远低于真实值 40°F。

易错点:EWMA 初期估计偏小,不是因为公式错误,而是因为初始值 V_0 = 0 且早期权重分配不合理。这是"冷启动"(cold start)问题的典型表现。


二、第二天估计的推导 [01:13]

  • 继续推导 t = 2 时的估计:

V_2 = 0.98 · V_1 + 0.02 · θ_2

  • 将 V_1 = 0.02 · θ_1 代入:

V_2 = 0.98 × 0.02 × θ_1 + 0.02 × θ_2

V_2 = 0.0196 · θ_1 + 0.02 · θ_2

  • 推导:可以看到,θ_1 和 θ_2 的系数之和仅为 0.0196 + 0.02 = 0.0396,远小于 1。这说明 V_2 只是前两天温度的"缩水版"加权平均。

  • 假设 θ_1、θ_2 都为正数,则 V_2 会远小于 θ_1 或 θ_2,因此 V_2 也不是前两天温度的好估计。

考点:偏差的根源在于,EWMA 展开后所有历史项的系数之和为 (1 − β^t),而不是 1。当 t 较小时,这个和远小于 1,导致估计值整体偏小。


三、偏差修正方法 [02:08]

  • 吴恩达提出:不要直接使用 V_t,而是使用 V_t / (1 − β^t) 作为估计值。

公式:V_t^corrected = V_t / (1 − β^t)

其中 t 是当前的天数(时间步)。

  • 理解:分母 (1 − β^t) 正好是 V_t 展开后所有 θ 项系数之和,除以它相当于把权重"归一化",使系数之和变为 1。

  • 完整示例(t = 2,β = 0.98):

1 − β^t = 1 − 0.98² = 1 − 0.9604 = 0.0396

修正后的估计:V_2 / 0.0396

= (0.0196 · θ_1 + 0.02 · θ_2) / 0.0396

= (0.0196 / 0.0396) · θ_1 + (0.02 / 0.0396) · θ_2

≈ 0.495 · θ_1 + 0.505 · θ_2

  • 考点:修正后,θ_1 和 θ_2 的系数之和恰好为 1,V_2 变成了 θ_1 和 θ_2 的真正加权平均,偏差被消除。

易错点:偏差修正只在初期(t 较小时)效果显著。当 t 很大时,β^t 趋近于 0,1 − β^t 趋近于 1,修正几乎无影响。不要误以为偏差修正会一直改变估计值。


四、偏差修正的长期行为 [03:05]

  • 当 t 增大时,β^t → 0,因此 1 − β^t → 1。

  • 这意味着:当 t 足够大时,偏差修正几乎不产生任何差异。

  • 理解:视频中提到的紫线(未修正)和绿线(修正后)在 t 较大时几乎重合,正是因为修正项趋于 1。

  • 偏差修正的核心价值体现在学习初期的"预热"阶段(warming up),此时它能帮助获得更准确的估计。

  • 思考:这类似于机器学习中优化器的"warmup"策略——在训练初期用较小的学习率或特殊处理,避免初期不稳定。


五、实际应用中的取舍 [03:36]

  • 在机器学习的大多数指数加权平均实现中,人们通常不做偏差修正。

  • 原因:大多数人宁愿等待初始阶段过去,接受初期略有偏差的估计,然后继续使用。

  • 但如果关心初期阶段的偏差(例如在 warmup 阶段),偏差修正能帮助更早获得更好的估计。

提醒:是否使用偏差修正取决于具体场景。对于训练步数很多、初期影响可忽略的任务,可以省略;对于初期精度敏感的任务(如短序列、快速收敛需求),建议加上。

  • 吴恩达总结:现在你已经知道如何实现指数加权移动平均,接下来将用它构建更好的优化算法(如 Momentum、RMSProp、Adam)。

六、知识拓展与背景补充【拓展】

1. 为什么叫"偏差修正"?

  • 在统计学中,EWMA 的初始估计 V_t 是真实加权平均的有偏估计(biased estimator),因为系数之和不为 1。
  • 除以 (1 − β^t) 相当于对估计量做无偏化处理,使期望值更接近真实值。

2. 与 Adam 优化器的联系

  • Adam 优化器同时使用一阶矩(均值)和二阶矩(方差)的指数加权平均。
  • Adam 中明确使用了偏差修正:m_t / (1 − β_1^t) 和 v_t / (1 − β_2^t),这正是本节的直接应用。
  • 理解:这也是为什么 Adam 在训练初期比不加修正的版本更稳定。

3. 数值示例对比

天数 t 未修正 V_t 修正后 V_t / (1 − β^t) 真实温度 θ_t
1 0.02 · θ_1 θ_1 θ_1
2 0.0196·θ_1 + 0.02·θ_2 ≈ 0.495·θ_1 + 0.505·θ_2 —
大 t 接近真实加权平均 几乎相同 —

4. 常见踩坑点

  • 坑 1:忘记偏差修正只对初期有效,误以为需要一直除以 (1 − β^t)。实际上 t 大时除以接近 1 的数,无副作用但也没必要。
  • 坑 2:在实现时把 t 从 0 开始计数,导致 1 − β^0 = 0,出现除以零错误。t 应从 1 开始。
  • 坑 3:混淆 β 和 1 − β 的角色。β 是衰减率,1 − β 是新信息的权重。

关键标签 / 关键词

深度学习 #吴恩达 #指数加权平均 #EWMA #偏差修正 #BiasCorrection #优化算法 #Adam #Momentum #RMSProp #冷启动 #warmup #超参数调试 #改善深层神经网络


生成时间:2026-10-10 22:10:24 生成平台:VideoNote www.xygy.top