SGD(随机梯度下降)

在深度学习领域, 该优化算法是使用最优化的算法, 利用它, 通过不断的估计objective function的梯度, 更新模型参数,不断迭代, 直至收敛或者达到我们early stoping 的条件, 也就是说模型相对于validation set上performance开始下降。

SGD 又称 online 的梯度下降, 每次估计梯度的时候, 只选用一个训练样本。

之所以称为stochastic, 是因为我们训练之前Randomly shuffle examples in the training set. 这相当于我们随机的选取一个exanple 进行online 的trainging。 但是这也是有区别的, 因为每次训练的时候都会逐次的选取一个样本,注意随机shuffle 之后, 我们取样本的次序就固定了。

我们在训练的时候, 扫完一次训练数据集中所有的example的被称为一个epoch。 

参数更新公式如下:


其中B = 1 的时候, 就是一般的online gradient descent.

    B = the training set size , 这称为standard(also called batch) gradient descent。 注意此时就不能称为stochastic gradient descent 了, 因为毫无随机可言, 这是确定的梯度下降

B= some valur between 1(exclusive) and the training set size (exclusive), 这就称为minibatch gradient descent, 当时也属于随机梯度下降了。

B 和 learning rate 都是hyperparameter, 所谓的超参数, 就是这些参数需要在validation set 到达最佳的时候来确定大小的。


SGD的算法的伪代码如下:(下面我们即w 为模型参数, Q为代价函数)


  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值