还是以房价预测为例,如果是横坐标下面箭头指向的那个地方的房子应该卖多少钱合适?下面坐标系中叉叉表示的那些点都是已知的房屋面积(单位:平方英尺)和房屋价格(单位1000美元)之间的对应关系,那如果我有1250平方英尺的房子该卖多少钱呢?
前面看监督学习、无监督学习的时候我们大概知道了,该怎么做。如下图,这个房屋价格预测是一个监督学习问题,同时又是一个回归问题。
在监督学习中,我们有一个数据集,它被称为一个训练集,以住房价格为例,我们有一个房价的训练集,我们的工作是从这个数据中学习如何预测房价。
在此基础上呢,我们约定一些符号表示:
m: 训练集中的样本个数,即上图表格中历史成交数据的个数(面积——价格对)。
x^(i):输入变量/特征,这里i这个上标,不是幂指数,而是训练集的一个索引,指的是表格中的第i行。
y^(i) :输出变量/目标变量。
(x, y):一个训练样本,
(x^(i), y^(i)): 表示m个样本的训练集中的第i个样本。
那这里呢,我们的x表示的是房屋的面积,y是房屋的售价。我们知道x和y之间有一种关系,假设(hypothesis)这种关系是h。这个h就像我们高等数学第一章讲到的函数f类似,f将定义域上的某个(些)x映射到值域上的某个y上。h就有点类似于这个f。
机器学习就是用训练集和一定的学习算法将这个h给弄出来,然后就在输入变量(特征)和输出变量(目标值)之间建立了一种对应关系,就可以用这个关系来预测新的输入变量x的输出y。如下面框图所示:
以一元线性回归模型表示房价预测问题为例
我们如何得到h,一种比较理想的方法是用一种万能的公式,公式的形式固定、参数未知,只要把训练集的数据往公式里带入,用一种办法把这个公式的参数给求出来就行了。当然,这个万能公式应该是不存在的。
但是,如果像上面的房价预测的问题一样,我们在数据探索阶段认定了房屋面积和售价之间是一种线性关系的话,我们就可以用下图中这种直线公式来表述这种关系。
我们只要通过训练集把上面直线公式的两个参数给求出来就行了,从小学的时候学解方程就知道,对于两个未知数的情况我们有两组(x,y)就能把它们求出来。