批量梯度下降(BGD)、随机梯度下降(SGD)以及小批量梯度下降(MBGD)的理解

        </h1><div class="clear"></div><div class="postBody">

  梯度下降法作为机器学习中较常使用的优化算法,其有着三种不同的形式:批量梯度下降(Batch Gradient Descent)、随机梯度下降(Stochastic Gradient Descent)以及小批量梯度下降(Mini-Batch Gradient Descent)。其中小批量梯度下降法也常用在深度学习中进行模型的训练。接下来,我们将对这三种不同的梯度下降法进行理解。
  为了便于理解,这里我们将使用只含有一个特征的线性回归来展开。此时线性回归的假设函数为:

hθ(x(i))=θ1x(i)+θ0hθ(x(i))=θ1x(i)+θ0

      (for j =0,1)
    }
  }

  优点:
  (1)通过矩阵运算,每次在一个batch上优化神经网络参数并不会比单个数据慢太多。
  (2)每次使用一个batch可以大大减小收敛所需要的迭代次数,同时可以使收敛到的结果更加接近梯度下降的效果。(比如上例中的30W,设置batch_size=100时,需要迭代3000次,远小于SGD的30W次)
  (3)可实现并行化。
  缺点:
  (1)batch_size的不当选择可能会带来一些问题。

  batcha_size的选择带来的影响:
  (1)在合理地范围内,增大batch_size的好处:
    a. 内存利用率提高了,大矩阵乘法的并行化效率提高。
    b. 跑完一次 epoch(全数据集)所需的迭代次数减少,对于相同数据量的处理速度进一步加快。
    c. 在一定范围内,一般来说 Batch_Size 越大,其确定的下降方向越准,引起训练震荡越小。
  (2)盲目增大batch_size的坏处:
    a. 内存利用率提高了,但是内存容量可能撑不住了。
    b. 跑完一次 epoch(全数据集)所需的迭代次数减少,要想达到相同的精度,其所花费的时间大大增加了,从而对参数的修正也就显得更加缓慢。
    c. Batch_Size 增大到一定程度,其确定的下降方向已经基本不再变化。

  下图显示了三种梯度下降算法的收敛过程:



引用及参考:
[1] https://www.cnblogs.com/maybe2030/p/5089753.html
[2] https://zhuanlan.zhihu.com/p/37714263
[3] https://zhuanlan.zhihu.com/p/30891055
[4] https://www.zhihu.com/question/40892922/answer/231600231

写在最后:本文参考以上资料进行整合与总结,文章中可能出现理解不当的地方,若有所见解或异议可在下方评论,谢谢!
若需转载请注明:https://www.cnblogs.com/lliuye/p/9451903.html

分类: Machine Learning
<div id="blog_post_info">
好文要顶 关注我 收藏该文

LLLiuye
关注 - 8
粉丝 - 54

+加关注
18
0
<div class="clear"></div>
<div id="post_next_prev"><a href="https://www.cnblogs.com/lliuye/p/9449190.html" class="p_n_p_prefix">« </a> 上一篇:    <a href="https://www.cnblogs.com/lliuye/p/9449190.html" title="发布于 2018-08-09 15:23">Ubuntu下tensorboard的使用</a>
<br>
<a href="https://www.cnblogs.com/lliuye/p/9471231.html" class="p_n_p_prefix">» </a> 下一篇:    <a href="https://www.cnblogs.com/lliuye/p/9471231.html" title="发布于 2018-08-13 21:49">学习率(Learning rate)的理解以及如何调整学习率</a>
posted @ 2018-08-10 11:57  LLLiuye  阅读(41513)  评论(17)  编辑  收藏

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200223171034556.jpg)

批量梯度下降(BGD)、随机梯度下降(SGD)以及小批量梯度下降(MBGD)的理解相关推荐

  1. 批量梯度下降(BGD)、随机梯度下降(SGD)以及小批量梯度下降(MBGD)及 batch、epoch、iteration

    先介绍一下梯度下降:梯度下降是一种用于机器学习训练参数的一种优化方法.对损失函数进行梯度下降,"梯度"指误差梯度或误差斜率,"下降"指沿着误差斜率移动到误差较小 ...

  2. 1. 批量梯度下降法BGD 2. 随机梯度下降法SGD 3. 小批量梯度下降法MBGD

    排版也是醉了见原文:http://www.cnblogs.com/maybe2030/p/5089753.html 在应用机器学习算法时,我们通常采用梯度下降法来对采用的算法进行训练.其实,常用的梯度 ...

  3. 梯度下降法和随机梯度下降,批量梯度下降法,小批量梯度下降(SGD,MGD,BMGD)

    梯度下降法 其有着三种不同的形式: 批量梯度下降(Batch Gradient Descent). 随机梯度下降(Stochastic Gradient Descent) 以及小批量梯度下降(Mini ...

  4. Lesson 4.34.4 梯度下降(Gradient Descent)基本原理与手动实现随机梯度下降与小批量梯度下降

    Lesson 4.3 梯度下降(Gradient Descent)基本原理与手动实现 在上一小节中,我们已经成功的构建了逻辑回归的损失函数,但由于逻辑回归模型本身的特殊性,我们在构造损失函数时无法采用 ...

  5. 常见优化算法批量梯度下降、小批量梯度下降、随机梯度下降的对比

    在机器学习领域中,梯度下降的方式有三种,分别是:批量梯度下降法BGD.随机梯度下降法SGD.小批量梯度下降法MBGD,并且都有不同的优缺点. 下面我们以线性回归算法(也可以是别的算法,只是损失函数(目 ...

  6. 梯度下降法的三种形式批量梯度下降法、随机梯度下降以及小批量梯度下降法

    梯度下降法的三种形式BGD.SGD以及MBGD 梯度下降法的三种形式BGD.SGD以及MBGD 阅读目录 1. 批量梯度下降法BGD 2. 随机梯度下降法SGD 3. 小批量梯度下降法MBGD 4. ...

  7. 三种梯度下降的方式:批量梯度下降、小批量梯度下降、随机梯度下降

    在机器学习领域中,梯度下降的方式有三种,分别是:批量梯度下降法BGD.随机梯度下降法SGD.小批量梯度下降法MBGD,并且都有不同的优缺点. 下面我们以线性回归算法(也可以是别的算法,只是损失函数(目 ...

  8. 批量梯度下降法(BGD)、随机梯度下降法(SGD)和小批量梯度下降法(MBGD)

    在机器学习中,对于很多监督学习模型,需要对原始的模型构建损失函数,接下来便是通过优化算法对损失函数进行优化,以便找到最优的参数. 梯度下降法作为机器学习中较常使用的优化算法,在其求解过程中,只需要求解 ...

  9. 详解批量梯度下降法(BGD)、随机梯度下降法(SGD)和小批量梯度下降法(MBGD)

    在应用机器学习算法时,我们常采用梯度下降法来对才用的算法进行训练.梯度下降法有三种不同的形式:批量梯度下降(Batch Gradient Descent).随机梯度下降(Stochastic Grad ...

最新文章

  1. ES6-Promise对象
  2. 【剑指offer-Java版】14调整数组顺序使奇数位于偶数前面
  3. Springboot解决IDEA读取properties配置文件的中文乱码问题
  4. nitrous.io mysql_云IDE:Nitrous.io的介绍以及活用手段
  5. 关于comparable与comparator的用法(即自定义集合框架用法 )
  6. 哪些人不适合去做科研(转)
  7. echarts中triggeron与trigger不能同时出现吗_好物|痛风、血糖高、虚不受补能吃它吗?你想知道的阿胶十问十答一锅出!...
  8. 给与 x 距离不超过 d 的点权值 a_一年级不上网课,妈妈陪孩子一起来完成三单元各课练习及单元卷吧...
  9. jsp点击文字改变颜色_这样给图片添加上文字、诗词、歌词,超吸睛
  10. Spring零配置之@Configuration注解详解。
  11. 【论文研读】【医学图像】【R2UNet】Recurrent residual U-Net for medical image segmentation
  12. FFmpeg之yuv镜像(十八)
  13. ASCII码,HTML转义字符表,以及快捷键
  14. 关于安装Turn服务器:coturn,TurnServer,Restund,reTurnServer
  15. debian 安装五笔输入法
  16. 关于无线网卡驱动安装正确,但灯不亮的问题
  17. 什么是内存对齐以及作用
  18. Python 爬虫---初窥门径
  19. 如何用短代码实现内容WordPress会员登录可见?
  20. Tiled结合Unity实现瓦片地图

热门文章

  1. 2022-2028年中国新型氟塑料行业市场发展模式及投资机会预测报告
  2. 2022-2028年中国氟膜行业市场全景评估及发展策略分析报告
  3. 认清自己,愉快度过每一天
  4. 有存款,才能过得更踏实
  5. docred数据集情况笔记
  6. EdgeBERT:极限压缩bert
  7. 从2012年到现在深度学习领域标志成果
  8. Pytorch - GPU ID 指定 pytorch gpu 指定
  9. pytorch adam 源码 关于优化函数的调整 optimizer 调参 重点
  10. Google Colab——用谷歌免费GPU跑你的深度学习代码