我正在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/