指数加权平均(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 3.5 企业级开发
- 转帖-MySQL Innodb日志机制深入分析
- Docker大行其道—镜像
- c#利用WebClient和WebRequest获取网页源代码的比较
- STM8S103 PB4和PB5
- C语言的VC开发环境界面介绍,【c语言在vc++6.0中编写界面程序】
- centos7 安装webmin
- 第七章信息系统安全工程考试要点及真题分布
- 分享这几天做seo优化的心得
- 【Express】—路由配置
- 解决springboot工程创建是连接失败问题
- [篇五章二]_使用 USB 系统安装盘在真机上安装激活 Windows 10 LTSC 2021 中文企业版系统
- vue 读取地址栏参数
- Win11怎么设置共享文件夹?Win11共享文件夹设置方法
- 苹果iWork,看上去很美
- 将两个有序链表合并成一个链表
- cadence常用快捷键及小技巧(画斜线、开balloons等)
- 集成运放的主要技术指标
- 宽依赖和窄依赖_Spark --【宽依赖和窄依赖】
- 【C++】辅助C++计算复数(代码解释的很清楚)