Epoch、批量大小、迭代次数

news2025/3/13 10:47:38

梯度下降

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

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

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

只有当数据太大时,我们才需要像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。

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

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

相关文章

2023年中国半导体缺陷检测设备市场规模及发展趋势分析[图]

前道检测设备帮助晶圆厂在更快时间内提升芯片良率,按功能可分为参数量测、缺陷检测。前道检测设备按功能可分为参数量测、缺陷检测。 半导体缺陷检测设备分类 资料来源:共研产业咨询(共研网) 2023-2029年中国半导体缺陷检测设备行…

libcurl库使用

libcurl介绍 libcurl是一个跨平台的网络协议库,支持http, https,ftp, gopher, telnet, dict, file, 和ldap 协议。libcurl同样支持HTTPS证书授权,HTTP POST,HTTP PUT, FTP 上传, HTTP基本表单上传,代理,cookies和用户认证。 基本…

linux加密和安全

sudo实现授权 添加 vim /etc/sudoers luo ALL(root) /usr/bin/mount /deb/cdrom /mnt/ 切换luo用户使用 sudo mount /dev/cdrom /mnt %sudo ALL(ALL:ALL) ALL %sudo 表示该规则适用于sudo用户组中的所有成员。 ALL(ALL:ALL) 表示可以在任何主机上,以任何用户身份来…

2023.10.17 关于 wait 和 notify 的使用

目录 引言 方法的使用 引入实例(wait 不带参数版本) wait 方法执行流程 wait 和 notify 组合实例 wait 带参数版本 notify 和 notifyAll 的区别 经典例题 总结 引言 线程最大的问题是抢占式执行,随机调度虽然线程在内核里的调度是随…

UITesting 界面测试

1. 创建界面测试视图 UITestingBootcampView.swift import SwiftUI/// 界面测试 ViewModel class UITestingBootcampViewModel: ObservableObject{let placeholderText: String "Add name here..."Published var textFiledText: String ""Published var…

CVE-2021-26084 漏洞分析

基础知识 Velocity .vm 结尾的文件一般为Velocity模板文件$action $action 是 velocity 上下⽂中的⼀个变量,⼀般在进⾏模板渲染前会设置到 context ⾥⾯。$action 是当前访问路由对应的具体 Action 类。$action.xxx 表⽰取对应 Action 类的 xxx 属性值 ${} 和 $!…

Kotlin中的字符串基本操作

字符串定义: val str: String "Hello World"val str1 "Hello World"获取字符串的长度: println(str.length)通过索引方式访问某个字符,索引从0开始: println(str[4])通过for循环迭代字符串: for…

Python-Python高阶技巧:闭包、装饰器、设计模式、多线程、网络编程、正则表达式、递归

版本说明 当前版本号[20231018]。 版本修改说明20231018初版 目录 文章目录 版本说明目录Python高阶技巧闭包简单闭包修改外部函数变量的值实现以下atm取钱的闭包实现了闭包注意事项 装饰器装饰器的一般写法(闭包写法)装饰器的语法糖写法 设计模式单例…

微信小程序中如何使用fontawesome6的免费图标

一、官网下载fontawesome6 Download Font Awesome Free or Pro | Font Awesome 二、使用transfer编码成Base64 transfer打开官网:Online font-face generator — Transfonter 首先先把刚刚下载的fontawesome6解压,将文件夹中的字体上传(点…

发电机组负载测试的必要性

发电机组负载测试是确保发电机组能够在实际运行中稳定工作的重要步骤,负载测试可以模拟发电机组在不同负载条件下的工作情况,评估其性能和稳定性。负载测试可以验证发电机组在不同负载条件下的性能表现,通过模拟实际使用情况评估发电机组的输…

【Flutter】第一篇基础:站在一名web前端开发者的角度看代框架

Flutter Flutter 是一个跨平台的 UI 工具集,它的设计初衷,就是允许在各种操作系统上复用同样的代码,例如 iOS 和 Android,同时让应用程序可以直接与底层平台服务进行交互。如此设计是为了让开发者能够在不同的平台上,…

怎么把m4v转换为mp4?

怎么把m4v转换为mp4?M4V是一种由苹果公司开发的视频文件格式,该格式可以在苹果公司的iTunes和QuickTime软件中播放。M4V格式本质上与MP4格式相似,但M4V通常包括了用于数字版权管理(DRM)的保护措施,以控制该…

【笔记-OrCAD】WARNING(ORCAP-36038)解决办法

问题描述: OrCAD16.6绘制好原理图后,点击“*.dsn”文件可以生成网表,在存放原理图的文件内找到allegro文件夹,用记事本打开netlist.log文件,可以看到具体的警告原因,例如: WARNING(ORCAP-36038)…

优雅而高效的JavaScript—— Class 和模块化

😊博主:小猫娃来啦 😊文章核心:优雅而高效的JavaScript—— Class 和模块化 文章目录 引言Class 的概念和用法Class 的定义Class 的继承Class 的静态方法和属性 模块化的概念和用法模块的导出和导入模块的默认导出和命名导出模块的…

SpringCloud: sentinel链路限流

一、配置文件要增加 spring.cloud.sentinel.webContextUnify: false二、在要限流的业务方法上使用SentinelResource注解 package cn.edu.tju.service;import com.alibaba.csp.sentinel.annotation.SentinelResource; import com.alibaba.csp.sentinel.slots.block.BlockExcept…

CVPR、ICCV、ECCV论文获取

CVPR每年召开,ICCV两年一次 链接地址 ECCV两年一开 链接地址

10. 机器学习-评测指标

Hi,你好。我是茶桁。 之前的课程中,我们学习了两个最重要的回归方法,一个线性回归,一个逻辑回归。也讲解了为什么学习机器学习要从逻辑回归和线性回归讲起。因为我们在解决问题的时候,有限选择简单的假设,越复杂的模型…

十七、文件(1)

本章概要 文件和目录路径 选取路径部分片段路径分析Paths 的增减修改 目录 在丑陋的 Java I/O 编程方式诞生多年以后,Java终于简化了文件读写的基本操作。 打开并读取文件对于大多数编程语言来说是非常常用的,由于 I/O 糟糕的设计以至于很少有人能够在不…

第七章 排序

第七章 排序 概述插入排序交换排序冒泡排序快速排序 选择排序直接选择排序堆排序 归并排序有序序列合并二路归并排序 小试牛刀 概述 排序就是将一组对象按照规定的次序(升序或降序等)重新排列的过程,往往为检索服务相同键值的两个记录在排序…

索引背后的数据结构——B+树

为什么要使用B树? 可以进行数据查询的数据结构有二叉搜索树、哈希表等。对于前者来说,树的高度越高,进行查询比较的时候访问磁盘的次数就越多。而后者只有在数据等于key值的时候才能进行查询,不能进行模糊匹配。所以出现了B树来解…