目录
2.代价函数数学定义,有助于弄清楚如何把最有可能的直线与我们的数据相拟合
3.前面给出了代价函数的数学定义,接下来给出例子直观理解代价函数的作用
1.线性回归算法:监督学习算法的例子
这里还是住房价格的例子,假设你有一个朋友有一个1250平方的房子,想要卖掉,那么根据这个模型,可以用一条直线来拟合,告诉他可以卖到220K,这是监督学习的例子,因为每一个例子有一个“正确答案”。
现在有一个房价的训练集,我们的工作是从这个数据集中学习如何预测房价,下面要定义一些符号:
假设小写字母m表示训练样本的数量,x代表输入变量或特征,y表示输出变量,用(x,y)表示一个训练样本
用他来表示第i个训练样本,上标i只是一个训练集的索引,指的是这个表格中第i行。
学习算法会得出一个假设函数h,而h就是一个引导从x得到y的函数。
函数h的作用是预测y是关于x的线性函数
线性函数是学习复杂函数的基础,先拟合线性函数再处理更加复杂的模型
这个模型称为线性回归,这个例子是一个一元线性回归,变量是x,另一个名字是单变量线性回归
2.代价函数数学定义,有助于弄清楚如何把最有可能的直线与我们的数据相拟合
在线性回归中有一个这样的训练集,i是模型参数,如何选择这两个参数,选择的参数不同的得到的假设函数就不同,如下所示
假设在线性回归中有一个这样的训练集,我们需要做的就是得出0 1这两个参数的值来让假设函数表示的直线尽量地与这些数据点很好的拟合
如何得出这两个参数的值呢?
我们的想法是我们要选择能使h(x)输入x时我们预测的值最接近该样本对应的y值的参数0 1
所以,我们要得到一定数量的样本,知道x卖出哪所房子和卖出房子的实际价格。
那么,在线性回归中,我们要解决的是一个最小化问题
也就是关于0 1的最小化而且希望这个式子极小h(x)-y也就是想要h(x)和y之间的差异要小
因此尽量减少假设的输出与房子的真实价格之间的差的平方
而现在对所有的训练样本进行一个求和,
将第i号对应的预测结果减去第i号房子的真实价格所得的差的平方相加得到总和,并且尽量减小这个值
因此我们把这个问题变成找到能使我的训练集中预测值和真实值的差的平方的和的1/2M最小的0 1的值
那么这个就是线性回归的整体目标函数,把这个函数改写,要定义一个代价函数,J(0 ,1) ,求其最小值
代价函数也叫做平方误差函数,也称为平方误差代价函数
3.前面给出了代价函数的数学定义,接下来给出例子直观理解代价函数的作用
为了更好地理解,我们对代价函数做了简化:
那么假设现在有三个训练的样本,分别是(1,1),(2,2),(3,3),并假设1=1,那么得出的代价函数的值:J(1)=0
假设1 = 0.5,那么在这种情况下J(0.5) = 0.58
当1 = 0时,J(0) = 2.3
当1 = -0.5时,误差会非常大,J(-0.5) = 5.25
经过一系列计算,你可以得到J(1)函数的图像
对于每一个1,都对应着一个J(1)的值,也对应着不同的假设函数
学习算法的优化目标是通过选择1的值获得最小的J(1)的值,这是线性回归的目标函数,
在这里当1 = 1时,J(1)的值最小,h(x)是一条符合数据的直线,完美的拟合了这些数据
4.然后我们要讨论有两个参数的情况
下面是我们的假设函数,两个参数,代价函数,优化目标:
这次要保留两个参数,假设0 = 50,1 = 0.06
使用等高线图来展示这些曲面图像,在右侧的等高线图中,位于同一个椭圆圈中的J值是相同的,那么中心就是J值最小
当取右侧图中的红色的参数时,即1 = -0.15,0 = 800时,假设函数的图像在左边
那么会发现这条线没有很好的拟合数据,它离最小值相当远,这是相当大的代价,因为拟合的并不好
接下来,再看一个例子,当取另一个参数时,即0 =360,1 = 0时,同样拟合的不是很好,
最后一个例子,这个拟合的不错,不是最小值,但是相当接近了,即如下: