关于随机梯度下降法(SGD)的问题

  数学 数值计算    浏览次数:5344        分享
2

如果训练集中有500的样本,随机梯度下降法的步长是固定的,我每次选一个样本,那么每次迭代时另外499个就没用了?


 

雕牌   2017-03-11 18:36



   1个回答 
4

是的。对于每一次更新,我们只是随机地挑选一个样本,然后根据这个样本来确定下降方向。但是这并不代表剩下的没有用呀,在下一次更新的时候,我们还会从这500个里随机挑一个。因为一般来说步长比较小,达到最终收敛,我们会迭代很多次,每次随机挑一个,这样很多样本都会被用到。

如果你是想每次迭代的时候多用几个样本点的话,可以考虑使用小批量梯度下降法(Mini-Batch Gradient Descent)。MBGD是每次随机选出m个样本点,然后对这m个点的梯度求平均值,这个平均值就是下降的反方向。

SofaSofa数据科学社区DS面试题库 DS面经

可爱多   2017-03-14 09:33



  相关讨论

随机梯度下降(SGD)可以被并行计算吗?

能不能用梯度下降法求平方根或者立方根?

怎么用牛顿法近似求解根号2?

计算中的截断误差是什么意思?

SGD with clipping是什么意思?

常说的低秩分解或者低秩逼近是什么意思?

高斯消元选部分主元为什么要选最大的?

python里怎么求矩阵的条件数?

Adam优化算法

对于小批量随机剃度下降法(mini-batch SGD),如何选择每批样本的数量?

  随便看看

pytorch里view(-1, 1)什么意思?

关于方差膨胀因子(VIF)的问题

如何在numpy array尾部增加一行

序列的autocorrelation(自相关系数)的计算公式

神经网络里为什么隐藏层越多越好?