首页 > Python机器学习 阅读数:36

线性回归是什么

线性回归(Linear Regression)模型是最简单的线性模型之一,很具代表性,甚至有学者认为,线性回归模型是一切模型之母。所以,我们的机器学习之旅,也将从这个模型开始。

在现代统计学里,统计数据会给出大量的自变量(independent variable,即一系列的解释变量)和相应的因变量(dependent variable,即输出结果),在回归分析中,其任务就是找到这两类变量之间的关系,并用某个模型描述出来。这样一来,如果我们再给出新的自变量,就能利用模型实现预测。

用形式化的语言来说,回归分析的核心任务在于,面对一系列输入、输出数据集 D,构建一个模型 T(其形式通常表现为某个函数 f(x)),使得 T 尽可能地拟合 D 中输入和输出数据之间的关系。然后,对新输入的 xnew,能应用模型 T,给出预测结果 f(xnew)。

在几何意义上,回归就是找到一条具有代表性的直线或曲线(高维空间的超平面)来拟合输入数据点和输出数据点。

回归有很多种类。按照涉及变量的多少,可分为一元回归和多元回归。按照自变量和因变量之间的关系,可分为线性回归和非线性回归。我们这里先讨论线性回归。简单来说,线性回归就是假设输入变量(x)和单个输出变量(y)之间满足线性关系。

让我们先考虑最简单的形式,输入变量(x)只有一个特征:

y=w0+w1x

这里,w1 和 w0 为回归系数。具体说来,权值 w为变量x的系数,权值 w为函数 y=f(x) 在 y 轴上的截距。

对于这个简易版的线性回归,我们的目标是在训练数据上进行学习,并通过拟合获得这两个权值。线性回归可看作求解样本点的最佳拟合直线,如图 1 所示。


图 1:线性回归示意图

拟合而成的回归线与样本点之间的垂直线,就是“残差”(Residual),也就是预测值和实际值之间的误差,记为 εi
残差
于是,我们的目标变为,求得一条拟合线拟合线,使得误差之和 误差之和最小。

那么如何找到这样一条直线呢?最常用的方法,就是普通最小二乘法(Ordinary Least Squares,简称OLS)。普通最小二乘法的主要思想就是,选择一些未知参数(即权值),以某种策略使得实际值与预测值之差的平方和达到最小。这样一来,线性回归的损失函数可表示为:
线性回归的损失函数