机器学习中的一个 Epoch 表示将整个训练数据集通过神经网络一次 (即进行一次正向传播和一次反向传播) 的过程。例如,如果数据集由 1000 个样本组成,并且使用 batch size 为 100 训练模型,则需要 10 个 Epoch 才能完成整个数据集的一次传递。
Epoch 在机器学习模型的训练过程中起着至关重要的作用,它们与模型学习和推广未见过的数据的能力直接相关。 Epoch 是一个超参数,它定义学习算法在整个训练数据集中工作的次数。 Epoch 太少可能会导致模型欠拟合,而 Epoch 太多可能会导致过度拟合。
确定 Epoch 的数量是设计神经网络的关键步骤,因为它会显着影响模型的性能。如果 Epoch 数太少,模型可能没有足够的时间来学习数据中的模式,从而导致模型性能不佳。相反,如果 Epoch 数太高,模型可能会过度拟合,这意味着它会学习训练数据中的噪声,从而对新数据的性能产生负面影响。
提前停止是防止过度拟合的实用技术。它涉及监控模型在验证集上的性能,并在性能开始下降或无法改善时停止训练过程。这种方法有助于找到要运行的 Epoch 数量的良好平衡,确保模型既不欠拟合也不过拟合。
总之,Epoch 是神经网络和其他机器学习算法训练过程的基本组成部分。它们表示整个数据集通过算法的次数。正确的 Epoch 数对于模型有效学习而不会过度拟合至关重要。平衡 Epoch 数量以及 batch size 和学习率等其他超参数对于构建强大的机器学习模型至关重要。
【1】https://deepai.org/machine-learning-glossary-and-terms/epoch
【2】https://encord.com/glossary/epochs-definition/