【机器学习】Epoch(训练轮数)和Step(迭代次数)

Epoch(训练轮数)Step(迭代次数) 是深度学习和机器学习中训练模型时的两个重要概念,它们用于描述模型训练过程中的不同阶段和步骤。理解它们的含义以及两者之间的区别,有助于更好地掌握模型的训练过程和调试。

一、Epoch(训练轮数)的含义

  • 一个Epoch是指模型在训练过程中遍历整个训练数据集一次的过程。

  • 如果训练数据集包含 10,000 个样本,那么一个 Epoch 就是模型在这 10,000 个样本上完成一次 前向传播(forward pass)反向传播(backward pass) 的过程。

  • 在一个 Epoch 中,模型会看到每一个训练样本一次,并有机会对所有数据进行学习。

二、Step(迭代次数)的含义

  • 一个Step(也称为Iteration,迭代)是指模型在训练过程中使用一个批次(batch)数据进行一次参数更新的过程。

  • 详细解释

    • 在深度学习中,为了高效利用计算资源和提高训练速度,通常不会将整个数据集一次性输入模型进行训练,而是将数据集拆分成多个小的批次(Batch)
    • 每处理一个 Batch,模型进行一次前向传播、计算损失、反向传播,并更新参数,这就是一个 Step。
    • Step 的数量通常等于训练数据集的总样本数除以批次大小(Batch Size)。
  • 公式
    Steps Per Epoch = 训练样本总数 Batch Size \text{Steps Per Epoch} = \frac{\text{训练样本总数}}{\text{Batch Size}} Steps Per Epoch=Batch Size训练样本总数

    • 如果训练集有 N N N 个样本,Batch Size 为 B B B,那么每个 Epoch 包含的 Step 数量为 N / B N / B N/B
    • 如果 N N N 不能被 B B B 整除,可能会有一个包含较少样本的最后一个 Batch。

三、Epoch 和 Step 之间的关系

  • 假设
    • 训练数据集有 10,000 个样本。
    • Batch Size 为 100。
  • 计算
    • 每个 Epoch 包含的 Step 数量为:
      Steps Per Epoch = 10 , 000 100 = 100 \text{Steps Per Epoch} = \frac{10,000}{100} = 100 Steps Per Epoch=10010,000=100
    • 如果训练 10 个 Epoch,总共的 Step 数量为:
      Total Steps = 10 × 100 = 1 , 000 \text{Total Steps} = 10 \times 100 = 1,000 Total Steps=10×100=1,000
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值