Batch Gradient Descent、Stochastic Gradient Descent、Mini-batch Gradient Descent

梯度下降(Gradient Descent)又称最速下降,是迭代法的一种,可以用于求解最小二乘法(线性和非线性都可以)。在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一。在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和模型参数值。

在这里简单说一下三种梯度下降

Batch Gradient Descent

遍历全部的数据集,然后算一次损失函数,计算对各个参数的梯度然后更新参数。这也是我们常说的Gradient Descent。但该方法性能较好(因为所有训练样本一起做迭代,每次更新权重都是是整体cost function最小化),但是当样本较大时,每次更新需要把所有的样本查看一遍,开销大,速度较慢。

Stochastic Gradient Descent

每看到一个数据都计算一次损失函数,然后进行梯度更新。该方法速度快,但是收敛性能不好,可能在最优点盘旋,不会落在最优点。而且有可能两次参数的更新会抵消掉,从而造成目标函数的震荡。

Mini-batch Gradient Descent

将数据分为若干批,按照批来更新参数,这样一批中的数据共同决定了本次的梯度方向,属于batch和stochastic的折中,减少了随机性。而且在GPU中对矩阵可以平行运算,每批处理的事件和SGD单个数据处理的事件一样。但是batch size不易选择过大,过大会导致泛化能力的下降。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值