随机梯度下降基本上是普通梯度下降?

时间:2017-07-20 16:08:01

标签: neural-network

我做了一些触及和计算,如果我理解正确,随机梯度下降 - "亚当优化"基本上是普通的梯度下降,其中一个特定的是它用训练数据集选择较小比例的随机数据,以避免NN陷入间隙,这可能不一定反映下降函数的最小值?谢谢

1 个答案:

答案 0 :(得分:0)

Stochastic Gradient Descent通常与Batch Gradient Descent并列。 在批量模式下,要更新输入要素向量 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的特定特征或值。 这让它很快。 可能的是,它可能没有与批次相同的最小值,或者可能无法实现全局最小值,但在实践中它确实可以更好地工作。