背景
关联于上一节的线性回归模型,探讨如何实现该模型。
代价函数
1)代价函数的数学定义
如何实现线性回归模型,则要弄清楚该怎么把最有可能的直线与我们的数据拟合,即确定该假定函数的两个参数。
在线性回归中,我们要解决的是一个最小化问题。要使得假设输出的值和实际值的差的平方尽量小。实际上就是尽量减少假设输出值和实际值之间的方差最小化,即求和最小化实际上就是**(方差*M)的最小化**,也就是方差最小化,也就是方差的1/2最小化。
简而言之,在把问题变成 找到能使得训练集中的预测值和真实值的差的平方的和的1/2M最小的两个参数的值。这将是线性回归的整体目标函数。
改写上面图片中的函数,按照惯例,要定义一个代价函数:
代价函数 J 也被称为平方误差函数,或者平方误差代价函数。
平方误差代价函数是代价函数中常用的一种,因为它对于大多数线性回归问题非常合理,是解决线性回归问题的常用手段。
2)代价函数的简化及应用
下面是假设函数、参数、代价函数:
为了使代价函数更好的可视化,我们使用一个简化的假设函数,并且得到相应的代价函数:
其中最重要的两个函数就是假设函数和代价函数,下面研究这两个函数:
- 先假定参数为1的时候,假设函数可以无误差拟合所给定的三个训练集数据,计算得到,此时,代价函数对应值为0:
- 当参数为0.5时,对应的假设函数和代价函数:
- 当选定不同的参数值,都对应于左边不同的直线,同时对应于右边代价函数的不同的值:
学习算法的优化目标:就是通过选择参数的值的找到最小的代价函数的值。
线性回归的目标函数:
3)简化前的代价函数
惯用的四个函数及变量:假设函数、参数、代价函数、优化目标:
下图左边是假设函数h(x),给定两个参数。此时对应的代价函数则是三维空间的图像:
代价函数:
将此图片用等高图来表示:
在等高线图中,相连的线条表示该对应的两个参数对应的代价函数的值是相等的。图中圆的中心点就是代价函数的最小值,离越远则代价函数值越大,且拟合程度越低。
下面是取定两个参数所对应的假设函数对应的代价函数的例子:
可以看到,代价函数中越靠近圆中心所取的参数的值的点,对应于假设函数中的拟合效果越好。
每一个给定的参数值都对应于一个假设函数,每一个假设函数也都对应于一个代价函数中的一个点,接近代价函数J最小值的点对应于更好的假设函数。
我们真正想要的是一个高效的算法,一个软件的高效组成部分,来自动寻找代价函数J的最小值对应的两个参数值。在今后可能会遇到更复杂的没办法绘制的图,也没有办法可视化,就不可能去手动读取参数。因此,我们需要使用软件找到使得代价函数获得最小值的参数的值。接下来就学习一种能够自动寻找最小值对应的参数的算法。