(笔记)吴恩达深度学习第二门课week2&week3

1、mini-batch 梯度下降法

使用 batch 梯度下降法时,每次迭代你都需要历遍整个训练集,可以预期每次迭代成本都会下降,所以如果成本函数𝐽是迭代次数的一个函数,它应该会随着每次迭代而减少,如果𝐽在某次迭代中增加了,那肯定出了问题,也许学习率太大。

使用 mini-batch 梯度下降法,如果你作出成本函数在整个过程中的图,则并不是每次迭 代都是下降的

如果 mini-batch 的大小等于𝑚,其实就是 batch 梯度下降法

另一个极端情况假设 mini-batch 大小为 1,就有了新的算法,叫做随机梯度下降法

2、指数加权平均数(Exponentially weighted averages)

如果𝛽是 0.9,这是十天的平均值。

   (这是微积分的知识) 这里的epsilon=1-θ

1/e ≈0.34   因此结合起来我们知道当日子超过了1/epsilon,那这个权重只占了1/3 很少很少了。

所以说

 3、指数加权平均的偏差修正 

偏差修正就是在初期让平均值除以一个小值让初期变大,接近实际值。

4、动量梯度下降法(Momentum)

原本是W=W-αdW

b=b-αdb    其中α是学习率

这样的梯度下降每一步都是独立的 不会跟之前累积的微分d相关

因此我们使用

同理b=

这样就可以减缓梯度下降的幅度。因为每次梯度下降的v都是跟之前累积的相关的,类似动量的累积,或者说惯性。

动量梯度下降有两个超参数,学习率𝑎以及参数𝛽,𝛽控制着指数加权平均数。𝛽最常用的值是 0.9,我们之前平均了过去十天的温度,所以现在平均了前十次迭代的梯度。

加快梯度下降的原理:

当v累积了之前的变化时候,在上下方向的变化就会正负抵消近乎于0,但是横轴变化不会抵消,因此,将紫色的变化曲线变成蓝色的变化曲线,即上下变化缓慢,更快到达最优解,来加快梯度下降。动量梯度下降的β越大,上下变化越缓慢。

 5、RMSprop

这里的S相当于上述的V

这样可以让数值的更新更加稳定,太快的减缓,太慢的加速。

6、Adam优化算法

Adam 优化算法基本上就是将 Momentum 和 RMSprop 结合在一起。(以下描述中 V一般关于Momentum,S关于RMSprop)

(1)初始化

 (2)

 

β1是Momentum 的超参数,β2是RMS的超参数

(3)使用Adam一般需要偏差修正 

V和S都需要

(4)更新权重的时候由于加入了RMSprop,所以需要除一个Sdw的平方根 加上ε是因为防止除的太小导致这个分数无穷大

 其中有一些超参数:学习率α、β1(通常0.9)、β2(通常0.999)、ε(10^-8,当然ε也可以忽略)

7、学习率衰减

 一开始学习率较大,梯度下降的幅度大,到学习末期为了能够收敛到最优解附近的一个局部小范围,我们需要把学习率调低(自动地),因此需要根据迭代周期(epoch)来减小学习率α,有许多公式比如

每遍历一次数据集  学习率就降低

8、超参数的取值

首先,超参数取值不能均匀取,必须随机取点

其次,推荐用对数刻度轴,比如0.0001~1的范围 不用均匀刻度,否则0.0001-0.1这个范围只占了10%的概率,应该用log 对数坐标(类似bode图)

9、归一化激活函数

归一化输入特征可以加快学习过程。

对于任何一个隐藏层,我们也可以归一化它的a,以此来更快训练w和b,因为这一层的a是下一层的输入,会影响下一层的w和b的训练。这就是Batch 归一化。

我们通过上式来归一化得到Z_norm

并且如果我们加入了γ和β这俩个新的参数,根据公式

我们可以对 进行任意设置平均数和方差,这里的β不同于momentum里的β

回顾一下  z1=w1x+b1,a1=g(z1),z2=w2a2+b2。这里的g是激活函数

10、Batch归一化的原理

Batch使之前层更新的参数不管怎么变化,至少他们的均值和方差也会是均值 0,方差 1。也就是说,其减弱了前层参数的作用与后层参数的作用之间的联系,它使得网络每层都可以自己学习,稍稍独立于其它层,这有 助于加速整个网络的学习。

Batch 归一化还有一个作用,它有轻微的正则化效果。因为每一个mini-batch的均值和方差都不一样,导致会产生噪声,因此类似dropout,Batch归一化可以细微的正则化,因为会给隐藏单元添加小噪声,这迫使后部单元不过分依赖任何一个隐藏单元。

11、Softmax回归

除以ti的求和是为了归一化让概率处以0-1之间,用指数形式的z是为了让z的负数部分也转成正数(负数的概率没有意义)

Softmax激活函数比logistics激活函数的优点就在于softmax更适合于多分类问题,而logistics一般适合二分类问题 

在 Softmax 分类中,我们一般用到的损失函数是

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值