视频封面

视频元信息

  • 课程来源:吴恩达深度学习专项课程(Deep Learning Specialization)
  • 所属章节:改善深层神经网络(Improving Deep Neural Networks)——优化算法(Optimization Algorithms)
  • 本讲主题:理解指数加权平均(Understanding Exponentially Weighted Averages)
  • 语言:官方中英双语

内容摘要(TL;DR)

本讲深入剖析指数加权平均(EMA)的数学本质:它是对历史数据以指数衰减权重进行加权求和,权重系数之和趋近于 1,因此等价于一种加权平均。视频通过展开递推公式证明这一点,并给出"平均天数约为 1/(1-β)"的经验法则,最后说明其实现只需一行代码、一个存储变量,兼具计算与内存效率。


一、回顾与引入 [00:16]

回顾上一讲的核心公式——指数加权平均的递推式:

$$V_t = \beta V_{t-1} + (1-\beta)\theta_t$$

其中 $\theta_t$ 是第 $t$ 天的观测值(如温度),$\beta$ 是衰减系数。

不同 β 值对应的曲线形态(考点):

  • β = 0.9 → 红色曲线,平滑程度适中
  • β = 0.98(更接近 1)→ 绿色曲线,更平滑、滞后更明显
  • β = 0.5(更小)→ 黄色曲线,更贴近原始数据、噪声更大

理解:β 越大,历史权重衰减越慢,平均窗口越长,曲线越平滑但越滞后;β 越小,响应越快但噪声越大。这是一种典型的"平滑度 vs 灵敏度"权衡。


二、数学展开:V100 到底是什么 [01:00]

取 $\beta = 0.9$,则 $(1-\beta) = 0.1$。视频将递推式逐层展开:

$$V_{100} = 0.1\,\theta_{100} + 0.9\,V_{99}$$ $$V_{99} = 0.1\,\theta_{99} + 0.9\,V_{98}$$ $$V_{98} = 0.1\,\theta_{98} + 0.9\,V_{97}$$

将 $V_{99}$ 代入 $V_{100}$ 的表达式,再将 $V_{98}$ 代入,如此反复展开,最终得到:

$$V_{100} = 0.1\,\theta_{100} + 0.1\times0.9\,\theta_{99} + 0.1\times0.9^2\,\theta_{98} + 0.1\times0.9^3\,\theta_{97} + 0.1\times0.9^4\,\theta_{96} + \cdots$$

关键结论(重点): $V_{100}$ 实质上是 $\theta_{100}, \theta_{99}, \theta_{98}, \dots$ 的加权求和,权重呈指数衰减。

推导:每往前一天,权重就多乘一个 0.9。这正是"指数加权"名称的由来——权重按指数规律递减。

易错点:展开时不要漏掉系数 $(1-\beta)$。每一项的系数都是 $(1-\beta)\cdot\beta^{k}$,其中 $k$ 是距离当前的天数。当前天 $k=0$,系数为 $(1-\beta)$。


三、图像化理解:两个函数的逐元素乘积 [03:01]

视频用图形方式解释这一过程:

  1. 横轴为天数 $T$,纵轴为温度 $\theta$,得到一组离散的温度数据点($\theta_{100}, \theta_{99}, \theta_{98}, \dots$)
  2. 另一条是指数衰减函数:从 $0.1$ 开始,依次为 $0.1\times0.9$、$0.1\times0.9^2$、$0.1\times0.9^3$……
  3. 将这两条曲线逐元素相乘(element-wise product)再求和,结果就是 $V_{100}$

核心直觉(重点): 指数加权平均 = 原始数据 × 指数衰减权重 → 求和。

理解:这就像用一个"指数形状的窗口"去扫描历史数据,越近的数据被赋予越大的权重,越远的数据权重越小但不会被完全丢弃。

关于权重之和(考点):

所有系数之和为 $1$(或非常接近 1),因此它确实是一个"平均"。

视频特别指出:系数之和严格等于 1 需要经过一个称为偏差修正(bias correction) 的处理,这将在下一讲详细讨论。若不进行偏差修正,初期估计会偏小。


四、平均天数:经验法则 1/(1-β) [04:40]

视频回答了一个自然的问题:这个平均到底覆盖了多少天的数据?

数学依据:

$$0.9^{10} \approx 0.35 \approx \frac{1}{e}$$

即当 $\beta = 0.9$ 时,权重衰减到约 $1/e$(约 0.35)需要约 10 天。

推广形式:

令 $\beta = 1 - \epsilon$,则:

$$(1-\epsilon)^{1/\epsilon} \approx \frac{1}{e} \approx 0.35$$

经验法则(重点):

$$\text{平均天数} \approx \frac{1}{1-\beta} = \frac{1}{\epsilon}$$

两个具体案例:

β 值 ε = 1-β 平均天数 1/ε 说明
0.9 0.1 10 天 权重在约 10 天内衰减到 1/e 以下
0.98 0.02 50 天 权重在前 50 天大于 1/e,之后快速衰减

重要提醒:视频明确强调,$1/(1-\beta)$ 只是一个经验法则(rule of thumb),用于帮助直觉理解,并非严格的数学定理。不要把它当作精确的窗口大小。

思考:这个法则的妙处在于——它是一个"等效窗口"的概念。虽然 EMA 理论上用到所有历史数据,但超过约 $1/(1-\beta)$ 天之前的数据权重已小到可忽略,因此可近似看作只关注最近这些天。


五、实际实现:一行代码的算法 [06:50]

伪代码实现:

V_theta = 0
重复 {
    获取下一个 theta_t
    V_theta = beta * V_theta + (1 - beta) * theta_t
}

符号说明: $V_\theta$ 表示对参数 $\theta$ 计算的指数加权平均。

实现要点:

  • 初始化 $V = 0$
  • 第 1 天:$V = \beta V + (1-\beta)\theta_1$
  • 第 2 天:$V = \beta V + (1-\beta)\theta_2$
  • 以此类推,每天用最新值覆盖旧值

理解:视频强调,为了讲解清晰,前面把 $V_0, V_1, V_2$ 写成不同变量;但实际编码时只需一个变量 $V$,不断被覆盖更新即可。


六、指数加权平均的优势与对比 [08:26]

核心优势(重点):

  1. 内存极省:只需在内存中保存一个实数(单个变量),不断覆盖更新
  2. 计算高效:只需一行代码即可完成
  3. 适合大规模变量:当需要对大量变量计算平均时(后续优化算法中常见),这种效率优势尤为突出

与滑动窗口平均的对比:

方法 精度 内存 实现复杂度
指数加权平均 略低 极省(1 个变量) 极简(1 行代码)
显式滑动窗口平均 更高 需保存最近 10/50 天全部数据 更复杂、更昂贵

理解:视频坦率指出,显式滑动窗口(如最近 10 天求和除以 10)通常能给出更准确的估计,但代价是需要保存所有历史数据、占用更多内存、实现更复杂。EMA 是在精度与效率之间的权衡选择。

易错点 / 常见误解:不要认为 EMA 是"最准确的"平均方法。它的价值在于效率——在机器学习中需要对大量参数做平均时,这种"一行代码、一个变量"的方案极其划算,这正是它在优化算法中被广泛采用的原因。


七、本讲小结与下讲预告 [09:23]

本讲核心收获:

  • 理解了 EMA 的数学本质:指数衰减权重的加权求和
  • 掌握了经验法则:平均天数 ≈ 1/(1-β)
  • 学会了实际实现:一个变量、一行代码、循环覆盖更新
  • 明确了其优势:计算与内存双重高效

下讲预告(考点):

视频结尾指出,还有一个技术细节需要了解——偏差修正(bias correction)。学完偏差修正后,就能用它构建比普通梯度下降更好的优化算法(如动量梯度下降、RMSProp、Adam 等)。

思考:指数加权平均是动量法(Momentum)、RMSProp、Adam 等优化算法的共同基石。理解本讲内容,是理解后续所有高级优化器的前提。


关键标签 / 关键词

指数加权平均 Exponentially Weighted Averages EMA 衰减系数 beta 偏差修正 bias correction 优化算法 动量梯度下降 Momentum RMSProp Adam 内存效率 滑动窗口平均 1/(1-beta) 经验法则 吴恩达深度学习 改善深层神经网络


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