本文会讲到:
(1)线性回归的定义
(2)单变量线性回归
(3)
cost function:评价线性回归是否拟合训练集的方法
(4)
梯度下降:解决线性回归的方法之一
(5)
feature scaling:加快梯度下降执行速度的方法
(6)多变量线性回归
Linear Regression
注意一句话:多变量线性回归之前必须要Feature Scaling!
方法:线性回归属于监督学习,因此方法和监督学习应该是一样的,先给定一个训练集,根据这个训练集学习出一个线性函数,然后测试这个函数训练的好不好(即此函数是否足够拟合训练集数据),挑选出最好的函数(cost function最小)即可;
注意:
(1)因为是线性回归,所以学习到的函数为线性函数,即直线函数;
(2)因为是单变量,因此只有一个x;
我们能够给出单变量线性回归的模型:

我们常称x为feature,h(x)为hypothesis;
从上面“方法”中,我们肯定有一个疑问,怎么样能够看出线性函数拟合的好不好呢?
我们需要使用到Cost Function(代价函数),代价函数越小,说明线性回归地越好(和训练集拟合地越好),当然最小就是0,即完全拟合;
举个实际的例子: 我们想要根据房子的大小,预测房子的价格,给定如下数据集:
根据以上的数据集画在图上,如下图所示:
我们需要根据这些点拟合出一条直线,使得cost Function最小;
|
虽然我们现在还不知道Cost Function内部到底是什么样的,但是我们的目标是:给定输入向量x,输出向量y,theta向量,输出Cost值;
以上我们对单变量线性回归的大致过程进行了描述;
Cost Function
Cost Function的用途:对假设的函数进行评价,cost function越小的函数,说明拟合训练数据拟合的越好;
下图详细说明了当cost function为黑盒的时候,cost function 的作用;

但是我们肯定想知道cost Function的内部构造是什么?因此我们下面给出公式:

其中:



m为训练集的数量;
比如给定数据集(1,1)、(2,2)、(3,3) |
如果theta0 一直为 0, 则theta1与J的函数为:

如果有theta0与theta1都不固定,则theta0、theta1、J 的函数为:

当然我们也能够用二维的图来表示,即等高线图;