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

梯度下降是求解机器学习算法模型参数常用方法,可迭代求解损失函数最小值。文中介绍三种梯度下降方法:Batch Gradient Descent性能好但样本大时开销大;Stochastic Gradient Descent速度快但收敛性能差;Mini - batch Gradient Descent是两者折中,不过batch size选择不当会影响泛化能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

Batch Gradient Descent

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

Stochastic Gradient Descent

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

Mini-batch Gradient Descent

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值