随机梯度下降

Posted weilonghu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了随机梯度下降相关的知识,希望对你有一定的参考价值。

  • 优化目标函数:(L( heta) = mathbb{E}_{(x,y) sim p_{data}} L(f(x, heta), y))
  • 找到平均损失最小的模型参数,也就是求解优化问题:( heta^{*} = mathop{arg min} L( heta))

经典梯度下降

  • 采用所有训练数据的平均损失来近似目标函数,即(L( heta) = frac{1}{M}sum limits_{i=1}^{M}L(f(x_i, heta), y_i)?)
  • ( abla L( heta) = frac{1}{M}sum limits_{i=1}^{M} abla L(f(x_i, heta), y_i))
  • 需要遍历所有训练数据,计算开销太大,但效果其实最好

随机梯度下降

  • 用单个训练样本的损失来近似平均损失,即

    [egin{aligned} L( heta; x_i, y_i) & = L(f(x_i, heta), y_i) \ abla L( heta; x_i, y_i) & = abla L(f(x_i, heta), y_i) end{aligned}?]

  • 加快收敛速度,也适合在线更新

  • 小批量梯度下降法

    • 降低随机梯度的方差,使迭代更稳定

    • 充分利用高度优化的矩阵运算

    • 同时处理m个训练数据({ (x_1, x_2), cdots, (x_m, y_m) }),目标函数及其梯度为

      [egin{aligned} L( heta) & = frac{1}{m} sum limits_{i=1}^{m}L(f(x_i, heta), y_i) \ abla L( heta) & = frac{1}{m} sum limits_{i = 1}^{m} abla L(f(x_i, heta), y_i) end{aligned}]

    • 注意:

      • m的选取:一般选2的幂次,充分利用矩阵运算
      • 挑选m条数据:shuffle
      • 学习率:动态可调的

以上是关于随机梯度下降的主要内容,如果未能解决你的问题,请参考以下文章

梯度下降法和随机梯度下降法的区别

通过实例详解随机梯度与梯度下降

为啥随机梯度下降方法能够收敛

week10——随机梯度下降,批量梯度下降小批量梯度下降

批量梯度下降(BGD)随机梯度下降(SGD)以及小批量梯度下降(MBGD)的理解

为啥随机梯度下降方法能够收敛?