不同的梯度下降算法

参考http://www.cnblogs.com/richqian/p/4549590.html

梯度下降(Gradient Descent)算法只需要计算损失函数的一阶导数,计算代价小,适合训练数据量大的应用。
梯度下降法是沿着当前点的梯度方向搜索,找到下一个迭代点。
不同的梯度下降算法如batch,mini-batch,SGD,online等区别在于训练数据的选择上。
这里写图片描述

1.batch GD
每次迭代的梯度方向计算由所有训练样本共同投票决定。
这里写图片描述

batch GD算法是计算损失函数在整个训练集上的梯度方向,然后沿着该方向搜索下一个迭代点。batch的含义是训练样本中每一个样本都参与每一轮迭代。
2.mini-batch GD
batch GD需要所有样本参与每一轮迭代,计算复杂度比较高。为此产生mini-batch。
假设训练集有m个样本,每次取mini-batch(训练集的子集)b个样本。相当于训练集分为m/b个 mini-batch。每次迭代需要的样本数是一个mini-batch。
3.Stochastic GD(SGD)
sgd相当于mini-batch在b=1的时候的特例。也就是每次只有一个训练样本参与迭代。
4.online GD
online GD和sgd/mini-batch GD的区别在于,所有训练数据只用一次。这样的好处是可以实时最终模型的变化趋势。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值