2.4 理解指数加权平均-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授


←上一篇↓↑下一篇→
2.3 指数加权平均回到目录2.5 指数加权平均的偏差修正

理解指数加权平均 (Understanding Exponentially Weighted Averages)

上个视频中,我们讲到了指数加权平均数,这是几个优化算法中的关键一环,而这几个优化算法能帮助你训练神经网络。本视频中,我希望进一步探讨算法的本质作用。

回忆一下这个计算指数加权平均数的关键方程。

v t = β v t − 1 + ( 1 − β ) θ t v_t=\beta v_{t-1}+(1-\beta)\theta_t vt=βvt1+(1β)θt

β = 0.9 \beta=0.9 β=0.9 的时候,得到的结果是红线,如果它更接近于1,比如0.98,结果就是绿线,如果 β \beta β 小一点,如果是0.5,结果就是黄线。

在这里插入图片描述

我们进一步地分析,来理解如何计算出每日温度的平均值。

同样的公式, v t = β v t − 1 + ( 1 − β ) θ t v_t=\beta v_{t-1}+(1-\beta)\theta_t vt=βvt1+(1β)θt

使 β = 0.9 \beta=0.9 β=0.9 ,写下相应的几个公式,所以在执行的时候, t t t 从0到1到2到3, t t t 的值在不断增加,为了更好地分析,我写的时候使得 t t t 的值不断减小,然后继续往下写。

在这里插入图片描述

首先看第一个公式,理解 v 100 v_{100} v100 是什么?我们调换一下这两项( 0.9 v 99 0.1 θ 100 0.9v_{99}0.1\theta_{100} 0.9v990.1θ100 ), v 100 = 0.1 θ 100 + 0.9 v 99 v_{100}=0.1\theta_{100}+0.9v_{99} v100=0.1θ100+0.9v99

那么 v 99 v_{99} v99 是什么?我们就代入这个公式( v 99 = 0.1 θ 99 + 0.9 v 98 v_{99}=0.1\theta_{99}+0.9v_{98} v99=0.1θ99+0.9v98 ),所以: v 100 = 0.1 θ 100 + 0.9 ( 0.1 θ 99 + 0.9 v 98 ) v_{100}=0.1\theta_{100}+0.9(0.1\theta_{99}+0.9v_{98}) v100=0.1θ100+0.9(0.1θ99+0.9v98)

那么 v 98 v_{98} v98 是什么?我们就代入这个公式( v 98 = 0.1 θ 98 + 0.9 v 97 v_{98}=0.1\theta_{98}+0.9v_{97} v98=0.1θ98+0.9v97 ),所以: v 100 = 0.1 θ 100 + 0.9 ( 0.1 θ 99 + 0.9 ( 0.1 θ 98 + 0.9 v 97 ) ) v_{100}=0.1\theta_{100}+0.9(0.1\theta_{99}+0.9(0.1\theta_{98}+0.9v_{97})) v100=0.1θ100+0.9(0.1θ99+0.9(0.1θ98+0.9v97))

以此类推,如果你把这些括号都展开,

v 100 = 0.1 θ 100 + 0.1 ∗ 0.9 θ 99 + 0.1 ∗ 0. 9 2 θ 98 + 0.1 ∗ 0. 9 3 θ 97 + 0.1 ∗ 0. 9 4 θ 96 + ⋯ 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}+0.1*0.9^4\theta_{96}+\cdots v100=0.1θ100+0.10.9θ99+0.10.92θ98+0.10.93θ97+0.10.94θ96+
在这里插入图片描述

所以这是一个加和并平均,100号数据,也就是当日温度。我们分析 v 100 v_{100} v100 的组成,也就是在一年第100天计算的数据,但是这个是总和,包括100号数据,99号数据,97号数据等等。画图的一个办法是,假设我们有一些日期的温度,所以这是数据,这是 t t t ,所以100号数据有个数值,99号数据有个数值,98号数据等等, t t t 为100,99,98等等,这就是数日的温度数值。

在这里插入图片描述

然后我们构建一个指数衰减函数,从0.1开始,到 0.1 ∗ 0.9 0.1*0.9 0.10.9 ,到 0.1 ∗ 0. 9 2 0.1*0.9^2 0.10.92 ,以此类推,所以就有了这个指数衰减函数。

在这里插入图片描述

计算 v 100 v_{100} v100 是通过,把两个函数对应的元素,然后求和,用这个数值100号数据值乘以0.1,99号数据值乘以0.1乘以 0. 9 2 0.9^2 0.92,这是第二项,以此类推,所以选取的是每日温度,将其与指数衰减函数相乘,然后求和,就得到了 v 100 v_{100} v100

在这里插入图片描述

结果是,稍后我们详细讲解,不过所有的这些系数( 0.10.1 + 0.90.1 ∗ 0. 9 2 0.1 ∗ 0. 9 3 … 0.10.1+0.90.1*0.9^20.1*0.9^3\dots 0.10.1+0.90.10.920.10.93 ),相加起来为1或者逼近1,我们称之为偏差修正,下个视频会涉及。

最后也许你会问,到底需要平均多少天的温度。实际上 0. 9 10 0.9^{10} 0.910 大约为0.35,这大约是 1 e \frac1e e1 e e e 是自然算法的基础之一。大体上说,如果有 1 − ϵ 1-\epsilon 1ϵ ,在这个例子中, ϵ = 0.1 \epsilon=0.1 ϵ=0.1 ,所以 1 − ϵ = 0.9 1-\epsilon=0.9 1ϵ=0.9 ( 1 − ϵ ) 1 ϵ (1-\epsilon)^{\frac1\epsilon} (1ϵ)ϵ1 约等于 1 e \frac1e e1 ,大约是0.34,0.35,换句话说,10天后,曲线的高度下降到 1 3 \frac13 31 ,相当于在峰值的 1 e \frac1e e1

在这里插入图片描述

又因此当 β = 0.9 \beta=0.9 β=0.9 的时候,我们说仿佛你在计算一个指数加权平均数,只关注了过去10天的温度,因为10天后,权重下降到不到当日权重的三分之一。

在这里插入图片描述

相反,如果,那么0.98需要多少次方才能达到这么小的数值? 0.9 8 50 0.98^{50} 0.9850 大约等于 1 e \frac1e e1 ,所以前50天这个数值比 1 e \frac1e e1 大,数值会快速衰减,所以本质上这是一个下降幅度很大的函数,你可以看作平均了50天的温度。因为在例子中,要代入等式的左边, ϵ = 0.02 \epsilon=0.02 ϵ=0.02 ,所以 1 ϵ \frac1\epsilon ϵ1 为50,我们由此得到公式,我们平均了大约 1 ( 1 − β ) \frac1{(1-\beta)} (1β)1 天的温度,这里 ϵ \epsilon ϵ 代替了 1 − β 1-\beta 1β ,也就是说根据一些常数,你能大概知道能够平均多少日的温度,不过这只是思考的大致方向,并不是正式的数学证明。

在这里插入图片描述

最后讲讲如何在实际中执行,还记得吗?我们一开始将 v 0 v_0 v0 设置为0,然后计算第一天 v 1 v_1 v1 ,然后 v 2 v_2 v2 ,以此类推。

现在解释一下算法,可以将 v 0 v_0 v0 v 1 v_1 v1 v 2 v_2 v2 等等写成明确的变量,不过在实际中执行的话,你要做的是,一开始将 v v v 初始化为0,然后在第一天使 v : = β v + ( 1 − β ) θ 1 v:=\beta v+(1-\beta)\theta_1 v:=βv+(1β)θ1 ,然后第二天,更新 v v v 值, v : = β v + ( 1 − β ) θ 2 v:=\beta v+(1-\beta)\theta_2 v:=βv+(1β)θ2 ,以此类推,有些人会把 v v v 加下标,来表示 v v v 是用来计算数据的指数加权平均数。

在这里插入图片描述

再说一次,但是换个说法, v θ = 0 v_\theta=0 vθ=0 ,然后每一天,拿到第 t t t 天的数据,把 v v v 更新为 v t = β v θ + ( 1 − β ) θ t v_t=\beta v_{\theta}+(1-\beta)\theta_t vt=βvθ+(1β)θt

指数加权平均数公式的好处之一在于,它占用极少内存,电脑内存中只占用一行数字而已,然后把最新数据代入公式,不断覆盖就可以了,正因为这个原因,其效率,它基本上只占用一行代码,计算指数加权平均数也只占用单行数字的存储和内存,当然它并不是最好的,也不是最精准的计算平均数的方法。如果你要计算移动窗,你直接算出过去10天的总和,过去50天的总和,除以10和50就好,如此往往会得到更好的估测。但缺点是,如果保存所有最近的温度数据,和过去10天的总和,必须占用更多的内存,执行更加复杂,计算成本也更加高昂。

所以在接下来的视频中,我们会计算多个变量的平均值,从计算和内存效率来说,这是一个有效的方法,所以在机器学习中会经常使用,更不用说只要一行代码,这也是一个优势。

现在你学会了计算指数加权平均数,你还需要知道一个专业概念,叫做偏差修正,下一个视频我们会讲到它,接着你就可以用它构建更好的优化算法,而不是简单直接的梯度下降法。

课程PPT

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


←上一篇↓↑下一篇→
2.3 指数加权平均回到目录2.5 指数加权平均的偏差修正

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zhao-Jichao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值