epoch和batchsize设置多大(BatchDataset)

梯度下降  这是一个在机器学习中用于寻找最佳结果(曲线的最小值)的迭代优化算法。  梯度的含义是斜率或者斜坡的倾斜度。  下降的含义是代价函数的下降。  算法是迭代的,意思是需要多次使用算法获取结果,以得到最优化结果。在数据很庞大的时候(在机器学习中,几乎任何时候都是),我们才需要使用epochs,batchsize,迭代这些术语,在这种情况下,一次性将数据输入计算机是不可能的…

大家好,又见面了,我是你们的朋友全栈君。

梯度下降

  这是一个在机器学习中用于寻找最佳结果(曲线的最小值)的迭代优化算法。

  梯度的含义是斜率或者斜坡的倾斜度。

  下降的含义是代价函数的下降。

  算法是迭代的,意思是需要多次使用算法获取结果,以得到最优化结果。在数据很庞大的时候(在机器学习中,几乎任何时候都是),我们才需要使用 epochs,batch size,迭代这些术语,在这种情况下,一次性将数据输入计算机是不可能的。因此,为了解决这个问题,我们需要把数据分成小块,一块一块的传递给计算机,在每一步的末端更新神经网络的权重,拟合给定的数据。

EPOCHS

  当一个完整的数据集通过了神经网络一次并且返回了一次,这个过程称为一个 epoch。

  然而,当一个 epoch 对于计算机而言太庞大的时候,就需要把它分成多个小块。

  为什么要使用多于一个 epoch?

  我知道这刚开始听起来会很奇怪,在神经网络中传递完整的数据集一次是不够的,而且我们需要将完整的数据集在同样的神经网络中传递多次。但是请记住,我们使用的是有限的数据集,并且我们使用一个迭代过程即梯度下降。因此仅仅更新权重一次或者说使用一个 epoch 是不够的。

随着 epoch 数量增加,神经网络中的权重的更新次数也增加,曲线从欠拟合变得过拟合。

  那么,几个 epoch 才是合适的呢?

  不幸的是,这个问题并没有正确的答案。对于不同的数据集,答案是不一样的。但是数据的多样性会影响合适的 epoch 的数量。比如,只有黑色的猫的数据集,以及有各种颜色的猫的数据集。

BATCH SIZE

  一个 batch 中的样本总数。记住:batch size 和 number of batches 是不同的。

  BATCH 是什么?

  在不能将数据一次性通过神经网络的时候,就需要将数据集分成几个 batch。

  正如将这篇文章分成几个部分,如介绍、梯度下降、Epoch、Batch size 和迭代,从而使文章更容易阅读和理解。

  迭代

  理解迭代,只需要知道乘法表或者一个计算器就可以了。迭代是 batch 需要完成一个 epoch 的次数。记住:在一个 epoch 中,batch 数和迭代数是相等的。

  比如对于一个有 2000 个训练样本的数据集。将 2000 个样本分成大小为 500 的 batch,那么完成一个 epoch 需要 4 个 iteration。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/129337.html原文链接:https://javaforall.net

(1)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • IDEA2021.8.3激活码(注册激活)

    (IDEA2021.8.3激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月26日
    51
  • 标准归一化和最大最小归一化区别_最大值归一化处理

    标准归一化和最大最小归一化区别_最大值归一化处理1,标准归一化。  将原始数据集归一化为均值为0、方差1的数据集,归一化公式如下:x∗=x−μδx^*=\frac{x-\mu}{\delta}  其中μ\mu为所有样本数据的均值,δ\delta为所有样本数据的标准差。2,最大最小归一化。  将原始数据线性化的方法转换到[01]的范围,归一化公式如下:x∗=x−xmaxxmax−xminx^*=\frac{x-x

    2022年10月11日
    2
  • 监控系统-Prometheus(普罗米修斯)(三)Grafana可视化图形工具

    监控系统-Prometheus(普罗米修斯)(三)Grafana可视化图形工具文章目录监控系统-Prometheus(普罗米修斯)(三)Grafana可视化图形工具Grafana入门Grafana对Prometheus的支持安装创建一个Prometheus的数据源配置dashboards参考监控系统-Prometheus(普罗米修斯)(三)Grafana可视化图形工具Github地址:https://github.com/grafana/grafana官网地址:https://grafana.com官网文档地址:http://docs.grafana.org/下载地址:ht

    2022年7月19日
    48
  • 通过Java实现求水仙花数「建议收藏」

    通过Java实现求水仙花数「建议收藏」用户输入一个数,判断是否是”水仙花数”,所谓”水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个”水仙花数”,因为153=1的三次方+5的三次方+3的三次方。程序同用户交互是通过Scanner来实现的,jdk中封装了一个类Scanner,该类的职责就是接收键盘的输入值,并保存到程序的变量中,体现了程序和用户的交互功能,适合新手学习。

    2022年7月8日
    24
  • Java IO流处理 面试题汇总

    Java IO流处理 面试题汇总说明:本节内容来源于网络汇总输入输出流是相对于内存而言的!1、面试题汇总(1)java中有几种类型的流?字符流和字节流。字节流继承inputStream和OutputStream,字符流继承自InputSteamReader和OutputStreamWriter。(2)谈谈JavaIO里面的常见类,字节流,字符流、接口、实现类、方法阻塞答:输入流就…

    2022年6月14日
    26
  • Matlab循环语句_matlab中if语句的用法

    Matlab循环语句_matlab中if语句的用法《matlab循环语句》由会员分享,可在线阅读,更多相关《matlab循环语句(9页珍藏版)》请在人人文库网上搜索。1、matlab基本语句1.循环语句forfori=s1:s3:s2循环语句组end解释:首先给i赋值s1;然后,判断i是否介于s1与s2之间;如果是,则执行循环语句组,i=i+s3(否则,退出循环.);执行完毕后,继续下一次循环。例:求1到100的和,可以编程如下:sum=0fo…

    2022年9月28日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号