ExponentialDecay

指数加权平均

Vt=βVt1+(1β)θtV_t = \beta V_{t-1} + (1-\beta)\theta_t

$\theta_t$代表真实测量数据 $V_t \approx \frac{1}{1-\beta}$个过去的$\theta$的平均。 当$\beta$较大时,V曲线抖动变小,但V曲线和$\theta$曲线相比往右偏移(适应更缓慢)。 当$\beta$较小时,V曲线抖动变大,但V曲线与$\theta$曲线更贴近。

指数衰减

将Vt公式展开得:

Vt=(1β)θt+(1β)βθt1+(1β)β2θt1+=i=0t(1β)βiθti\begin{aligned} V_t &=& (1-\beta)\theta_t + (1-\beta)\beta\theta_{t-1} + (1-\beta)\beta^2\theta_{t-1} + \cdots \\ &=& \sum_{i=0}^t(1-\beta)\beta^i\theta_{t-i} \end{aligned}

每个$\theta$的系数为\beta的指数,因此称为指数加权平均。 当有新的$\theta$过来时,旧的$\theta$呈指数衰减。

公式中t代表当前时间,i代表距离t有多远

(1β)1β=β(11β)=1e0.35(1-\beta)^{\frac{1}{\beta}} = \beta^{(\frac{1}{1-\beta})} = \frac{1}{e} \approx 0.35

当$i > \frac{1}{1-\beta}$时,$\theta_{t-i}$对Vt的影响很少(少于$\frac{1}{e}$),认为不重要,因此说$V_t \approx \frac{1}{1-\beta}$个过去的$\theta$的平均。

优点

目的是求过去n个值的平均值,相比于“过去n个值加以前再除以n”的方法,优点如下:

  1. low memory: 不需要真的存储过去的n个值。

  2. efficiency: 计算更简单,只是一个公式一行代码。

修正偏差

Vt=Vt1βtV_t = \frac{V_t}{1-\beta^t}

当t比较小时,公式对Vt有很大的修改。 当t比较大时,Vt几乎无修正效果。

Note:修正只对初始阶段有效果。如果不care初始阶段的效果,可以不修正。

参考资料

  1. https://blog.csdn.net/zhufenghao/article/details/80879260

  2. Ng的视频

Last updated