epochs,batch_size,iterations的理解

对于这几个参数,一直不怎么理解,每次写一个小demo都要一个个百度是什么意思。为了能够记住,决定自己写一遍,这样影响更深刻,也能更好的理解,虽然这类的博客很多,但是每个人喜欢的格式都不一样,希望可以帮到跟我一样的人。

Batch

首先说batch size,就要说到深度学习的算法,梯度下降。下面是梯度下降的几种方法

这几种梯度下降最大不同点在于什么时候更新损失函数,关于损失函数如果不理解可以看另外一篇博客:

1.批梯度下降(BGD   -----  Batch  Gradient Decent)

概念:训练数据集的时候,将所有的数据集样本都训练一遍后更新损失函数

特点:这样效率低,计算开销大,速度慢,不适合在线机器学习。

batch英文直接翻译过来就是一批的意思,批梯度下降我们可以把这样一批看成是整个数据集。

2.随机梯度下降(SGD   ----  Stochastic Gradient Decent)

概念:每训练一个数据更新一次损失函数。

特点:这样的计算速度提高了很多,但是收敛性可能不太好,容易在最优点徘徊,很难get到那个最优点。

3.小批梯度下降(mini-batch Gradient Decent)

概念:把数据分为若干批,按批来更新损失函数

这个方法是上面两个方法的折中方法。

batch size:每次选取的数据集中的一小部分,也就是小批度下降中的那一小批。

iterations

iterations(迭代):每次迭代都要更新一次权重参数,每次权重的更新都需要batch size个数据进行Forward计算得到损失函数,再用BP算法更新参数。

1 次Iteration=迭代一个batch size的量

epochs

(直译过来是时代、时期的意思)

epochs:也是就是在训练过程中所有训练集反复训练的次数。

三者关系

1 次Iteration=迭代一个batch size的量=N

1次epochs=所有数据集/batch size=N次Iteration

例:假设有1000个数据样本,batch size=10,那么一次epoch需要迭代100次。(1000/10=100)

即100次iteration,1次epoch。

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值