指数加权平均数

在深度神经网络的优化算法中,通常会用到指数加权平均数的概念。本篇博客根据吴恩达老师的视频讲解进行介绍。

指数加权平均,在统计学中也叫做指数加权移动平均。它可以根据观察期近期的观察值进行预测,可以反映近期的变化趋势。
指数加权移动平均的公式:
在这里插入图片描述
其中,

θ_t表示第t天的实际观察值
v_t-1表示第t-1天的移动平均值
v_t表示第t天的移动平均值
β表示第t-1天的移动平均值和第t天的实际观测值在计算第t天的移动平均值时所占的比例(0<β<1)
下面举一个例子:

如图表示一年365天的中每天的温度:

指数加权平均数_第1张图片
使用指数加权移动平均来计算趋势,假设β=0.9:
指数加权平均数_第2张图片
此时就可以得到下图中红线部分所示的曲线,它表示每日温度的指数加权平均值:
指数加权平均数_第3张图片
v_t大概是 1/(1-β) 的每日温度
当 β=0.9时,相当于是10天的平均值,也就是红线部分;
当β=0.98时, 1/(1-0.98) = 50,相当于是过去50天温度的平均值,即图中绿色部分所示;
指数加权平均数_第4张图片
当β=0.5时(取一个极端值),1/(1-0.5) = 2,也就是平均了两天的温度,作图后如下图中黄色部分所示:
指数加权平均数_第5张图片
由图中可以看出,当平均越多天的温度时(即β越大),得到的曲线波动越小,更加平坦一些,但缺点是曲线进一步右移,因为现在平均的温度值更多,要平均更多的值,指数加权平均公式在温度变化时,适应地更缓慢一些,所以会出现一定延迟;而当平均少数几天的温度时(即β越大),由于平均的数据太少,所以得到的曲线有更多的噪声,有可能出现异常值,但是这个曲线能够更快适应温度的变化。

理解指数加权移动平均
已知指数加权平均数的公式:
在这里插入图片描述
我们让β=0.9,然后计算第100天的指数加权平均数,并向下分析:
指数加权平均数_第6张图片
将v_99,v_98,v_97…的值带入v_100,可以得到:
在这里插入图片描述
这是一个加和并平均,第100号数据,包括99号数据,98号数据,97号数据,96号数据等等。假设我们有这些日期的温度,如下图所示,
指数加权平均数_第7张图片
然后构建一个指数衰减函数,从0.1开始,到0.1 x 0.9,到 0.1 x (0.9)^2,以此类推,就有了如下图所示的指数衰减函数。
在这里插入图片描述
计算v_100就是把两个函数对应的元素乘起来,即温度与其指数衰减函数相乘,然后求和。这也是该方法被称为指数加权移动平均的原因。另外, 这些系数 0.1,0.1 x (0.9)^2, 0.1 x (0.9)^3…相加起来为1或者逼近1,我们称之为修正偏差。

指数加权移动平均的优点
指数加权平均数公式的好处之一就在于,它占用极少内存,电脑内存只占用一行数字而已,然后把最新数据带入公式,不断覆盖就可以了。当然,它不是最精准的计算平均数的方法,如果要计算移动平均值,直接算出过去10天,过去50天的总和,除以10和50即可,如此往往会得到更好的估测,但缺点时,如果保存所有最近的数据,必须要占用更多的内存,执行更加复杂,计算成本也会更高。

你可能感兴趣的:(指数加权平均数)