具有母子公式的梯度下降

时间:2019-05-14 04:58:38

标签: machine-learning gradient-descent

以下内容来自吴国栋的深度学习课程

SGD与母体。在实施细节上,教授提到如下

v(dw) = beta * v(dw) + (1-beta)dw
v(db) = beta * v(db) + (1-beta)db

W = W - alpha * v(dw)
b = b - alpha * v(db)

另一个公式

v(dw) = beta * v(dw) +  dw
v(db) = beta * v(db) +  db

W = W - alpha * v(dw)
b = b - alpha * v(db)

使用第二个版本的最终结果是vdW结束了 缩放比例为1减去Beta,或实际上是1减去Beta。 因此,当您执行这些梯度下降更新时,alpha仅需要 在1减去Beta的基础上以1的相应值进行更改。

在实践中,这两种方法都可以正常工作,只会影响学习的最大价值 率alpha。但是我发现这种特定的表达方式不太直观。 因为这样做的影响是,如果最终调整了超参数Beta,  那么这也会影响vdW和vdb的扩展。因此,您最终需要重新调整 学习率也可能是alpha。

问题:如果我们调整会影响dw和db的超参数beta,教授是什么意思。我的理解是,在早期版本中,beta参数也会影响dw和db吗?请精心制作。

另一个问题是,教授意味着您还需要返回学习率alpha吗?

请帮助。

1 个答案:

答案 0 :(得分:0)

α和β都是超参数,可以进行调整以使SGD更有效。 SGD中的随机位表示数据嘈杂且分散在平均值附近。 Beta本质上确定了b /(1-b)给定的平均数据点数。因此,调整了beta并对其进行了调整,以使数据拟合更为平滑,但不会过度拟合。

Alpha是梯度下降中的步长,对其进行了调整,以使成本函数在每次迭代时都减小,并且找到最小值。如果alpha太大,则算法可能会失败,并且找不到最小值。相反,如果alpha值太小,该算法将非常慢。有关更多详细信息,请参见SGD

参考文献: