梯度下降优化-指数移动加权平均
问题描述
原生梯度下降法虽然简单有效,但在面对复杂损失函数时存在以下问题:
- 收敛速度慢:在平坦区域或梯度较小时,更新步长很小
- 容易陷入鞍点:在鞍点处梯度接近0,参数无法更新,难以继续优化
- 震荡问题:在狭窄山谷中容易来回震荡
- 学习率敏感:需要精心调整学习率

指数移动加权平均(EMA)优化思路通过引入历史梯度信息,能够有效解决这些问题。
指数平均数指标(Exponential Moving Average,简称EXPMA或EMA)是1960年代由美国数学家首次应用于证券市场的技术分析指标,属于趋向类工具,通过赋予近期价格更高权重来追踪趋势变化。其计算公式为今日EXPMA = (今日收盘价 × 平滑系数) + 昨日EXPMA × (1 - 平滑系数),其中平滑系数=2/(N+1),N为周期数。相较于简单移动平均线(SMA),其灵敏度更高,可兼容分钟线到月线等多时间框架分析。
2. 指数移动加权平均(EMA)的核心思想
2.1 类比理解:球滚下山坡
想象一个球从山坡上滚下来:
原生梯度下降(SGD):
- 球只根据当前位置的坡度来决定下一步的方向和速度
- 如果遇到平坦区域,球会立即减速甚至停止
- 如果遇到小坑,球可能会被困住
使用EMA的优化算法:
- 球会"记住"之前的运动方向和速度(动量)
- 即使遇到平坦区域,由于惯性,球仍能继续前进
- 如果遇到小坑,之前的动量可以帮助球越过障碍
2.2 指数移动加权平均的数学定义
**指数移动加权平均(Exponential Moving Average, EMA)**是一种对时间序列数据进行平滑处理的方法,其核心思想是:
当前值 = β × 历史平均值 + (1 - β) × 当前新值
其中:
- β(beta):衰减因子,通常取值在 0.9 到 0.999 之间
- β 越大:历史信息权重越大,变化越平滑
- β 越小:当前信息权重越大,变化越敏感
2.3 EMA 的递推公式推导
假设我们有一系列值:$v_1, v_2, v_3, ..., v_t$
EMA 的递推公式:
$$v_t = \beta \cdot v_{t-1} + (1 - \beta) \cdot \theta_t$$
其中:
- $v_t$:第 $t$ 步的指数移动平均值
- $v_{t-1}$:第 $t-1$ 步的指数移动平均值
- $\theta_t$:第 $t$ 步的新值
- $\beta$:衰减因子(0 < β < 1)
展开推导:
$$v_0 = 0$$
$$v_1 = \beta \cdot v_0 + (1 - \beta) \cdot \theta_1 = (1 - \beta) \cdot \theta_1$$
$$v_2 = \beta \cdot v_1 + (1 - \beta) \cdot \theta_2 = \beta(1 - \beta) \cdot \theta_1 + (1 - \beta) \cdot \theta_2$$
$$v_3 = \beta \cdot v_2 + (1 - \beta) \cdot \theta_3 = \beta^2(1 - \beta) \cdot \theta_1 + \beta(1 - \beta) \cdot \theta_2 + (1 - \beta) \cdot \theta_3$$
一般形式:
$$v_t = (1 - \beta) \sum_{i=1}^{t} \beta^{t-i} \cdot \theta_i$$
权重分析:
- 第 $t$ 步的权重:$(1 - \beta) \cdot \beta^0 = 1 - \beta$
- 第 $t-1$ 步的权重:$(1 - \beta) \cdot \beta^1 = (1 - \beta)\beta$
- 第 $t-2$ 步的权重:$(1 - \beta) \cdot \beta^2 = (1 - \beta)\beta^2$
- ...
- 第 $t-k$ 步的权重:$(1 - \beta) \cdot \beta^k = (1 - \beta)\beta^k$
权重特点:
- 越近的数据权重越大(指数衰减)
- 所有权重之和:$(1 - \beta) \sum_{i=0}^{\infty} \beta^i = (1 - \beta) \cdot \frac{1}{1-\beta} = 1$
- 有效窗口大小:$\frac{1}{1-\beta}$(当 $\beta = 0.9$ 时,有效窗口约为 10 步)
