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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • javascript 手机号码正则表达式验证函数

    javascript 手机号码正则表达式验证函数随着手机号码段的不断增加,以前网上的手机号码验证函数都不能那么完美的支持了,这里脚本之家编辑特为大家准备的一个简单的正则与手机验证的函数分析。functioncheckMobile(){varsMobile=document.mobileform.mobile.valueif(!(/^1[3|4|5|8][0-9]\d{4,8}$/.test(sMobile))

    2022年9月17日
    0
  • 运维架构体系搭建系列-目录篇[通俗易懂]

    运维架构体系搭建系列-目录篇[通俗易懂]前言:去年新加入的一家公司,传统企业这里就不说名字了,不过公司规模还是有的,鄙人来之前基本上用的都是saas产品,加上疫情原因,没及时跳坑,做为一个半吊子自动化运维开发当然是选择先混日子,后面等来了一个新的技术团队,开始做自己的系统和产品。一、云选型及网络规划1、云产品选型2、网络规划二、devops相关服务搭建1、cicd工具链搭建2、项目管理三、db&中间件1、数据库管理2、中间件管理四、k8s环境及微服务治理1、k8s选型及搭建2、mse管理五、监控&日志

    2022年7月17日
    13
  • 相机标定的原理及实现

    相机标定的原理及实现本文参考文档:原理部分:https://blog.csdn.net/honyniu/article/details/51004397代码部分:https://www.cnblogs.com/wildbloom/p/8320351.html;https://blog.csdn.net/firemicrocosm/article/details/48594897#1、相机标定的原理摄像…

    2022年5月28日
    29
  • 详细SpringBoot教程之Web开发(一)

    写在前面鉴于有人留言说想要学习SpringBoot相关的知识,我这里打算写一个SpringBoot系列的相关博文,目标呢是想让看了这一系列博文的同学呢,能够对SpringBoot略窥门径,这一系列的博文初步都定下来包括SpringBoot介绍、入门、配置、日志相关、web开发、数据访问、结合docker、缓存、消息队列、检索、任务安全、分布式等等一系列的博文,工作量很大,是个漫长的过程,每一步我…

    2022年4月14日
    41
  • mysql c preparestatement「建议收藏」

    mysql c preparestatement「建议收藏」今天折腾了一个mysql的c的insert语句,与java访问oracle类似,mysql也支持这种preparestatement,使用这种语句的好处有很多,在oracle之中,这种方式在后台是sql是进行软解析,而直接拼凑insert的sql语句,则是叫硬解析,即每一个数据库都要重新分析一个sql的语法,对于大量的数据插入的情况,最好使用preparestatement,第2个好处是,如果直接

    2022年5月16日
    32
  • db2修改字段长度的sql语句

    db2修改字段长度的sql语句

    2021年7月15日
    460

发表回复

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

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