深度学习中的epoch, batch 和 iteration

名词定义
epoch使用训练集的全部数据进行一次完整的训练,称为“一代训练”
batch使用训练集中的一小部分样本对模型权重进行一次反向传播的参数更新,这样的一部分样本称为:“一批数据”
iteration使用一个batch的数据对模型进行一次参数更新的过程,称为“一次训练”

epoch:所有的训练样本都在神经网络中进行了一次正向传播和一次反向传播。然而,当一个epoch的样本数量可能过于庞大,就需要把它分成多个小块,也就是分成多个batch来进行训练。

batch(批,一批样本):将训练样本分成若干个batch

batch_size(批大小):每批样本的大小
iteration(一次迭代):训练一个Batch就是一次Iteration

换算关系:
N u m b e r o f B a t c h e s = T r a i n i n g S e t S i z e B a t c h S i z e Number of Batches = \dfrac{Training Set Size}{Batch Size} NumberofBatches=BatchSizeTrainingSetSize

实际上,梯度下降的几种方式的根本区别就在于上面公式中的Bathch_Size 不同,

梯度下降方式训练集大小batch_sizenumber of batchs
BGD(批量梯度下降)NN1
SGD(随机梯度下降)N1N
MBGD(小批量梯度下降)NBN/B+1

举个例子:

mnist 数据集有60000张图片作为训练数据,10000张图片作为测试数据。假设现在选择 ==Batch_Size =100 ==对模型进行训练。迭代30000次。

  • 每个 Epoch 要训练的图片数量:60000(训练集上的所有图像)
  • 训练集具有的 Batch 个数:600=60000/100
  • 每个 Epoch 需要完成的 Batch 个数:600
  • 每个 Epoch 具有的 Iteration 个数:600(完成一个- Batch训练,相当于参数迭代一次)
  • 每个 Epoch 中发生模型权重更新的次数:600
  • 训练 10 个Epoch后,模型权重更新的次数:6000=600*10
  • 不同Epoch的训练,其实用的是同一个训练集的数据。第1个Epoch和第10个Epoch虽然用的都是训练集的图片,但是对模型的- 权重更新值却是完全不同的。因为不同Epoch的模型处于代价函数空间上的不同位置,模型的训练代越靠后,越接近谷底,其代价越小。
  • 总共完成30000次迭代,相当于完成了30000/600=50 个 Epoch

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/122468.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

串行原理编程,中文编程工具中的串行构件,串行连接操作简单

串行通信原理编程,中文编程工具中的串行通信构件,串行通信连接设置简单 编程系统化课程总目录及明细,点击进入了解详情。https://blog.csdn.net/qq_29129627/article/details/134073098?spm1001.2014.3001.5502 串行端口 是串行的基础&#…

【C++】类与对象 第二篇(构造函数,析构函数,拷贝构造,赋值重载)

目录 类的6个默认成员函数 初始化和清理 1.构造函数 2.析构函数 3.共同点 拷贝复制 1.拷贝构造 使用细节 2.赋值重载 运算符重载 < < > > ! 连续赋值 C入门 第一篇(C关键字&#xff0c; 命名空间&#xff0c;C输入&输出)-CSDN博客 C入门 第二篇( 引…

Python学习笔记--类和对象

五、类和对象 1、类和对象之间的关系 这部分内容主要讲类和对象,我们先来说说类和对象之间的关系。 类是对象的模板 我们得先有了类,才能制作出对象。 类就相对于工厂里面的模具,对象就是根据模具制造出来的产品。 从模具变成产品的过程,我们就称为类的实例化。 类实…

POJ 3981:字符串替换 ← C++

【题目来源】http://poj.org/problem?id3981【题目描述】 编写一个C程序实现将字符串中的所有"you"替换成"we"。【输入格式】 输入包含多行数据。 每行数据是一个字符串&#xff0c;长度不超过1000。 数据以EOF结束。【输出格式】 对于输入的每一行&#…

【开源】基于SpringBoot的海南旅游景点推荐系统的设计和实现

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户端2.2 管理员端 三、系统展示四、核心代码4.1 随机景点推荐4.2 景点评价4.3 协同推荐算法4.4 网站登录4.5 查询景点美食 五、免责说明 一、摘要 1.1 项目介绍 基于VueSpringBootMySQL的海南旅游推荐系统&#xff…

P1022 [NOIP2000 普及组] 计算器的改良 题解

文章目录 题目背景题目描述输入格式输出格式样例样例输入样例输出 思路及部分实现完整代码 题目背景 NCL 是一家专门从事计算器改良与升级的实验室&#xff0c;最近该实验室收到了某公司所委托的一个任务&#xff1a;需要在该公司某型号的计算器上加上解一元一次方程的功能。实…

2017年上半年上午易错题(软件设计师考试)

CPU 执行算术运算或者逻辑运算时&#xff0c;常将源操作数和结果暂存在&#xff08; &#xff09;中。 A &#xff0e; 程序计数器 (PC) B. 累加器 (AC) C. 指令寄存器 (IR) D. 地址寄存器 (AR) 某系统由下图所示的冗余部件构成。若每个部件的千小时可靠度都为 R &…

【Python机器学习】零基础掌握partial_dependence检验、检查

在医疗健康的领域,有一个问题一直困扰着专家——如何从多个健康指标中找出影响患者健康最关键的因素?在这样的场景下,做出准确的预测非常关键,因为它直接关联到患者的生命安全。 解决这一问题的一个有效方法是利用机器学习算法,具体来说就是通过偏依赖图(Partial Depend…

微信小程序在线预览PDF文件

需求&#xff1a;微信小程序在线预览PDF合同文件&#xff0c;加载完成后强制阅读10秒才可点击同意按钮 H5代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" cont…

如何使用手机蓝牙设备作为电脑的解锁工具像动态锁那样,蓝牙接近了电脑,电脑自动解锁无需输入开机密码

环境&#xff1a; Win10 专业版 远程解锁 蓝牙解锁小程序 问题描述&#xff1a; 如何使用手机蓝牙设备作为电脑的解锁工具像动态锁那样&#xff0c;蓝牙接近了电脑&#xff0c;电脑自动解锁无需输入开机密码 手机不需要拿出来&#xff0c;在口袋里就可以自动解锁&#xff…

nlp之加载电商评论集

目录 代码代码解读 代码 import pandas as pddf pd.read_csv("../data/Clothing Reviews.csv") print(df.info())df[Review Text] df[Review Text].astype(str) x_train df[Review Text] y_train df[Rating]from tensorflow.keras.preprocessing.text import To…

Geeker-Admin中ProTable表格分页之自定义接口页码、尺寸参数

最近挖了个新玩意儿&#xff0c;Geeker-Admin&#xff0c;看起来感觉挺好。 鼓捣了半天搞定了与服务端的API接口对接&#xff0c;但在表格分页的时候又遇到了问题&#xff0c;系统默认是pageNum/pageSize这两个参数名用来分页&#xff0c;而服务端是current/size&#xff0c;开…

C#,数值计算——分类与推理,基座向量机的 Svmgenkernel的计算方法与源程序

1 文本格式 using System; namespace Legalsoft.Truffer { public abstract class Svmgenkernel { public int m { get; set; } public int kcalls { get; set; } public double[,] ker { get; set; } public double[] y { get; set…

微信小程序瀑布流组件

话不多说直接上干货: 现在component中创建一个waterfull的文件夹&#xff0c;并创建对应的wxml,wxss,jx,json文件 wxml&#xff1a; <view class"content"><view class"content-left"><block wx:for"{{list}}" wx:key"…

机器学习-特征选择:如何使用互信息特征选择挑选出最佳特征?

一、引言 特征选择在机器学习中扮演着至关重要的角色&#xff0c;它可以帮助我们从大量的特征中挑选出对目标变量具有最大预测能力的特征。互信息特征选择是一种常用的特征选择方法&#xff0c;它通过计算特征与目标变量之间的互信息来评估特征的重要性。 互信息是信息论中的一…

前端线上部署,如何通知用户有新版本

前言 version-polling 是一个轻量级的 JavaScript 库&#xff0c;它可以实时检测 web 应用的 index.html 文件内容是否有变化。当服务端发布新版本后&#xff0c;前端会自动弹出更新提示&#xff0c;让用户刷新页面&#xff0c;以加载最新的资源和功能。这样可以提高用户体验和…

verilog vscode linux

安装 vscode 插件 插件&#xff1a;Verilog-HDL/SystemVerilog/Bluespec SystemVerilog 功能&#xff1a;.xdc .ucf .v 等代码高亮、代码格式化、语法检查&#xff08;Linting&#xff09;、光标放到变量上提示变量的信息等 关于其他语言的依赖工具等信息查看插件说明 代码对齐…

Csdn文章编写参考案例

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

解决visual studio Just-In-Time Debugger调试

解决visual studio Just-In-Time Debugger调试 网上流行很多方法&#xff0c;最后一直不行&#xff0c;其实有最简单的方法比较实用 方法一&#xff1a;把 C:\WINDOWS\system32\vsjitdebugger.exe,删除了&#xff0c;若怕出问题&#xff0c;可以把它改名或者做个rar文件暂时保留…

cosover是什么?crossover23又是什么软件

cosover是篮球里的过人技巧。 1.crossover在篮球中的本意是交叉步和急速交叉步。crossover 是篮球术语&#xff0c;有胯下运球、双手交替运球&#xff0c;交叉步过人、急速大幅度变向等之意。 2.在NBA里是指包括胯下运球、变向、插花在内的过人的技巧。 NBA有很多著名的Cross…