神经网络优化篇:详解指数加权平均数(Exponentially weighted averages)
指数加权平均数

比如这儿有去年伦敦的每日温度,所以1月1号,温度是40华氏度,相当于4摄氏度。世界上大部分地区使用摄氏度,但是美国使用华氏度。在1月2号是9摄氏度等等。在年中的时候,一年365天,年中就是说,大概180天的样子,也就是5月末,温度是60华氏度,也就是15摄氏度等等。夏季温度转暖,然后冬季降温。

用数据作图,可以得到以下结果,起始日在1月份,这里是夏季初,这里是年末,相当于12月末。

这里是1月1号,年中接近夏季的时候,随后就是年末的数据,看起来有些杂乱,如果要计算趋势的话,也就是温度的局部平均值,或者说移动平均值。

要做的是,首先使\(v_{0} =0\),每天,需要使用0.9的加权数之前的数值加上当日温度的0.1倍,即\(v_{1} =0.9v_{0} + 0.1\theta_{1}\),所以这里是第一天的温度值。
第二天,又可以获得一个加权平均数,0.9乘以之前的值加上当日的温度0.1倍,即\(v_{2}= 0.9v_{1} + 0.1\theta_{2}\),以此类推。
第二天值加上第三日数据的0.1,如此往下。大体公式就是某天的\(v\)等于前一天\(v\)值的0.9加上当日温度的0.1。
如此计算,然后用红线作图的话,便得到这样的结果。

得到了移动平均值,每日温度的指数加权平均值。
看一下上面的公式,\(v_{t} = 0.9v_{t - 1} +0.1\theta_{t}\),把0.9这个常数变成\(\beta\),将之前的0.1变成\((1 - \beta)\),即\(v_{t} = \beta v_{t - 1} + (1 - \beta)\theta_{t}\)

由于以后要考虑的原因,在计算时可视\(v_{t}\)大概是\(\frac{1}{(1 -\beta)}\)的每日温度,如果\(\beta\)是0.9,会想,这是十天的平均值,也就是红线部分。
来试试别的,将\(\beta\)设置为接近1的一个值,比如0.98,计算\(\frac{1}{(1 - 0.98)} =50\),这就是粗略平均了一下,过去50天的温度,这时作图可以得到绿线。

这个高值\(\beta\)要注意几点,得到的曲线要平坦一些,原因在于多平均了几天的温度,所以这个曲线,波动更小,更加平坦,缺点是曲线进一步右移,因为现在平均的温度值更多,要平均更多的值,指数加权平均公式在温度变化时,适应地更缓慢一些,所以会出现一定延迟,因为当\(\beta=0.98\),相当于给前一天的值加了太多权重,只有0.02的权重给了当日的值,所以温度变化时,温度上下起伏,当\(\beta\) 较大时,指数加权平均值适应地更缓慢一些。
可以再换一个值试一试,如果\(\beta\)是另一个极端值,比如说0.5,根据右边的公式(\(\frac{1}{(1-\beta)}\)),这是平均了两天的温度。

作图运行后得到黄线。

由于仅平均了两天的温度,平均的数据太少,所以得到的曲线有更多的噪声,有可能出现异常值,但是这个曲线能够更快适应温度变化。
所以指数加权平均数经常被使用,再说一次,它在统计学中被称为指数加权移动平均值,就简称为指数加权平均数。通过调整这个参数(\(\beta\)),或者说后面的算法学习,会发现这是一个很重要的参数,可以取得稍微不同的效果,往往中间有某个值效果最好,\(\beta\)为中间值时得到的红色曲线,比起绿线和黄线更好地平均了温度。
神经网络优化篇:详解指数加权平均数(Exponentially weighted averages)的更多相关文章
- PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明
PHP函数篇详解十进制.二进制.八进制和十六进制转换函数说明 作者: 字体:[增加 减小] 类型:转载 中文字符编码研究系列第一期,PHP函数篇详解十进制.二进制.八进制和十六进制互相转换函数说明 ...
- 走向DBA[MSSQL篇] 详解游标
原文:走向DBA[MSSQL篇] 详解游标 前篇回顾:上一篇虫子介绍了一些不常用的数据过滤方式,本篇详细介绍下游标. 概念 简单点说游标的作用就是存储一个结果集,并根据语法将这个结果集的数据逐条处理. ...
- Scala进阶之路-Scala函数篇详解
Scala进阶之路-Scala函数篇详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.传值调用和传名调用 /* @author :yinzhengjie Blog:http: ...
- CentOS 7 下编译安装lnmp之PHP篇详解
一.安装环境 宿主机=> win7,虚拟机 centos => 系统版本:centos-release-7-5.1804.el7.centos.x86_64 二.PHP下载 官网 http ...
- CentOS 7 下编译安装lnmp之MySQL篇详解
一.安装环境 宿主机=> win7,虚拟机 centos => 系统版本:centos-release-7-5.1804.el7.centos.x86_64 二.MySQL下载 MySQL ...
- CentOS 7 下编译安装lnmp之nginx篇详解
一.安装环境 宿主机=> win7,虚拟机 centos => 系统版本:CentOS Linux release 7.5.1804 (Core),ip地址 192.168.1.168 ...
- Canal:同步mysql增量数据工具,一篇详解核心知识点
老刘是一名即将找工作的研二学生,写博客一方面是总结大数据开发的知识点,一方面是希望能够帮助伙伴让自学从此不求人.由于老刘是自学大数据开发,博客中肯定会存在一些不足,还希望大家能够批评指正,让我们一起进 ...
- java提高篇-----详解java的四舍五入与保留位
转载:http://blog.csdn.net/chenssy/article/details/12719811 四舍五入是我们小学的数学问题,这个问题对于我们程序猿来说就类似于1到10的加减乘除那么 ...
- 组件--Fragment(碎片)第二篇详解
感觉之前看的还是不清楚,重新再研究了一次 Fragment常用的三个类: android.app.Fragment 主要用于定义Fragment android.app.FragmentManager ...
- JavaScript基础篇详解
全部的数据类型: 基本数据类型: undefined Number Boolean null String 复杂数据类型: object ①Undefined: >>>声明但未初始化 ...
随机推荐
- 基于 Python 和 Vue 的在线评测系统
基于 Docker,真正一键部署 前后端分离,模块化编程,微服务 ACM/OI 两种比赛模式.实时/非实时评判 任意选择 丰富的可视化图表,一图胜千言 支持 Template Problem,可以添加 ...
- maven error
1 [INFO] Assembling webapp [crm9] in [/home/wukongcrm/72crm-java/target/ROOT] 2 [INFO] Processing wa ...
- 漏洞扫描与安全加固之Apache Axis组件
一.Apache Axis组件高危漏洞自查及整改 Apache Axis组件存在由配置不当导致的远程代码执行风险. 1. 影响版本 Axis1 和Axis2各版本均受影响 2. 处置建议 1)禁用此服 ...
- 13. 用Rust手把手编写一个wmproxy(代理,内网穿透等), HTTP中的压缩gzip,deflate,brotli算法
用Rust手把手编写一个wmproxy(代理,内网穿透等), HTTP中的压缩gzip,deflate,brotli算法 项目 ++wmproxy++ gite: https://gitee.com/ ...
- 如何在Excel中实现三联类模板?
本文由葡萄城技术团队原创并首发.转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 前言 在一些报表打印应用场景中,会有类似于如下图所示的排版格式: 一般情况下 ...
- 【Qt6】列表模型——几个便捷的列表类型
前面一些文章,老周简单介绍了在Qt 中使用列表模型的方法.很明显,使用 Item Model 在许多时候还是挺麻烦的--要先建模型,再放数据,最后才构建视图.为了简化这些骚操作,Qt 提供了几个便捷类 ...
- 手撕Vuex-实现actions方法
经过上一篇章介绍,完成了实现 mutations 的功能,那么接下来本篇将会实现 actions 的功能. 本篇我先介绍一下 actions 的作用,然后再介绍一下实现的思路,最后再实现代码. act ...
- 神经网络入门篇:详解计算一个神经网络的输出(Computing a Neural Network's output)
一个神经网络的输出 首先,回顾下只有一个隐藏层的简单两层神经网络结构: 图1.3.1 其中,\(x\)表示输入特征,\(a\)表示每个神经元的输出,\(W\)表示特征的权重,上标表示神经网络的层数(隐 ...
- 矩阵重叠 (3.18 leetcode每日打卡)
度简单66收藏分享切换为英文关注反馈矩形以列表 [x1, y1, x2, y2] 的形式表示,其中 (x1, y1) 为左下角的坐标,(x2, y2) 是右上角的坐标. 如果相交的面积为正,则称两矩形 ...
- Educational Codeforces Round 102 (Rated for Div. 2) A~D题
写在前边 链接:Educational Codeforces Round 102 (Rated for Div. 2) 第一场打CF,过了AB两题,不过速度挺慢,C题属实没看懂,D题写了个常规做法之后 ...