Coursera机器学习笔记 第1周 第二章 单变量线性回归(一)
第二章 单变量线性回归(Linear Regression with One Variable)(一)
第1节 模型和代价函数(Model and Cost Function)
2.1 模型表示
参考视频 : 2 - 1 - Model Representation (8 min).mkv
我们学习的第一个算法是线性回归算法。你将会了解这个算法的概况,以及监督学习过程完整的流程。
还是预测房价的例子。已知一个数据集,其中包含不同尺寸的房子的价格。通过构建模型(直线、曲线或其他),可以对数据集外的房子预测价格。这就是监督学习中的回归问题。
在这个例子中,假设我们的数据训练集(training set)如下表所示:
回归问题的符号标记规定如下:
- m 代表训练集中实例的数量(数据集中样本的数量)
- x 代表特征/输入变量
- y 代表目标变量/输出变量
- (x,y) 代表训练集中的实例
- 代表第 i 个观察实例
- h 代表学习算法的解决方案或函数(也称为假设)
这就是监督学习算法的工作方式,我们把训练集“喂”给学习算法,输出一个函数,通常用小写h表示;然后再将我们要预测的房屋的大小作为输入变量给h,该房屋的房价(输出变量)输出为结果。
那么我们该如何表达h呢?一种可能的表达方式为:,其中只含有一个特征/输入变量,因此这样的问题叫做单变量线性回归问题。
2.2 代价函数
参考视频: 2 - 2 - Cost Function (8 min).mkv
学习如何定义代价函数,这有助于我们弄清楚如何把最有可能的直线与给定的数据集相拟合。如图:
训练集的数量m = 47,假设函数也就是用来预测的函数是线性函数形式:,其中和为参数,我们选择的参数决定了得到的直线,训练集中变量在所得直线上的值与训练集中实际值之间的差距(下图中蓝线所指)是建模误差。
我们的目标是选择出 建模误差平方和最小 的模型参数,这里就是、。代价函数为
其中分母是 2m,原因看这里 代价函数除2m的原因。根据代价函数绘出等高线图,三个坐标分别为、、:
可以看出三维空间中存在一个使得最小的点()。
代价函数也被称作平方误差函数,求出误差的平方和对于大多数问题,特别是回归问题,是一个合理的选择。还有其他代价函数也能很好地发挥作用,但是平方误差代价函数是解决回归问题最常用的手段。接下来进一步解释代价函数J的工作原理,并尝试更直观第解释它在计算什么,以及我们使用它的目的。
2.3 代价函数的直观了解I
参考视频:2 - 3 - Cost Function - Intuition I (11 min).mkv
我们通过一些例子来获取一些直观的感受,看看代价函数到底是在干什么。
代价函数的直观理解如下图,
上图中令,J(0,0)=14/6,J(0,1)=0。即如果固定其中一个参数为定值,则代价函数 J 为二次函数,可用中学数学知识求出最小值。
2.4 代价函数的直观了解II
参考视频:2 - 4 - Cost Function - Intuition II (11 min).mkv
本节课中深入学习代价函数的作用。下图为等高线图,多看几遍就能看懂了,如果不熟悉的话也没关系,对后续课程理解影响不大。
把代价函数绘成等高线图,从图中可以看书三维空间中存在一个使得最小的点,此点对应的坐标记为所求参数。
当然,我们真正需要的是一种有效的算法,能够自动地找出使代价函数 J 取最小值的参数来。我们不想编程序把这些点画出来,然后人工读出来这些点的值,这不是一个好办法。我们真正需要的是编写程序来找出这写最小化代价函数的。