当前位置: 首页 > news >正文

机器学习之SGD, Batch, and Mini Batch的简单介绍

文章目录

  • 总述
  • SGD(Stochastic Gradient Descent)(随机梯度下降)
  • Batch (批量)
  • mini Batch (迷你批量)

在这里插入图片描述

总述

  • SGD, Batch, and Mini Batch是可用于神经网络的监督学习计算权重更新的方案,即∆wij。

SGD(Stochastic Gradient Descent)(随机梯度下降)

  • 随机梯度下降(SGD)计算每个训练数据的误差,并立即调整权重。如果我们有100个训练数据点,SGD将调整权重100次。

在这里插入图片描述

  • SGD调整每个数据点的权重,执行的神经网络的性能在训练过程中是弯曲的。“随机”这个名字暗示了训练过程中的随机行为
  • SGD计算的权重更新为:
  • 在这里插入图片描述
  • 上面的公式与增量规则是一样的,对啦,增量规则就是用了SGD 方法啦

Batch (批量)

  • 在批处理方法中,对训练数据的所有误差计算每次权重更新,并使用权重更新的平均值来调整权重。该方法使用了所有的训练数据,并且只更新了一次

  • 在这里插入图片描述

  • 权重改变的计算公式:

  • 在这里插入图片描述

  • 其中,∆wij(k)为第k个训练数据的权重更新,N为训练数据的总数。

缺点:由于平均权重更新计算,批处理方法消耗了大量的训练时间。

mini Batch (迷你批量)

  • 小批处理方法是SGD和批处理方法的混合。它选择训练数据集的一部分,并使用它们以批处理方法进行训练。因此,它计算所选数据的权值更新,并使用平均权值更新来训练神经网络。例如,如果从100个训练数据点中选择20个任意数据点,则将批量方法应用于20个数据点。在这种情况下,总共执行了5次重量调整,以完成所有数据点的训练过程(5 = 100/20)。
    在这里插入图片描述

  • 可以说,mini Batch结合了SGD 和Batch 的优点:SGD的速度和批处理的稳定性。因此,它经常被用于深度学习,它处理大量的数据。

http://www.lryc.cn/news/185445.html

相关文章:

  • Windows电脑上的多开器与分布式存储系统的关系
  • 积分球可以用于什么光谱光学检测
  • 【力扣面试题】URL化
  • 计算机网络基础(二):物理层、数据链路层及网络层
  • 小白自学—网络安全(黑客技术)笔记
  • 2.2.3 vim操作合集
  • 解决 Jenkins 性能缓慢的问题~转
  • Matrix卡顿优化之IdleHandlerLagTracer源码分析
  • (ubuntu)Docker 安装linux 详情过程
  • ArcMap:第二届全国大学生GIS技能大赛(广西师范学院)详解-上午题
  • Blender 导出 fbx 到虚幻引擎中丢失材质!!!(使用Blender导出内嵌材质的fbx即可解决)
  • C++交换a和b的方法
  • 3D孪生场景搭建:模拟仿真
  • 美国各流域边界下载,并利用arcgis提取与处理
  • A Survey and Framework of Cooperative Perception 论文阅读
  • 【SkyWalking】SkyWalking是如何实现跨进程传播链路数据?
  • px4仿真实现无人机自主飞行
  • 详解Linux的系统调用fork()函数
  • 构建捡垃圾机器人的 ROS 2 项目
  • Spring常用注解(2)
  • upload-labs靶场通关
  • git拉取代码过程
  • Swift | 属性包装器
  • Android改造CardView为圆形View,Kotlin
  • Idea下面git的使用:变基、合并、优选、还原提交、重置、回滚、补丁
  • 【数据结构】什么是算法
  • 复旦大学EMBA:揭秘科创企业,领略未来战略!
  • 根据您的数据量定制的ChatGPT,改变客户服务的方式
  • 《Unity Shader 入门精要》笔记03
  • LINUX系统使用软件异地同步数据(灾备)