我正在Coursera上学习Andrew Ng的ML课程,并且对梯度下降感到有些困惑。我很困惑的公式的屏幕截图在这里:



在他的第二个公式中,为什么他要乘以第i个训练示例的值?我想当您更新时,您只是减去步长*成本函数(不应该包括第ith个训练示例。

我想念什么?这对我来说没有多大意义,尤其是因为第i个训练示例是一系列价值观,而不仅仅是一个价值观...

谢谢,
克莱曼

最佳答案

数学上,我们在这里尝试最小化误差函数

Error(θ) = Σ(yi - h(xi))^2    summation over i.


为了最大限度地减少错误,我们这样做

d(Error(θ))/dθi = Zero
putting h(xi) = Σ(θi*xi)     summation over i


并得出上述公式。

其余的公式可以推论为

梯度下降使用函数本身的斜率来找到最大值。认为它是在山谷中下坡,通过选择方向使下坡最小。因此,我们得到了方向,但是步长应该是多少(我们应该继续朝同一方向移动多长时间?)?

为此,我们也使用斜率。由于最低坡度为零。(考虑一下山谷的底部,因为它附近的所有点都高于此点。因此,必须有一个高度减小,坡度为负且高度开始增加,坡度改变了符号的点,变为负到正,并且在最小值之间为零斜率点。)要达到0斜率,则斜率的大小朝最小值减小。因此,如果斜率的幅度高,则可以采取较大的步骤,如果斜率的幅度较小,则应接近最小值,应采取较小的步骤。

关于machine-learning - 基础机器学习:线性回归和梯度下降,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30767812/

10-12 18:10