指数加权平均: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时,得到的结果是红线;当β=0.98\beta=0.98β=0.98时,得到的结果是绿线;当β=0.5\beta=0.5β=0.5时,得到的结果是黄线。



我们通过进一步分析来理解如何计算得出每日温度的平均值,同样的公式,使β=0.9\beta=0.9β=0.9,写下相应的几个公式:v100=0.9v99+0.1θ100v_{100}=0.9v_{99}+0.1\theta_{100}v100​=0.9v99​+0.1θ100​v99=0.9v98+0.1θ99v_{99}=0.9v_{98}+0.1\theta_{99}v99​=0.9v98​+0.1θ99​v98=0.9v97+0.1θ98v_{98}=0.9v_{97}+0.1\theta_{98}v98​=0.9v97​+0.1θ98​所以在执行的时候,t从0到1到2到3,t的值在不断增加。为了更好地分析,写的时候使得t的值不断减小。

首先看第一个公式,v100=0.1∗θ100+0.1∗0.9∗θ99+0.1∗0.92∗θ98+0.1∗0.93∗θ97+...v_{100}=0.1*\theta_{100}+0.1*0.9*\theta_{99}+0.1*0.9^2*\theta_{98}+0.1*0.9^3*\theta_{97+...}v100​=0.1∗θ100​+0.1∗0.9∗θ99​+0.1∗0.92∗θ98​+0.1∗0.93∗θ97+...​

画一个图,假设我们有一些日期的温度,第一个图是数据,所以100号数据有个数值,99号数据有个数据,98号数据等等,这就是数日的温度数值。然后构建一个指数衰减函数,从0.1开始,到0.9∗0.10.9*0.10.9∗0.1,到0.1∗0.920.1*0.9^20.1∗0.92,以此类推,所以有了指数衰减函数。

计算v100v_{100}v100​是通过把两个函数对应的元素相乘,然后求和,用100号数据乘以0.1,99号数据乘于0.1∗0.90.1*0.90.1∗0.9,这是第二项,以此类推,所以选取的是每日温度,将其与指数衰减函数相乘,然后求和就得到了V100V_{100}V100​。所有这些系数加起来为1或者逼近1,我们称之为偏差修正。因为有偏差修正,这才是指数加权平均数。

0.9100.9^{10}0.910大约是0.35,这大约是1e\frac{1}{e}e1​,e是自然算法的基础之一,大体上说,如果有1−ε1-\varepsilon1−ε,在这个例子中,ε=0.1\varepsilon=0.1ε=0.1,所以1−ε=0.91-\varepsilon=0.91−ε=0.9,(1−ε)1ε≈1e≈0.34035(1-\varepsilon)^{\frac{1}{\varepsilon}}\approx\frac{1}{e}\approx0.34035(1−ε)ε1​≈e1​≈0.34035。

换句话说,10天后曲线的高度下降到三分之一,相当于在峰值的1e\frac{1}{e}e1​。当β=0.9\beta=0.9β=0.9的时候,仿佛在计算一个指数加权平均数,只关注过去10天的温度,因为10天后,权重下降到不到当日权重的三分之一。

相反,如果β=0.98\beta=0.98β=0.98,0.98的50次方大约等于1e\frac{1}{e}e1​。所以前50天这个数值比1e\frac{1}{e}e1​大,数值会快速衰减,所以本质上这是一个下降幅度很大的函数,可以看做平均50天的温度。

我们由此得到公式,我们平均了大约11−β\frac{1}{1-\beta}1−β1​天的温度,这里用ε\varepsilonε替代了1−β1-\beta1−β,也就是说根据一些常数可以大概知道能够平均多少日的温度,不过这只是思考的大致方向,并不是正式的数学证明。

最后讲讲如何在实际中执行,我们一开始将v0v_0v0​设置为0,然后计算第一天v1v_1v1​,以此类推。现在解释一下算法,可以把v0v_0v0​,v1v_1v1​,v2v_2v2​等等写成明确的变量,不过在实际中执行的话,要做的是一开始将vvv初始化为0。然后在第一天使vvv等于β\betaβ乘于vvv加上(1−β)(1-\beta)(1−β)乘于1号的数据,以此类推。

改善深层神经网络:超参数调整、正则化以及优化——2.3指数加权平均相关推荐

  1. 交叉验证和超参数调整:如何优化您的机器学习模型

    In the first two parts of this article I obtained and preprocessed Fitbit sleep data, split the data ...

  2. 2020-6-9 吴恩达-改善深层NN-w3 超参数调试(3.3 超参数训练的实践:Pandas(资源少,一次一个模型) VS Caviar(资源多,一次多个模型))

    1.视频网站:mooc慕课https://mooc.study.163.com/university/deeplearning_ai#/c 2.详细笔记网站(中文):http://www.ai-sta ...

  3. 改善深层神经网络:超参数调整、正则化以及优化——2.5 指数加权平均的偏差修正

    当β=0.98\beta=0.98β=0.98时,其实预测曲线是图中的紫色线,在一开始的时候由于v0=0v_0=0v0​=0,导致前面部分的值低于预期的实际值,为了解决这个问题,加入了偏差修正. vt ...

  4. python/keras中用Grid Search对神经网络超参数进行调参

    原文:How to Grid Search Hyperparameters for Deep Learning Models in Python With Keras 作者:Jason Brownle ...

  5. 02.改善深层神经网络:超参数调试、正则化以及优化 W2.优化算法(作业:优化方法)

    文章目录 1. 梯度下降 2. mini-Batch 梯度下降 3. 动量 4. Adam 5. 不同优化算法下的模型 5.1 Mini-batch梯度下降 5.2 带动量的Mini-batch梯度下 ...

  6. 02.改善深层神经网络:超参数调试、正则化以及优化 W1.深度学习的实践层面(作业:初始化+正则化+梯度检验)

    文章目录 作业1:初始化 1. 神经网络模型 2. 使用 0 初始化 3. 随机初始化 4. He 初始化 作业2:正则化 1. 无正则化模型 2. L2 正则化 3. DropOut 正则化 3.1 ...

  7. 02.改善深层神经网络:超参数调试、正则化以及优化 W3. 超参数调试、Batch Norm和程序框架(作业:TensorFlow教程+数字手势预测)

    文章目录 1. 探索TensorFlow库 1.1 线性函数 1.2 计算 sigmoid 1.3 计算损失函数 1.4 One_Hot 编码 1.5 用0,1初始化 2. 用TensorFlow建立 ...

  8. 02.改善深层神经网络:超参数调试、正则化以及优化 W3. 超参数调试、Batch Norm和程序框架

    文章目录 1. 调试处理 2. 为超参数选择合适的范围 3. 超参数调试的实践 4. 归一化网络的激活函数 5. 将 Batch Norm 拟合进神经网络 6. Batch Norm 为什么奏效 7. ...

  9. 02.改善深层神经网络:超参数调试、正则化以及优化 W2.优化算法

    文章目录 1. Mini-batch 梯度下降 2. 理解 mini-batch 梯度下降 3. 指数加权平均数 4. 理解指数加权平均数 5. 指数加权平均的偏差修正 6. 动量Momentum梯度 ...

最新文章

  1. ELK学习5_ELK文档资料:《ELK stack 权威指南/饶琛琳》推荐
  2. 每日一笑 | 史上最贴心的骗子
  3. 以下哪个不是有效的java变量名,Java程序设计-中国大学mooc-题库零氪
  4. Android 第二章 本地文件的读写
  5. 使用printf函数输出其ascii。_输入一个N*N的矩阵,将其转置后输出。要求:不得使用任何数组(就地逆置)。...
  6. Android编程之仿微信显示更多文字的View
  7. 免费的安卓录屏、录音软件(无需root)
  8. 三绕组变压器参数计算matlab,三绕组变压器等值参数计算
  9. list中抽出某一个字段的值_Java 将List中所有item中的某一个字段值提出来生成一个新的List...
  10. win7桌面上计算机图标名称怎么改,win7电脑桌面图标排列方式如何设置 win7电脑桌面图标排列方法...
  11. 直播设备之技术分享:全NDI 和NDI |HX
  12. 中国化肥产业发展现状及趋势分析,化肥产能过剩情况得到缓解「图」
  13. MarkdownPad2安装教程
  14. VMware虚拟机+Kali linux 2021.2 下载和安装以及初始操作
  15. JSON数据导出Excel表
  16. 高德地图添加瓦片图层
  17. TMS Sphinx Alexandria Full Source
  18. 边缘设备、系统及计算杂谈(13)——k8s学习之三
  19. jar文件打不开解决办法
  20. 百胜中国今年计划开设约1000家新店;麦当劳中国推出“会员创异菜单” | 美通企业日报...

热门文章

  1. 查找一个类的好方法,可节省做很多层的传递
  2. Net4.0---对HTML净化的处理
  3. 开源cms系统:We7 CMS 2.5版内测版发布啦!
  4. Java jdbc数据库连接池
  5. Nodejs 分布式事务
  6. 【内容管理系统】之 Strapi
  7. 【Java】while和do-while循环比较测试案例
  8. 【Java】编写Java GUI应用程序,完成从键盘输入矩形的长和宽,求矩形的周长和面积并输出结果的功能...
  9. arch 还原pacman_如何使用Pacman在Arch Linux中安装Go
  10. .htaccess 重定向_如何使用.htaccess将HTTP重定向到HTTPS