
视频元信息
- 课程来源:吴恩达(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