指数加权平均(EWA)
平时跑模型只知道直接上Adam Optimizer,但具体原理却不甚理解,于是把吴恩达老师的深度学习课翻出来看,记录一下关于动量优化算法的基础-EMA相关内容。
指数加权平均的概念
平时我们计算平均值,就是简单地将所有数据加起来之后与数据总数求商。对于一部分数据来说,这样的平均值以及可以反应数据的趋势,例如某单位的平均年龄,身高等。
但是对于某些数据来说,就不能简单取这样的平均值来观察数据特征了,吴恩达老师课上举的气温就是一个很好的例子,天气跟所属的季节相关性很大,也就是应当更加关注近期的数据。
指数加权平均值就是这样一种加权均值的计算方法,只不过其权值呈现出指数衰减的趋势。
以课上例子为例,给出计算方法:
v0=0v_0 = 0v0=0
vt=βvt−1+(1−β)θtv_t = \beta v_{t-1} + (1 - \beta)\theta_tvt=βvt−1+(1−β)θt
其中,θt\theta_tθt代表当天气温,β∈[0,1]\beta \in[0,1]β∈[0,1]是可调的超参数,稍后就能看到它的作用。vtv_tvt代表到当天为止的温度均值。图中,蓝色散点代表真实温度,红色曲线由计算的均值构成。可以看到拟合得还是不错的。
按照递推式,计算前几项:
v1=βv0+(1−β)θ1v_1 = \beta v_0 +(1-\beta) \theta_1v1=βv0+(1−β)θ1
v2=βv1+(1−β)θ2v_2 = \beta v_1 +(1-\beta) \theta_2v2=βv1+(1−β)θ2
v3=βv2+(1−β)θ3v_3 = \beta v_2 + (1-\beta) \theta_3v3=βv2+(1−β)θ3
将递推展开,代入前面项:
v1=(1−β)θ1v_1 = (1-\beta)\theta_1v1=(1−β)θ1
v2=β(1−β)θ1+(1−β)θ2v_2 = \beta(1-\beta)\theta_1 + (1-\beta)\theta_2v2=β(1−β)θ1+(1−β)θ2
v3=β2(1−β)θ1+β(1−β)θ2+(1−β)θ3v_3 = \beta^2(1-\beta)\theta_1 + \beta(1-\beta)\theta_2 + (1-\beta)\theta_3v3=β2(1−β)θ1+β(1−β)θ2+(1−β)θ3
还可以一直写下去,但这里已经可以看到,每一天的预测值都是到当天为止的加权平均,并且其权值随着天数的增加呈指数衰减。β\betaβ实际上可以看作是衰减的速度,其值越小则衰减得越快,也就代表着均值越依赖于最近的值而不是早期的值。
上图蓝色曲线为β=0.95\beta=0.95β=0.95的指数衰减,橙色为β=0.9\beta = 0.9β=0.9,绿色为β=0.5\beta=0.5β=0.5,横轴是时间轴,可以看到,在第一百天绿色的曲线几乎只关注到了前十天左右的数据,而在往前的数据权重近乎为零。所以实际上随着序列增长,指数加权平均总是关注一个局部的数据。
吴恩达也给出了一个估计公式。仍以气温为例,某天的气温可以看做最近11−β\frac{1}{1-\beta}1−β1天的均值。
总的来说,EMA让当前状态综合前面的状态的累积且重点关注最近的数据。是带有动量的优化算法的基础思想。
指数加权平均(EWA)相关推荐
- 通俗解释指数加权平均
前言 在深度学习优化算法中,我们会涉及到指数加权平均这个概念,下面我将通过例子来一步一步引出这个概念. 平均数求法 比如我们现在有100天的温度值,要求这100天的平均温度值. 24,25,24,26 ...
- 2.2.2 指数加权平均
指数加权平均 下面介绍一下比梯度下降更快的算法,不过在这之前,你要了解指数加全平均. 如1和2所示,指数加权实际上就是设置一个权值.就像下图所示 通过 11−β11−β \frac{1}{1-\bet ...
- 2.5 指数加权平均的偏差修正-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
←上一篇 ↓↑ 下一篇→ 2.4 理解指数加权平均 回到目录 2.6 动量梯度下降法 指数加权平均的偏差修正 (Bias Correction in Exponentially Weighted Av ...
- 2.4 理解指数加权平均-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
←上一篇 ↓↑ 下一篇→ 2.3 指数加权平均 回到目录 2.5 指数加权平均的偏差修正 理解指数加权平均 (Understanding Exponentially Weighted Averages ...
- 2.3 指数加权平均-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
←上一篇 ↓↑ 下一篇→ 2.2 理解 mini-batch 梯度下降法 回到目录 2.4 理解指数加权平均 指数加权平均 (Exponentially Weighted Averages) 我想向你 ...
- 指数加权平均与RmsProp(转载+自己总结)以及Adagrad
一.指数加权平均(先说用途:抗噪声拟合) 假设我们有一年365天的气温数据θ1,θ2,...,θ365\theta_1,\theta_2,...,\theta_{365}θ1,θ2,...,θ36 ...
- 改善深层神经网络:超参数调整、正则化以及优化——2.5 指数加权平均的偏差修正
当β=0.98\beta=0.98β=0.98时,其实预测曲线是图中的紫色线,在一开始的时候由于v0=0v_0=0v0=0,导致前面部分的值低于预期的实际值,为了解决这个问题,加入了偏差修正. vt ...
- 改善深层神经网络:超参数调整、正则化以及优化——2.3指数加权平均
指数加权平均:vt=βvt−1+(1−β)θtv_t=\beta v_{t-1}+(1-\beta)\theta_tvt=βvt−1+(1−β)θt: 当β=0.9\beta=0.9β=0.9时 ...
- 移动指数加权平均笔记
转载于:https://www.cnblogs.com/cloud-ken/p/7723755.html 举个例子,对于图中英国的温度数据计算移动平均值或者说是移动平均值(Moving average ...
最新文章
- 学会这几个公式技巧,瞬间你就是高手
- ASP.NET Core 动作结果 - ASP.NET Core 基础教程 - 简单教程,简单编程
- SAP Spartacus cypress集成测试执行失败的一些常见原因
- SAP云平台与企业数字型转型
- 一对一,一对多,多对多查询 (注解写法)
- 喇叭正反相位测试音频_FIR滤波器能给音频扩声带来怎样的帮助?
- php 接口安全解决方案,php接口数据安全解决方案(一)
- html5中defer的属性,HTML5中defer和async的比较
- 计算机与信息处理基础知识教案,高效的信息处理工具——计算机基础知识教案...
- Android so文件进阶 一
- C语言汉诺塔问题的递归算法
- 第七次人口普查数据新鲜出炉,有哪些信息值得关注?
- 基于FreeFEM++的有限元编程--2
- java定时任务 cron
- 微型计算机系统结构中的总线,微型计算机的总线结构
- 浏览器全面禁止第三方Cookie
- matlab 实现马赫带效应,图像上机实验.doc
- php单页菜单,纯CSS3单页切换导航菜单界面设计
- 【编程马拉松】【011-鸽兔同校】
- android振动器(Vibrator)