GD(gradient descent):梯度下降法(BGD,SGD,mini-batch GD)

梯度下降法(GD,gradient descent)是一种优化方法,比如对某个损失函数进行最小化的优化。
其共有三种:
1.BGD,batch gradient descent:批量梯度下降
2.SGD,stochastic gradient descent:随机梯度下降
3.mini-batch BGD,mini-batch gradient descent:小批量梯度下降

BGD

假设有损失函数:
f ( α 0 , α 1 , . . . , α n ) = 1 m ∑ j = 0 m ( y ^ − y ) 2 f(\alpha_{0},\alpha_{1},...,\alpha_{n})=\frac{1}{m}\sum_{j=0}^m(\hat y-y)^2 f(α0,α1,...,αn)=m1j=0my^y)2
yˆ 是预测值,y是真实值,共有m个预测值。
若要最小化损失函数,需要对每个参数α0,α1,…,αn求梯度,但是对BGD通常是取所有训练样本损失函数的平均作为损失函数,假设有β个样本,则
F ( α 0 , α 1 , . . . , α n ) = 1 β ∑ i = 0 β f ( α 0 , α 1 , . . . , α n ) F(\alpha_{0},\alpha_{1},...,\alpha_{n})=\frac{1}{\beta}\sum_{i=0}^\beta f(\alpha_{0},\alpha_{1},...,\alpha_{n}) F(α0,α1,...,αn)=β1i=0βf(α0,α1,...,αn)
所以有梯度更新:
在这里插入图片描述

在这里插入图片描述

SGD

如果使用BGD会有一个问题,就是每次迭代过程中都要对几个样本进行求梯度,所以开销非常大,随机梯度下降的思想就是随机采样一个样本来更新参数,注意只是一个样本,大大的降低了计算开销。

mini-batch GD

SGD虽然提高了计算效率,降低了计算开销,但由于每次迭代只随机选择一个样本,因此随机性比较大,所以下降过程中非常曲折,效率也相应降低,所以mini-batch GD采取了一个折中的方法,每次选取一定数目(mini-batch)的样本组成一个小批量样本,然后用这个小批量来更新梯度,这样不仅可以减少计算成本,还可以提高算法稳定性。

bgd:每一个数据都要算
sgd:数据的算(随机抽取数据)
minibatch sgd:一组数据一组数据的算

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值