指数加权移动平均法(EWMA)
** 本文内容来自于吴恩达深度学习公开课
1、概述
加权移动平均法,是对观察值分别给予不同的权数,按不同权数求得移动平均值,并以最后的移动平均值为基础,确定预测值的方法。采用加权移动平均法,是因为观察期的近期观察值对预测值有较大影响,它更能反映近期变化的趋势。
指数移动加权平均法,是指各数值的加权系数随时间呈指数式递减,越靠近当前时刻的数值加权系数就越大。
指数移动加权平均较传统的平均法来说,一是不需要保存过去所有的数值;二是计算量显著减小。
2、算法理解
引入一个例子,例子为美国一年内每天的温度分布情况,具体如下图所示

EWMA 的表达式如下:
$v_t = \beta v_{t-1} + (1 - \beta) \theta_t$
上式中 $ \theta_t$ 为时刻 $ t$ 的实际温度;系数 $\beta$ 表示加权下降的速率,其值越小下降的越快;$v_t$ 为 $t$ 时刻 EWMA 的值。
在上图中有两条不同颜色的线,分别对应着不同的 $\beta$ 值。
当 $\beta = 0.9$ 时,有 $v_t = 0.9 v_{t-1} + 0.1 \theta_t$ ,对应着图中的红线,此时虽然曲线有些波动,但总体能拟合真实数据
当 $\beta = 0.98$ 时,有 $v_t = 0.98 v_{t-1} + 0.02 \theta_t$ ,对应着图中的绿线,此时曲线较平,但却有所偏离真实数据
在 $t=0$ 时刻,一般初始化 $v_0 = 0$ ,对 EWMA 的表达式进行归纳可以将 $t$ 时刻的表达式写成:
$ v_t = (1-\beta) (\theta_t + \beta\theta_{t-1}+ ... + \beta^{t-1}\theta_1) $
从上面式子中可以看出,数值的加权系数随着时间呈指数下降。在数学中一般会以 $\frac {1} {e}$ 来作为一个临界值,小于该值的加权系数的值不作考虑,接着来分析上面 $\beta = 0.9 $ 和 $\beta = 0.98$ 的情况。
当 $\beta = 0.9$ 时,$0.9^{10}$ 约等于 $\frac {1} {e}$ ,因此认为此时是近10个数值的加权平均。
当 $\beta = 0.98$ 时,$0.9^{50}$ 约等于 $\frac {1} {e}$,因此认为此时是近50个数值的加权平均。这种情况也正是移动加权平均的来源。
具体的分析如下图所示:

3、偏差修正
在初始化 $ v_0 = 0$ 时实际上会存在一个问题。具体的如下图所示:

从上图中可以看出有一条绿色和紫色的曲线,都是对应于 $\beta = 0.98$ 时的曲线。理想状况下应该是绿色的曲线,但当初始化 $v_0 = 0$ 时却会得到紫色的曲线,这是因为初始化的值太小,导致初期的数值都偏小,而随着时间的增长,初期的值的影响减小,紫色的曲线就慢慢和绿色的曲线重合。我们对公式做一些修改:
$ v_t = \frac {\beta {v_{t-1}} + {(1 - \beta)} \theta_t} {1 - \beta^t} $
当 $t$ 很小时,分母可以很好的放大当前的数值;当 $t$ 很大时,分母的数值趋于1,对当前数值几乎没有影响。
EWMA 主要是被应用在动量优化算法中,比如Adam算法中的一阶矩和二阶矩都采用了上面修改后的EWMA算法。
指数加权移动平均法(EWMA)的更多相关文章
- ubuntu之路——day8.2 深度学习优化算法之指数加权平均与偏差修正,以及基于指数加权移动平均法的动量梯度下降法
首先感谢吴恩达老师的免费公开课,以下图片均来自于Andrew Ng的公开课 指数加权平均法 在统计学中被称为指数加权移动平均法,来看下面一个例子: 这是伦敦在一些天数中的气温分布图 Vt = βVt- ...
- pandas 学习 第3篇:Series - 数据处理(应用、分组、滚动、扩展、指数加权移动平均)
序列内置一些函数,用于循环对序列的元素执行操作. 一,应用和转换函数 应用apply 对序列的各个元素应用函数: Series.apply(self, func, convert_dtype=True ...
- pandas处理时间序列(4): 移动窗口函数
六.移动窗口函数 移动窗口和指数加权函数类别如↓: rolling_mean 移动窗口的均值 pandas.rolling_mean(arg, window, min_periods=None, fr ...
- 面向初学者的指南:创建时间序列预测 (使用Python)
https://blog.csdn.net/orDream/article/details/100013682 上面这一篇是对 https://www.analyticsvidhya.com/blog ...
- 流量控制--6.Classful Queuing Disciplines (qdiscs)
Classful Queuing Disciplines 可以使用classful qdisc的代理来解锁Linux流量控制的灵活性和控制力.classful qdisc可以附加过滤器,允许将报文重定 ...
- Python:pandas(三)——DataFrame
官方文档:pandas之DataFrame 1.构造函数 用法 pandas.DataFrame( data=None, index=None, columns=None, dtype=None, ) ...
- [DeeplearningAI笔记]改善深层神经网络_优化算法2.3_2.5_带修正偏差的指数加权平均
Optimization Algorithms优化算法 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.3 指数加权平均 举个例子,对于图中英国的温度数据计算移动平均值或者说是移动平均值( ...
- 改善深层神经网络_优化算法_mini-batch梯度下降、指数加权平均、动量梯度下降、RMSprop、Adam优化、学习率衰减
1.mini-batch梯度下降 在前面学习向量化时,知道了可以将训练样本横向堆叠,形成一个输入矩阵和对应的输出矩阵: 当数据量不是太大时,这样做当然会充分利用向量化的优点,一次训练中就可以将所有训练 ...
- 跟我学算法-吴恩达老师(mini-batchsize,指数加权平均,Momentum 梯度下降法,RMS prop, Adam 优化算法, Learning rate decay)
1.mini-batch size 表示每次都只筛选一部分作为训练的样本,进行训练,遍历一次样本的次数为(样本数/单次样本数目) 当mini-batch size 的数量通常介于1,m 之间 当 ...
随机推荐
- 解决mysql服务无法启动的问题
今天,mysql突然无法启动了. 解决办法记录一下: 1.删除data文件 我的:C:\Program Files\MySQL\MySQL Server 5.7\data 注意:这个文件可能在你一直试 ...
- SQL多表联合查询(交叉连接,内连接,外连接)
连接查询: 交叉连接: 交叉连接返回的结果是被连接的两个表中所有数据行的笛卡尔积,也就是返回第一个表中符合查询条件的数据航数乘以第二个表中符合,查询条件的数据行数,例如department ...
- junit单元测试注意的问题
1.有返回值的方法不能直接测试 2.带参数的方法不能直接测试 3.访问权限在public一下的方法不能直接测试 4.static静态方法不能直接测试 5.不能给出现前四个条件中任意一个的方法添加@Te ...
- Mac包管理神器Homebrew
概念 简称brew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件,相当于Red hat的yum.Ubuntu的apt-get. 安装命令 ruby -e "$( ...
- Flask 系列之 HelloWorld
说明 操作系统:Windows 10 Python 版本:3.7x 虚拟环境管理器:virtualenv 代码编辑器:VS Code 实验目标 创建一个显示 Hello World 页面的网站. 环境 ...
- Python 常用系统模块整理
Python中的常用的系统模块中部分函数等的整理 random: 随机数 sys: 系统相关 os: 系统相关的 subprocess: 执行新的进程 multiprocessing: 进程相关 th ...
- javascript 点击触发复制功能
摘要: js调用复制功能使用: document.execCommand("copy", false); document.execCommand()方法功能很强大,了解更多请戳: ...
- WORLD 目录排版调整
文本如下: ----------------------------------------------------------------- 前言1 简介2 我爱你3 圣灵丹方士大夫4 阿类似的看风 ...
- MySQL 内置函数
CHAR_LENGTH(str) 返回值为字符串str 的长度,长度的单位为字符.一个多字节字符算作一个单字符. +------------------------+ | CHAR_LENGTH('k ...
- RequireJS模块化编程详解
1.模块的写法 模块化编程一般都有这么几个过渡过程,如下描述. 原始方法 function m1(){ //... } function m2(){ //... } 上面的函数m1()和m2(),组成 ...