【问题标题】:Stochastic gradient descent is basically ordinary gradient descent?随机梯度下降基本上就是普通的梯度下降?
【发布时间】:2018-02-09 01:54:15
【问题描述】:

我已经做了一些范围和计算,如果我理解正确,随机梯度下降 - “亚当优化器”基本上是普通梯度下降,其中一个具体是它选择与训练数据集比例较小的随机数据,以避免 NN陷入差距,这可能不一定反映下降函数的最小值?谢谢

【问题讨论】:

  • 维基百科没有涵盖您的问题吗? to avoid NN being caught in gap 是这种用法中最不重要的原因。不同的收敛属性和内存使用更为重要(并且您的 陷入差距 在理论上还没有被很好地理解,尽管对于具有非凸损失的一般收敛也是如此)。亚当也不是香草-SGD。它是在某些假设下(或多或少是某种过滤器)试图提高收敛性(如经典动量等)的一种变体。
  • 谢谢萨沙。我一直没有考虑内存使用情况。正确。

标签: neural-network


【解决方案1】:

Stochastic Gradient Descent 通常与Batch Gradient Descent 并列。 在 Batch 模式下,要更新输入特征向量 X 的每个特征系数,您需要对 ALL 的记录求和训练数据集, 来源:http://cs229.stanford.edu/notes/cs229-notes1.pdf

Repeat until convergence 
{
  θj := θj + α * summation(i=1 to m) ( y - h(x) ) x_j  --> for every j
}

这里重要的是,所有记录的总和是针对每个特征完成的,所以如果您有 5000 个数据的特征/属性/列,则每次运行都会执行 5000 次总和。

相比之下,如果你看一下随机的

Loop
{
    for i=1 to m, {
         θj := θj + α(  y(i) − h(x(i))  x(i) j (for every j).
    }
 }

基本上,对于每个 j,只考虑 X 的特定特征或值。 这使它很快。 缺点是,它可能没有与批处理相同的最小值,或者可能无法达到全局最小值,但实际上它确实往往效果更好。

【讨论】:

    猜你喜欢
    • 2016-06-13
    • 2016-09-25
    • 2021-12-18
    • 2018-12-10
    • 1970-01-01
    • 2021-02-20
    • 2019-06-19
    • 2011-07-04
    • 2016-05-16
    相关资源
    最近更新 更多