【Andrew Ng机器学习】单变量线性回归-代价函数(二)

课程:吴恩达机器学习


更深入的理解代价函数的作用


两个参数的代价函数


这次我们对代价函数图形化时,保留全部参数\theta_0\theta_1

这是关于房价的训练集


当我们设置\theta_0=50,\theta_1=0.06,就得到了
h\theta图像:

J(\theta_0,\theta_1)的图像:上一个例子中,我们只有一个参数\theta_1得到的是这样的图像:

现在,当我们有两个参数,实际上也是一个碗状的图像,而且与训练集有关。图像如下:

  • 这是一个3D曲面图,轴标为\theta_0\theta_1
  • 当改变\theta_0\theta_1的值的时候,就会得到不同的代价函数J(\theta_0,\theta_1)的
  • 曲面的高度就是J(\theta_0,\theta_1)的

为了在接下来更好地展现图像, 不用使用三位图像来展示代价函数J ,我们要使用等高线图(contour plots OR contour figures)来展示这些曲面。


一个等高线线图的例子

  • 其中的轴为\theta_0\theta_1,每个椭圆形显示了一系列J(\theta_0,\theta_1)值相等的点,例如:
    品红色的三个点具有相同的J(\theta_0,\theta_1)值。
  1. 以红色这点为例:
    \theta_0大概等于800, \theta_1大概等于-0.15,红色这一定对应了一组(\theta_0,\theta_1)的值:

    这条线没有很好地拟合数据,\theta_0=800,\theta_1=-0.15,没有很好地拟合函数,你会发现代价值J(\theta_0,\theta_1)离最小值相当远,这是一个相当高的代价,因为拟合得并不好。
  2. 其他例子:

    这是一个不同的假设函数,同样拟合得不是特别好

    但可能会比上一个略好一点。
  • \theta_0大概等于360,\theta_1=0
    这组参数对应着一条水平线:

    这就是假设函数,这个假设函数仍然具有一定的代价,这个代价即在J函数中该点的高度
  • 而取其他的点:

    仍然不能拟合,甚至离最小值更远。

  1. 最后一个例子
    这个并不是在最小值点,但它相当接近最小值,表明函数对数据的拟合还不错。函数对应着某个\theta_0值,同样也对应这一个\theta_1值我们得到了一个h(x)。
    这并不是最小值,我们已经相当接近了,所以平方差和是训练样本与预测值之间距离的平方和这是一个所有误差,也就是距离的平方和虽然依旧不是最小值,但相当接近最小值。

总结

通过以上的图像,更好的去理解代价函数J的意义,如何对应不同的假设函数,以及接近代价函数J最小值的点,对应这更好的假设函数


我们真正想要的是一个高效的算法,一个软件的高效组成部分来自动寻找代价函数J最小值对应的\theta_0\theta_1。我们不希望编写出一个软件只能画出这个点,然后再尝试手动读取参数,这不是很好的方法,事实上,我们会在之后看到当我们面对更复杂的例子时涉及到更多的参数,更高的维的图形,碰到一些没有办法绘制的图,我们需要利用软件找到使函数J最小的\theta_0\theta_1,我们之后将会讨论一个可以自动找到使函数J最小的\theta_0\theta_1的算法

【Andrew Ng机器学习】单变量线性回归-梯度下降

你可能感兴趣的:(【Andrew Ng机器学习】单变量线性回归-代价函数(二))