首页 > 其他 > 详细

随机梯度下降

时间:2019-11-24 16:27:36      阅读:73      评论:0      收藏:0      [点我收藏+]
  • 优化目标函数:\(L(\theta) = \mathbb{E}_{(x,y) \sim p_{data}} L(f(x, \theta), y)\)
  • 找到平均损失最小的模型参数,也就是求解优化问题:\(\theta^{*} = \mathop{\arg \min} L(\theta)\)

经典梯度下降

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

随机梯度下降

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

    \[\begin{aligned} L(\theta; x_i, y_i) & = L(f(x_i, \theta), y_i) \\ \nabla L(\theta; x_i, y_i) & = \nabla L(f(x_i, \theta), y_i) \end{aligned}?\]

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

  • 小批量梯度下降法

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

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

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

      \[\begin{aligned} L(\theta) & = \frac{1}{m} \sum \limits_{i=1}^{m}L(f(x_i, \theta), y_i) \\ \nabla L(\theta) & = \frac{1}{m} \sum \limits_{i = 1}^{m} \nabla L(f(x_i, \theta), y_i) \end{aligned}\]

    • 注意:

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

随机梯度下降

原文:https://www.cnblogs.com/weilonghu/p/11922496.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!