Epoch、批量大小、迭代次数

梯度下降

它是 机器学习中使用的迭代优化算法,用于找到最佳结果(曲线的最小值)。

坡度 是指 斜坡的倾斜度或倾斜度

梯度下降有一个称为 学习率的参数。 正如您在上图(左)中看到的,最初步长较大,这意味着学习率较高,随着点的下降,学习率因步长变短而变得更小。 另外, 成本 函数正在递减或成本正在递减。有时你可能会看到人们说 损失 函数正在递减或损失正在递减, 成本 (顺便 损失 代表同一件事说一句,我们的损失/成本是一件好事正在减少)。

只有当数据太大时,我们才需要像epoch、batch size、iteration这样的术语,这种情况在机器学习中经常发生,并且我们无法一次将所有数据传递到计算机。 因此,为了克服这个问题,我们需要将数据分成更小的尺寸,然后将其一一交给我们的计算机,并在每一步结束时更新神经网络的权重,以使其适合给定的数据。

**Epoches:**一个epoch是指整个数据集仅通过神经网络向前和向后传递一次。

由于一个epoch太大而无法一次输入计算机,因此我们将其分成几个较小的批次。

为什么我们使用多个 Epoch?

我知道一开始就没有意义------通过神经网络传递整个数据集是不够的。 我们需要将完整的数据集多次传递到同一个神经网络。 但请记住,我们使用的数据集有限,为了优化学习和图形,我们使用 梯度下降 ,这是一个 迭代 过程。 因此, 仅通过单遍或一个 epoch 更新权重是不够的。

一个epoch会导致图表中的曲线欠拟合(下图)。

随着 epoch 数量的增加,神经网络中权重变化的次数增多,曲线从 欠拟合最优 再到过 拟合曲线。

那么,正确的epoch数是多少?

不幸的是,这个问题没有正确答案。 对于不同的数据集,答案是不同的,但你可以说纪元的数量与你的数据的多样性有关......只​​是一个例子 - 你的数据集中只有黑猫还是更多样化的数据集?

Batach size批量大小

单批次(one iteration)中存在的训练示例总数。

**注意:**批次大小 (batch size)和批次数量(number of batches)是两个不同的东西。

迭代 Iterations

迭代次数是完成一个 epoch 所需的批次数(number of batches)。

注意:( number of batches**)**批次数等于一个 epoch 的迭代次数(number of iterations for one epoch.)。

假设我们有 2000 个要使用的训练示例samples。

我们可以将 2000 个示例的数据集分成 500 (number of batches)个批次 batch ,然后需要 4 (number of iterations)次迭代才能完成 1 个 epoch。

其中 Batch Size 为 500,Iterations 为 4,相当于 1 个完整的 epoch。

相关推荐
伏小白白白28 分钟前
【论文精度-2】求解车辆路径问题的神经组合优化算法:综合展望(Yubin Xiao,2025)
人工智能·算法·机器学习
应用市场32 分钟前
OpenCV编程入门:从零开始的计算机视觉之旅
人工智能·opencv·计算机视觉
星域智链1 小时前
宠物智能用品:当毛孩子遇上 AI,是便利还是过度?
人工智能·科技·学习·宠物
taxunjishu1 小时前
DeviceNet 转 MODBUS TCP罗克韦尔 ControlLogix PLC 与上位机在汽车零部件涂装生产线漆膜厚度精准控制的通讯配置案例
人工智能·区块链·工业物联网·工业自动化·总线协议
说私域1 小时前
基于多模态AI技术的传统行业智能化升级路径研究——以开源AI大模型、AI智能名片与S2B2C商城小程序为例
人工智能·小程序·开源
囚生CY1 小时前
【速写】优化的深度与广度(Adam & Moun)
人工智能·python·算法
hqyjzsb1 小时前
2025年市场岗位能力重构与跨领域转型路径分析
c语言·人工智能·信息可视化·重构·媒体·改行学it·caie
爱学习的uu2 小时前
CURSOR最新使用指南及使用思路
人工智能·笔记·python·软件工程
叶凡要飞2 小时前
RTX5060Ti安装双系统ubuntu22.04各种踩坑点(黑屏,引导区修复、装驱动、server版本安装)
人工智能·python·yolo·ubuntu·机器学习·操作系统
叶庭云2 小时前
一文掌握 CodeX CLI 安装以及使用!
人工智能·openai·安装·使用教程·codex cli·编码智能体·vibe coding 终端