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. UWP Windows10开发获取设备位置(经纬度)
  2. app启动流程:冷启动,热启动,暖启动
  3. boost::interprocess::bufferstream用法的测试程序
  4. Springboot@PathVariable注解使用--请求路径占位符
  5. mysql blob 好处_MySQL中的BLOB类型
  6. 描写计算机老师上课的神态,请你用一段话描写一位老师上课的情景,注意抓住神态语言动作等细节...
  7. Android:进度条加载
  8. 【Scala】Scala中的_ 和 _*分别代表什么
  9. 分享一个一分钟就学会的vue小技巧(真的一看就会~~)
  10. 如何让html箭头绝对居中,html - 将垂直居中对齐的导航箭头定位到图像的左侧和右侧 - SO中文参考 - www.soinside.com...
  11. SQL Server 2016 开发版安装
  12. QQ自动播放动态视频json卡片怎么换地址
  13. CSS三大特性(层叠/继承/优先)
  14. Knowledge evolution
  15. 阿里巴巴的微服务开源之路
  16. uniapp 实现拨打电话
  17. time_wait,不要乱用tcp_tw_recycle和net.ipv4.tcp_tw_reuse
  18. nginx参数sendfile
  19. R 编程中的 LOOCV(留一法交叉验证)
  20. 用计算机弹出生僻字的歌,抖音生僻字是什么歌?抖音生僻字歌词注音完整版

热门文章

  1. 单片机项目之智能计算器
  2. Android菜鸡的提升之路---自闭症儿童游戏的实现
  3. 四川大数据产业集群明年将基本成型
  4. 跟着小甲鱼零基础学C
  5. 策略产品经理如何创造价值
  6. ace 计算机仿真,Logix齿轮数学建模与计算机仿真
  7. java mdb文件_java读取mdb文件
  8. 牙科诊所信息管理系统 :四.CRUD
  9. 如何将DWG批量转成高清晰JPG图片
  10. jQuery表格斑马线