机器学习/深度学习/NLP-3-epoch、batch、iterations

机器学习/深度学习/NLP-3-epoch、batch、iterations


网上对epoch、batch、iterations的解析都太过繁琐。这里按我个人的理解整理出关键的几个点。

epoch

定义:数据集完整通过神经网络一次并且返回了一次,称为一次epoch。
用法

  1. 一般采用多个epoch训练模型,这样可以在训练中多次调整更新权重参数,提高模型的适用性。
  2. 具体设置多少个epoch随缘,常规是数据集越大就设置越大的epoch。随着epoch数量增加,模型会由欠拟合逐渐变为过拟合。
  3. 考虑2的情况,可以考虑early-stoping策略。

batch

定义:网络在训练时一次读入的数据样本数。batch_size就是batch的大小。
用法

  1. 数据集越大,就切分越多的batch。
  2. 对于每个epoch,number of batches=总样本数/batch_size。
  3. 有个潜规则:数据集越大,为了提高准确度,epoch和batch最好都增大些。

iterations

定义:Iteration是完成一个epoch需要的batch次数。
用法

  1. iterations=number of batches=总样本数/batch_size。

举例说明

假设数据集共有100000个样本,我们可以设置:
epoch=32 #跑32遍数据集进行训练
batch_size=256 #在每个epoch里,每次取256个样本进行训练
number_of_batches=100000//256 #有余数的话number_of_batches再加1,代表每个epoch需要完成的batch个数
iterations=100000//256 #有余数的话number_of_batches再加1,代表每个epoch具有的iterations个数

#需要注意的是,每个batch都会进行一次权重更新,所以整个训练过程共进行了iterations*epoch次权重更新。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值