GD:gradient descent
SGD:Stochastic Gradient Descent

相同点

在GD和SGD中,都会在每次迭代中更新模型的参数,使得代价函数变小。

不同点

在GD中,每次迭代都要用到全部训练数据。
假设线性模型(θ\thetaθ是参数)
h(x)=∑i=1nθixi=θTxh(x)=\sum_{i=1}^n\theta_ix_i=\theta^Txh(x)=i=1∑n​θi​xi​=θTx
代价函数:
J(θ)=12∑i=1m(hθ(x(i))−y(i))2J(\theta)=\frac{1}{2}\sum_{i=1}^m(h_{\theta}(x^{(i)})-y^{(i)})^2J(θ)=21​i=1∑m​(hθ​(x(i))−y(i))2
那么每次GD的更新算法为:
θj:=θj−α∂∂θjJ(θ)\theta_j:=\theta_j-\alpha\frac{\partial}{\partial\theta_j}J(\theta)θj​:=θj​−α∂θj​∂​J(θ)
由此算法可知,在对代价函数求偏导时,是需要用到全部的训练数据的。


在SGD中,每次迭代可以只用一个训练数据来更新参数。回到GD的更新算法,假设此时我们此时训练数据就只有一条(x,y)。

所以此时的更新参数的算法变为:

此时更新的算法,只用到了一个样本。其实具象的理解下,就是来了一条训练数据,算下此时根据模型算出的值和实际值的差距,如果差距大,那么参数更新的幅度大,反之则小。


当训练数据过大时,用GD可能造成内存不够用,那么就可以用SGD了,SGD其实可以算作是一种online-learning。另外SGD收敛会比GD快,但是对于代价函数求最小值还是GD做的比较好,不过SGD也够用了。

GD(梯度下降)和SGD(随机梯度下降)相关推荐

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

    批量梯度下降(BGD).随机梯度下降(SGD)以及小批量梯度下降(MBGD)的理解 </h1><div class="clear"></div> ...

  2. 机器学习小组知识点45:批量梯度下降法(BGD)和随机梯度下降法(SGD)的代码实现Matlab版1

    原 机器学习小组知识点4&5:批量梯度下降法(BGD)和随机梯度下降法(SGD)的代码实现Matlab版 2016年10月19日 10:17:28 Eric2016_Lv 阅读数:3379 这 ...

  3. SGD(随机梯度下降)

    在深度学习领域, 该优化算法是使用最优化的算法, 利用它, 通过不断的估计objective function的梯度, 更新模型参数,不断迭代, 直至收敛或者达到我们early stoping 的条件 ...

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

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

  5. 梯度下降:全梯度下降算法(FG)、随机梯度下降算法(SG)、小批量梯度下降算法(mini-batch)、随机平均梯度下降算法(SAG)。梯度下降法算法比较和进一步优化。

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) 2.2 梯度下降(Gradient Descent) 2.2. ...

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

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

  7. 深度学习入门之SGD随机梯度下降法

    SGD SGD为随机梯度下降法.用数学式可以将 SGD 写成如下的式(6.1). 这里把需要更新的权重参数记为W,把损失函数关于W的梯度记为 ∂L/∂W .ηηη 表示学习率,实际上会取 0.01 或 ...

  8. 随机梯度下降matlab,matlab随机梯度下降法

    %是否使用梯度下降法进行局部搜索的控制参数 IfLocalSearch=0; %... 经过 10000 次训练后,traningdm 网络的输出误差与 traningd 训练算法的结果差不多, -9 ...

  9. 【转载】深度学习数学基础(二)~随机梯度下降(Stochastic Gradient Descent, SGD)

    Source: 作者:Evan 链接:https://www.zhihu.com/question/264189719/answer/291167114 来源:知乎 著作权归作者所有.商业转载请联系作 ...

最新文章

  1. 导入代码时eclipse的src目录变为包名
  2. boost::dynamic_bitset模块boost::hash的测试程序
  3. java关于throw Exception的一个小秘密
  4. 玩转HTML5应用实战:灵活拖拉文件
  5. 从2699降至599无人理 最惨国产机实至名归
  6. Ubuntu 20.10 代号 Groovy Gorilla,第二个以猿类命名版本,将于 10 月 22 日发布
  7. 使用批处理文件删除所有子文件夹?
  8. 中奖人js滚动效果_H5实现中奖记录逐行滚动切换效果
  9. 【公益译文】网络威胁信息共享指南
  10. 软考中级 真题 2014年下半年 系统集成项目管理工程师 基础知识 上午试卷
  11. postman 获取接口参数_postman 接口参数化操作
  12. 标准化考场时钟系统方案
  13. Vss2005 的使用方法
  14. CCF 201712-4行车路线
  15. mail.php,Postaci Webmail
  16. NLP文本信息向量化之特征提取
  17. linux cpu 使用10个进程,linux下获取占用CPU资源最多的10个进程
  18. Arm急了?高通爆料ARM架构SoC将不允许外部GPU等设计,三星联发科等芯片厂商“被连坐”...
  19. matplotlib 误差线
  20. OriginPro2022安装过程

热门文章

  1. 基于VGG6的好莱坞明星识别-pytorch版本
  2. codevs2830 蓬莱山辉夜
  3. 雅思备考笔记—小作文篇(柱状图)
  4. SIMPACK,ANSYS,Hypermesh刚柔耦合流程(炒鸡详细)
  5. UG NX导出2D图纸
  6. 浙江大学计算机学院孙凌云,浙江大学计算机科学与技术学院导师介绍 孙凌云...
  7. IE浏览器提示是否停止运行此脚本的解决方法
  8. mini6410_lcd驱动移植,字体模糊重影问题
  9. 从合规走向卓越,QAD助您一臂之力
  10. Julia并行计算笔记(二)