前文介绍了梯度下降法,其每次迭代均需使用全部的样本,因此计算量巨大。就此,提出了基于单个样本的随机梯度下降法(Stochastic gradient descent,SGD)和基于部分样本的小批量梯度下降法(Mini-Batch gradient descent,Mini-batch gradient descent)。

一、随机梯度下降法

随机梯度下降法,即在每次梯度更新过程中仅使用某个随机样本点: θ : = θ − α ( θ T x i − y i ) x i \boldsymbol \theta:=\boldsymbol \theta-\alpha (\boldsymbol \theta^T\boldsymbol x_i-y_i)\boldsymbol x_i θ:=θ−α(θTxi​−yi​)xi​

随机梯度下降法虽然很好的解决了每次都要使用全量样本的问题,但由于其在样本选择时的随机性,会导致每一步并不是沿着全局梯度下降的方向推进,因此尽管最终结果会逐渐走向局部最小值,但过程较为波折,且最终结果会在最小值附近徘徊。

二、小批量梯度下降法

小批量梯度下降法是随机梯度下降法和随机梯度下降法的折中,即每次选取部分数据样本进行梯度的迭代。其迭代流程为:

for i in N epoches:     # 每个epoch使用全部的数据样本for j in m batches:     # 每个batch间的数据都是不同,每个batch内的数据都不重复t:=t-a*sum(t*x-y)*x

三、三种形式梯度下降法的对比

综上所述,梯度下降法包括三种形式:批量梯度下降法、随机梯度下降法和小批量梯度下降法。其迭代过程见下方示意图:

三种形式梯度下降的主要优缺点在于:

1)梯度下降法
优点:全局最优解,能保证每一次更新权值,都能降低损失函数;在计算各样本的损失时易于并行实现。

缺点:需要用到全量样本,对内存的要求高,同时计算缓慢。

2)随机梯度下降法
优点:每次迭代训练速度快

缺点:搜索方向随机性强,迭代步数多,每一步并不一定指向最优化方向。最终结果并非全局最优,准确性略弱。

3)小批量梯度下降法
克服上面两种方法的缺点,又同时兼顾两种方法的优点。

因此在实际使用中:

1)一般情况下,优先采用小批量梯度下降法,在很多情况下SGD默认指代小批量梯度下降法;

2)若数据量小,可直接采用批量梯度下降法;

3)若数据量非常大,或者需要在线学习,可考虑使用随机梯度下降法。

梯度下降法的不同形式——随机梯度下降法和小批量梯度下降法相关推荐

  1. 随机梯度下降法,批量梯度下降法和小批量梯度下降法以及代码实现

    前言 梯度下降法是深度学习领域用于最优化的常见方法,根据使用的batch大小,可分为随机梯度下降法(SGD)和批量梯度下降法(BGD)和小批量梯度下降法(MBGD),这里简单介绍下并且提供Python ...

  2. 『ML笔记』梯度下降法和随机梯度下降法和小批量梯度对比

    目录 1. 梯度下降法(gradient descent) 2. 随机梯度下降(Stochastic gradient descent) 3. 小批量梯度下降(Mini-Batch gradient ...

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

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

  4. 3. 机器学习中为什么需要梯度下降?梯度下降算法缺点?_浅谈随机梯度下降amp;小批量梯度下降...

    机器学习三要素 上次的报告中,我们介绍了一种用于求解模型参数的迭代算法--梯度下降法.首先需要明确一点,即"梯度下降算法"在一个完整的统计学习流程中,属于什么?根据<统计学习 ...

  5. 随机梯度下降、批量梯度下降、小批量梯度下降分类是什么?有什么区别?batch_size的选择如何实施、有什么影响?

    随机梯度下降.批量梯度下降.小批量梯度下降分类是什么?有什么区别?batch_size的选择如何实施.有什么影响? 目录

  6. 批量梯度下降,随机梯度下降和小批量梯度下降的区别

    批量梯度下降,随机梯度下降和小批量梯度下降的区别主要体现在用于计算梯度的样本的数量: 批量梯度下降:在每次迭代时,用整个数据集的所有样本上的梯度计算更新. 随机梯度下降:在每次迭代时,用单个样本上的梯 ...

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

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

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

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

  9. 【深度学习】——梯度下降优化算法(批量梯度下降、随机梯度下降、小批量梯度下降、Momentum、Adam)

    目录 梯度 梯度下降 常用的梯度下降算法(BGD,SGD,MBGD) 梯度下降的详细算法 算法过程 批量梯度下降法(Batch Gradient Descent) 随机梯度下降法(Stochastic ...

最新文章

  1. UI设计培训分享:ui设计师如何培养设计思维?
  2. SQLserver查看某个视图的创建语句
  3. Java向C++发送结构体
  4. 45 | 打蛇打七寸:精准测试
  5. php tar.gz文件,PHP解压tar.gz格式文件的方法,_PHP教程
  6. 1 使用WPE工具分析游戏网络封包
  7. 代码设置textField和textView的border和borderColor
  8. someone you loved 歌词翻译
  9. [Vani有约会]雨天的尾巴
  10. 城里人看呆!没想到现在景区都这么会玩了
  11. 清除当前目录下的.svn文件 linux/windows
  12. CnOpenData中国上市公司公告数据简介
  13. nlp小白教程:word2vec之数据预处理
  14. 手机为什么手机里的计算机没在桌面,为什么桌面图标不见了
  15. WXGA TFT和XGA TFT的区别
  16. RTX 3060 快速配置GPU版本tensorflow
  17. 搭建dubbo监控中心
  18. 修改Firefox收藏夹位置
  19. 最新:基于MAXENT模型的生物多样性生境模拟与保护优先区甄选、自然保护区布局优化评估及论文写作技巧
  20. 食堂自动化管理系统C语言,C语言实现食堂就餐管理系统(带链表)

热门文章

  1. 高德地图api调用demo_高德地图定位如何调用api?
  2. Python给pdf制定权限加密
  3. 视频号引流有哪些方法?学会这几种方法快速吸粉
  4. 图片怎么转文字?掌握这个实用方法,一键搞定
  5. 如何读书:实用性阅读指南
  6. 论文降重的方法是什么?
  7. 3D建模教学 | 卡通石头高模制作技巧
  8. 永恒之蓝ms17_010漏洞复现
  9. 人脸解锁手机与电影阿丽塔背后的3D原理:云从科技的技术突破
  10. 理解Sortino索提诺比率及Python实现