我做了一些reach和计算,如果我理解正确,随机梯度下降- "Adam optimiser“基本上是普通的梯度下降,一个具体的,它选择一个随机数据与训练数据集的比例较小,以避免NN陷入gap,这可能不一定反映下降函数中的最小值?谢谢
发布于 2018-02-06 00:48:06
Stochastic Gradient Descent通常与Batch Gradient Descent并列。在Batch模式下,要更新输入特征向量X的每个特征系数,您需要对训练数据集的所有记录进行求和。来源:
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的特定特征或值。这让它变得很快。缺点是,它可能不具有与批处理相同的最小值,或者可能无法实现全局最小值,但在实践中它确实倾向于更好地工作。
https://stackoverflow.com/questions/45220007
复制相似问题