回归大致可以理解为根据数据集
下面就来解释其中的一些细节。
首先,为什么拟合曲线会被称为回归呢?
“回归”这个词源于弗朗西斯·高尔顿爵士(英文:Sir Francis Galton,1822年2月16日-1911年1月17日):
高尔顿的研究过程用现在的数学语言来表述就是,首先对一些父子的身高进行了抽样,得到数据集
高尔顿拟合的直线方程为(单位为米):
将方程和
也就是说这两条直线会交于点 (1.77, 1.77),这说明身高低于1.77米的父亲,他的儿子身高会高一些;而高于1.77米的父亲,他的儿子身高会矮一些。:
所以这条拟合出来的直线,其实就表示了均值回归现象,因此拟合直线的过程被称为 线性回归(英文:Linear Regression)。
下面开始解释高尔顿是如何根据数据集来拟合直线的。先来介绍下线性回归的经验误差是什么。
首先肯定是用直线来进行拟合:
所以假设空间为:
和感知机的假设空间差不多,只是少了
在历史上,高尔顿总共采集了近千个父子身高的数据来拟合。本课为了方便讲解,我们从中抽取了六个(原始数据的单位是“英寸”,这里全部转为了“米”)作为数据集
随便找一条假设空间中的直线
将数据集
其中
有了经验误差函数之后,就可以利用上一单元介绍的经验误差最小原则来设计算法,从而在假设空间
具体到线性回归中,其经验误差函数为:
根据经验误差最小原则,只需要求出使得该经验误差函数取得最小值的
实际上就得到了离
首先,将手上的数据集
代入线性回归的经验误差函数后可得:
可见
使函数取得最小值的
因为线性回归的经验误差函数
根据上一节描述的数学原理,可以借助 Python 来求出 w 和 b:
上面代码运行后,可以解出
至此我们就完成了一个简单的线性回归。至于为什么最小二乘法是正确的,可以看我们之后的课程,或者看如何理解最小二乘法。