理解梯度下降算法

Understanding Gradient Descent Algorithm

我正在学习 Machine Learning。我正在阅读一个名为 Linear Regression with one variable 的主题,我在理解 Gradient Descent Algorithm.

时感到困惑

假设我们给出了一个 Training Set 问题,使得 $(x^{(i)},y^{(i)})$ 代表 (feature/Input 变量,目标/ 输出变量)。我们的目标是为这个训练集创建一个假设函数,它可以做预测。

假设函数: $$h_{\theta}(x)=\theta_0 + \theta_1 x$$

我们的目标是选择 $(\theta_0,\theta_1)$ 来最好地近似我们的 $h_{\theta}(x)$ ,这将预测训练集上的值

成本函数: $$J(\theta_0,\theta_1)=\frac{1}{2m}\sum\limits_{i=1}^m (h_{\theta}(x^{( i)})-y^{(i)})^2$$

$$J(\theta_0,\theta_1)=\frac{1}{2}\times 均方误差$$

我们必须最小化 $J(\theta_0,\theta_1)$ 才能得到值 $(\theta_0,\theta_1)$可以放入我们的假设函数来最小化它。我们可以通过在绘图 $(\theta_0,\theta_1,J(\theta_0,\theta_1))$.

我的问题是我们如何选择 $(\theta_0,\theta_1)$ 并绘制曲线 $(\theta_0,\theta_1,J (\theta_0,\theta_1))$。在线讲座,我在看。导师都说了,但没说剧情从何而来。

每次迭代你都会有一些h_\theta,你会计算1/2n * sum{(h_\theta(x)-y)^2 | for each x in train set}的值。
在每次迭代时h_\theta是已知的,并且每个训练集样本的值(x,y)是已知的,因此很容易计算上述内容。

对于每次迭代,您都有一个新的值 \theta,您可以计算新的 MSE。

绘图本身将在 x 轴上具有迭代数,在 y 轴上具有 MSE。

附带说明一下,虽然您可以使用梯度下降法,但没有理由。这个成本函数是凸的,它有一个众所周知的奇异最小值:$\theta = (X^T*X)^{-1)X^Ty$,其中 y 是训练集的值(大小为 n 的训练集的 1xn 维),X 是 2xn 矩阵,其中每一行 X_i=(1,x_i).