• mini-batch


    我们在训练神经网络模型时,最常用的就是梯度下降,梯度下降有一下几种方式:

    1、Batch gradient descent(BGD批梯度下降)

    遍历全部数据集算一次损失函数,然后算函数对各个参数的梯度,更新梯度。

    这种方法每更新一次参数都要把数据集里的所有样本都看一遍,计算量开销大,计算速度慢,不支持在线学习,这称为Batch gradient descent,批梯度下降。

    2、stochastic gradient descent(SGD随机梯度下降)

    每看一个数据就算一下损失函数,然后求梯度更新参数。

    这个方法速度比较快,但是收敛性能不太好,可能在最优点附近晃来晃去,hit不到最优点。两次参数的更新也有可能互相抵消掉,造成目标函数震荡的比较剧烈。

    3、折中手段mini-batch gradient decent

    小批的梯度下降,这种方法把数据分为若干个批,按批来更新参数,这样,一个批中的一组数据共同决定了本次梯度的方向,下降起来就不容易跑偏,减少了随机性。另一方面因为批的样本数与整个数据集相比小了很多,计算量也不是很大。

  • 相关阅读:
    UIView
    UISwitch
    UIButton
    label标签的属性
    sublime 生成网页头文件
    Xcode快捷键
    Bootstrap 模态对话框只加载一次 remote 数据的解决办法 转载
    用谷歌浏览器来当手机模拟器
    DDD:谈谈数据模型、领域模型、视图模型和命令模型
    MoQ(基于.net3.5,c#3.0的mock框架)简单介绍
  • 原文地址:https://www.cnblogs.com/pacino12134/p/11410936.html
Copyright © 2020-2023  润新知