zoukankan      html  css  js  c++  java
  • mini-batch

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

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

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

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

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

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

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

    3、折中手段mini-batch gradient decent

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

  • 相关阅读:
    ADC测试matlab代码
    matlab的滤波器仿真——低通滤波器与插值滤波器
    PDF转Image最终方案
    多线程和蕃茄炒蛋
    git学习总结
    踩坑了,当前目录问题
    Angular 1.x 升级到 Angular 2
    打造AngularJs2.0开发环境
    发布一个自用的ansi转utf8程序
    用itextsharp打印pdf示例
  • 原文地址:https://www.cnblogs.com/pacino12134/p/11410936.html
Copyright © 2011-2022 走看看