首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >随机梯度下降基本上是普通的梯度下降?

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

Stack Overflow用户
提问于 2017-07-21 00:08:01
回答 1查看 103关注 0票数 1

我做了一些reach和计算,如果我理解正确,随机梯度下降- "Adam optimiser“基本上是普通的梯度下降,一个具体的,它选择一个随机数据与训练数据集的比例较小,以避免NN陷入gap,这可能不一定反映下降函数中的最小值?谢谢

EN

回答 1

Stack Overflow用户

发布于 2018-02-06 00:48:06

Stochastic Gradient Descent通常与Batch Gradient Descent并列。在Batch模式下,要更新输入特征向量X的每个特征系数,您需要对训练数据集的所有记录进行求和。来源:

代码语言:javascript
复制
Repeat until convergence 
{
  θj := θj + α * summation(i=1 to m) ( y - h(x) ) x_j  --> for every j
}

这里重要的是所有记录的求和是针对每个特征进行的,所以如果你有5000个特征/属性/列的数据,你每次运行都要执行5000次求和。

相反,如果你看一下随机性,

代码语言:javascript
复制
Loop
{
    for i=1 to m, {
         θj := θj + α(  y(i) − h(x(i))  x(i) j (for every j).
    }
 }

本质上,对于每个j,只考虑X的特定特征或值。这让它变得很快。缺点是,它可能不具有与批处理相同的最小值,或者可能无法实现全局最小值,但在实践中它确实倾向于更好地工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45220007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档