我有一个关于 SGD Optimizer
的问题。
有 3 种类型的 Gradient Descent Algorithm
:
Stochastic Gradient Descent
是一个 Algorithm
,其中 Instance
中的一个 Training Set
在 Random
和 { {1}} 已针对该 Weights
进行更新。
Instance
与上面的定义略有不同,它可以接受大于 1 的 SGD Optimizer
。有人可以澄清这种偏差吗?
下面的代码似乎符合batch_size
的定义:
Stochastic Gradient Descent
然而,下面的代码似乎令人困惑/偏离(自 model.compile(optimizer = 'sgd', loss = 'mse')
model.fit(x, y,epochs = 500, batch_size = 1,verbose=1)
> 1):
batch_size
预先感谢您的澄清。
答案 0 :(得分:0)
引自维基百科:
<块引用>它可以被视为梯度下降优化的随机近似,因为它用其估计值(从随机选择的数据子集计算)替换了实际梯度(从整个数据集计算)
所以你说的三种都是SGD。即使您使用所有数据执行 SGD 迭代,它仍然是实际梯度的随机估计;在收集新数据时(您的数据集不包括 Universe 中的所有数据),您的估计会发生变化,因此是随机的。