指数加权平均数
简单理解指数加权平均数
上图中的蓝色点是伦敦一年的温度,可以看出大致的趋势,但是有一点杂乱。如果我们如图中公式所示,设初始值为 v 0 = 0 v_0=0 v0=0,将第二天的温度设为 v 1 = 0.9 v 0 + 0.1 θ 1 v_1=0.9 v_0+0.1 \theta_1 v1=0.9v0+0.1θ1,以此类推,我们将得到的一系列值绘制到图中,用红线表示,可以看出比之前的趋势要更明显一些,这些值都是移动平均值,每日温度的指数加权平均值。因此我们可以得到公式:
$
v_t=\beta v_{t-1}+(1-\beta) \theta_t
$
在计算时,可以将 v t v_t vt看作是 1 1 − β \frac{1}{1-\beta} 1−β1的每日温度,如果 β = 0.9 \beta=0.9 β=0.9,可以理解为,这是十天的平均值,也就是红线的部分
我们尝试将 β \beta β值设为一个接近1的值,比如0.98,用绿线作图。
可以看出,高值 β \beta β,得到的曲线要平坦一些,原因在于你多平均了几天的温度,所以这个曲线波动更小,更加平坦,缺点是曲线进一步有意,因为现在平均的温度值会更多,要平均更多的值,指数加权平均公式在温度变化时,适应的更缓慢一些,所以会出现一定延迟,因为当 β = 0.98 \beta=0.98 β=0.98时,相当于给前一天加了太多的权重,只有0.02的权重给了当日的值,所以温度变化时,温度上下起伏,而指数加权平均值适应的更缓慢一些。
如果我们将 β \beta β更换为0.5,得到的值用黄线绘制。
图1
可以看出这条曲线有更多的噪声,但是温度变化时,这个曲线能够更快的适应温度变化。
所以指数加权平均数经常被使用,它在统计学中也被成为指数加权移动平均值,我们简称指数加权平均数。通过调整参数 β \beta β,可以取得不同的效果,往往中间有某个值效果最好, β = 0.98 \beta=0.98 β=0.98为中间值时,得到的红线比起绿线和黄线更好的平均了温度。这个参数在后面的算法中,非常重要。
深入理解指数加权平均数
指数加权平均数是几个优化算法中很重要的一环,而这几个优化算法能够帮助你训练神经网络。 在本节中,进一步探讨算法的本质作用。
回忆一下这个计算指数加权平均数的关键方程。
v t = β v t − 1 + ( 1 − β ) θ t v_t=\beta v_{t-1}+(1-\beta)\theta_t vt=βvt−1+(1−β)θt
如图1, β = 0.9 \beta=0.9 β=0.9的时候,得到的结果是红线,如果它更接近于1,比如0.98,结果就是绿线,如果 β \beta β小一点,如果是0.5,结果就是黄线。
我们进一步来理解如何计算出每日温度的平均值。
同样的公式, v t = β v t − 1 + ( 1 − β ) θ t v_t=\beta v_{t-1}+(1-\beta)\theta_t vt=βvt−1+(1−β)θt
使 β = 0.9 \beta=0.9 β=0.9,写下相应的几个公式,所以在执行的时候,t从0到1到2到3,t的值在不断增加,为了更好的分析,我写的时候使得t的值不断减小,然后继续往下写。
首先看第一个公式,理解 v 100 v_{100} v100