基础机器学习:线性回归和梯度下降

Basic Machine Learning: Linear Regression and Gradient Descent

我在 Coursera 上学习 Andrew Ng 的 ML class,我对梯度下降有点困惑。我困惑的公式截图在这里:

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

我错过了什么?这对我来说意义不大,特别是因为第 i 个训练示例是一系列值,而不仅仅是一个...

谢谢, 克莱曼

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

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

为了尽量减少错误,我们这样做

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

并推导上述公式

公式的其余部分可以推理为

梯度下降使用函数本身的斜率来寻找最大值。把它想象成在一个山谷中下坡,沿着向下坡度最小的方向走。所以,我们得到了方向,但步长应该是多少(我们应该继续朝同一个方向移动多长时间?)?

为此我们也使用坡度。因为最小坡度为零。(想想山谷的底部,因为它附近的所有点都比这个高。所以,必须有一个点,高度在降低,坡度为负,高度开始增加,坡度改变符号,变为负到正,最小值之间是零斜率点。)要达到 0 斜率,斜率的大小会向最小值减小。因此,如果斜率的大小很高,我们可以采取大步,如果斜率很低,我们正在接近最小值,应该采取小步。