2020-5-29 吴恩达-改善深层NN-w2 优化算法(2.3 指数加权(移动)平均-原理)

274 篇文章 24 订阅
233 篇文章 0 订阅

1.视频网站:mooc慕课https://mooc.study.163.com/university/deeplearning_ai#/c
2.详细笔记网站(中文):http://www.ai-start.com/dl2017/
3.github课件+作业+答案:https://github.com/stormstone/deeplearning.ai

2.3 指数加权平均 Exponentially weighted averages

有些优化算法比梯度下降法快,要理解这些算法,你需要用到指数加权平均,在统计中也叫做指数加权移动平均

本节将介绍指数加权平均。后面会再介绍相关算法。

在这里插入图片描述

上图是伦敦一年的气温数据。
θ 1 \theta_1 θ1,1月1号,华氏40度,摄氏4度。后面依次是每天的气温。
右边是数据图。靠近原点是年初,靠近横轴右边是年末。

我们要计算气温趋势,也就是温度的局部平均值,或者说移动平均值

v 0 = 0 v_0=0 v0=0。每天需要使用0.9的加权数之前的数值加上当日温度的0.1倍。所以,
第一天气温, v 1 = 0.9 v 0 + 0.1 θ 1 v_1=0.9v_0+0.1\theta_1 v1=0.9v0+0.1θ1
第二天气温, v 2 = 0.9 v 1 + 0.1 θ 2 v_2=0.9v_1+0.1\theta_2 v2=0.9v1+0.1θ2
第三天气温, v 3 = 0.9 v 2 + 0.1 θ 3 v_3=0.9v_2+0.1\theta_3 v3=0.9v2+0.1θ3

以此类推,某天 v v v值的等于前一天 v v v值的0.9加上当日温度的0.1。

如此计算,然后用红线作图的话,便得到以下的结果。
在这里插入图片描述

上图就是移动平均值,或者说每日温度的指数加权平均值。

总结上面的公式 v t = 0.9 v t − 1 + 0.1 θ t v_t=0.9v_{t-1}+0.1\theta_t vt=0.9vt1+0.1θt,把0.9这个常数变成 β \beta β,那么0.1就是 1 − β 1-\beta 1β,最终公式就是
v t = β v t − 1 + ( 1 − β ) θ t v_t=\beta v_{t-1}+(1-\beta)\theta_t vt=βvt1+(1β)θt

由于以后我们要考虑的原因,在计算时可视 v t ≈ 1 1 − β θ t v_t \approx \frac 1{1-\beta}\theta_t vt1β1θt。下一节课会解释这个公式。
所以, β = 0.9 \beta=0.9 β=0.9,那就是过去10天的平均值,也就是上图中的红线。

如果 β = 0.98 \beta=0.98 β=0.98 1 1 − β = 50 \frac 1{1-\beta}=50 1β1=50,那就是过去50天的平均值,我们在下图中用绿色线表示。
在这里插入图片描述

观察上图,50天平均值绿色线要比10天平均值红色线要平坦一些。原因在于你多平均了几天的温度,所以这个曲线,波动更小,更加平坦。

缺点是曲线进一步右移。因为现在平均的温度值更多,要平均更多的值,指数加权平均公式在温度变化时,变的更缓慢一些,所以会出现一定延迟。

根据公式 v t = β v t − 1 + ( 1 − β ) θ t v_t=\beta v_{t-1}+(1-\beta)\theta_t vt=βvt1+(1β)θt,当 β \beta β很大(非常接近1),例如: β = 0.98 \beta=0.98 β=0.98,相当于给前一天的值加了太多权重,只有0.02的权重给了当日的值,指数加权平均值相应的变化更缓慢一些。

如果是另一个极端值,比如说 β = 0.5 \beta=0.5 β=0.5 1 1 − β = 2 \frac 1{1-\beta}=2 1β1=2,就是平均了2天的温度。我们在下图中用黄色线表示。
在这里插入图片描述

观察上图,由于仅平均了两天的温度,平均的数据太少,所以得到的曲线有更多的噪声,有可能出现异常值。但是这个曲线能够更快适应温度变化。

指数加权平均数经常被使用,它在统计学中被称为指数加权移动平均值,我们就简称为指数加权平均数。

β \beta β是一个很重要的参数。
通过调整参数 β \beta β,或者说后面的算法学习,可以取得不同的效果。往往其中有某个值效果最好。例如,上面中间值 β = 10 \beta=10 β=10时得到的红色曲线,比起绿线(变化太缓慢,有延迟)和黄线(变化太剧烈,有噪音)更好地平均了温度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值