Stanford机器学习-Linear Regressioon with One Variable(2)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Forlogen/article/details/54646900

代价函数 (Cost function)

前面我们已经得到了如下的训练集:
这里写图片描述

如图所示,现有显示的有四条数据,我们假设函数这里写图片描述 ,那么两个参数该如何选择呢,这就是我们要做的工作。下面我们来对这两个参数取一些值来看看具体是什么情况。
这里写图片描述

当取不同的参数时,所画出的线各不一样,那么那一条更好呢?这就引出了一个所谓的代价的问题,也就是我们通过训练集所得出的模型来预测的数值和真实值之间的差距。

理想的情况如下所示:
这里写图片描述

这里我们使用的平方误差代价函数,来计算出所选曲线和真实值之间的差距,它的大小也就是这里所说的代价,我们的目标就是找到使代价最小的两个参数,就是我们要找的。

下面总结一下:
这里写图片描述

我们得出h函数,待定的两个参数,以及得出一个目标代价函数J(),我们的目标就是使得J()函数的输出值最小,当我们的两个参数均不为零时,得出的是一条有纵截距的倾斜直线。下面选择一种简答的情况来讨论,也就是使得西塔0为零,此时便是一条过原点的直线,此时的参数就只有西塔1了。
这里写图片描述

这里当西塔1取0.5时,划出一条线,对应的x坐标我们有一个输出,我们便可以求出与真实值得差距,带入代价函数,我们便可以得出一个最小代价大约为0.58。而当我们取0时,便是横坐标轴,同样也可以求出一个最小代价。
这里写图片描述

因此当我们选择不同的参数值时就可以得出不同的代价,我们将其描绘在代价函数的坐标图中,当数据多时我们就可以描出一条代价曲线,我们发现这时一条凹曲线,当取值为1时,取值最小代价,取到了曲线的底部。

当我们的西塔0和西塔1均未知时,此时的图就无法在二维坐标中直观的表现出来了,而是在三维空间的一张图,如下所示:
这里写图片描述

此时横纵坐标分别表示两个参数,Z轴是代价。在这个三维的图形中我们也可以很清楚的看到存在一个代价最小的点,即图形的最低点。

下面就是选择不同参数的一些情况:
这里写图片描述这里写图片描述这里写图片描述

当我们选到最低点时,来看一下效果如何:
这里写图片描述

发现拟合模型选取的越好,J函数的值越靠近中心,当我们选到最后一张图时,此时的拟合效果最好,而且可以算出此时的代价最小.

代价函数也被称作平方误差函数,有时也被称为平方误差代价函数。我们之所以要求出误差的平方和,是因为误差平方代价函数,对于大多数问题,特别是回归问题,都是一个合理的选择。还有其他的代价函数也能很好地发挥作用,但是平方误差代价函数可能是解决回归问题最常用的手段了。

猜你喜欢

转载自blog.csdn.net/Forlogen/article/details/54646900