深度学习入门笔记手稿(九)mini-batch梯度下降

深度学习入门笔记手稿(九)mini-batch梯度下降

mini-batch梯度下降

数据特别大时在,在全部处理完全部数据之前,先让梯度下降处理一部分,算法速度会加快。把训练集分割为小一点的子训练集,这些子集取名为mini batch
#一代 只是一次遍历训练集
例子 500万数据
X=[x(1),x(2),…x(1000)] 【x(1001),…x(2000)】…[…x(m)]
X=x{1},x{2}…x{5000}
Y=[y(1),y(2)…y(1000)]…
Y=y{1},y{2}…y{5000}

for t=1…5000
forward prop on x{t}
z[1]=w[1]x(t)+b(1)
A[1]=g【1】(z(1))

z[l]=w[l]x(t)+b(l)
A[l]=g【l】(z(l))
cost j
backprop
w[l]=w[l]-adw(t) b[l]=b[l]-adb[t]
使用batch梯度下降一次遍历 只能做一个梯度下降,使用mini batch一次遍历能做5000个梯度下降。
在这里插入图片描述

特性

mini batch和batch的损失函数和迭代次数关系图如下
在这里插入图片描述
if mini batch size=m :batch gradient descent (x{1},y{1})=(X,Y)
if mini batch size=1: stochastic gradient descent(随机梯度下降)

小于2000个样本可直接使用batch梯度下降法。

一般的mini batch大小为64-512 mini batch为2的次方代码运行速度会快一些

x{t},y{t}要符合cpu/Gpu内存,否则算法表现急转直下

mini batch 大小是一个重要变量,需要快速尝试。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值