首先,回归就是在数据中找到一种规律或者趋势,比如一条直线来描述两个变量之间的关系。这种方法是线性回归。

那么直线不够用怎么办?

数据之间的关系往往不是简单的线性关系,基本上都是复杂的非线性。如果你用直线去描述这样的数据,可能就会“跑偏”,预测得不准。这时候就需要用曲线来描述数据的变化。

多项式回归的思路

针对非线性关系的处理在 1. 线性回归 中也提到了一些,如特征变换和多项式回归。多项式回归不再使用直线来进行拟合,而是使用一条曲线(二次曲线、三次曲线等)来更好的描述数据之间的关系,这样能够使曲线更灵活的跟着数据走,相当于增加了模型的自由度。多项式回归能够捕捉数据中的非线性关系,使得模型在面对复杂的数据关系的时候也能够有很好的预测结果。但是如果多项式的次数过高,曲线非常灵活就可能会出现“过拟合”的现象,在训练数据上表现很好,但是在测试数据上表现很差。

如果不考虑过拟合问题,理论上多项式回归可以拟合任何数据,因为任意的函数都可以通过泰勒级数逼近。从数学角度来看,泰勒级数允许我们用多项式函数来逼近任意光滑函数。泰勒级数的原理是,在某一点附近,任何光滑函数都可以表示为一个无穷多项式级数。因此理论上,如果我们使用足够高次的多项式,确实可以逼近任何数据模式。这种理论上的逼近能力是"不考虑过拟合问题"的情况下才成立⁠⁠。实际应用中,过高次数的多项式往往会导致严重的过拟合,使模型在训练数据上表现极佳,但在新数据上表现很差,失去泛化能力。


基本原理

传统的线性模型的假设是自变量 $x$和因变量 $y$的关系可以用下面公式来表示:

$$ y = \beta_0 + \beta_1 x + \varepsilon $$

其中两个 $\beta$是待估计的参数,$\varepsilon$是误差项。

而对于多项式回归,其是线性回归的变体,就是增加 $x$的系数,将上述公式变为多项式;

$$ y = \beta_0 + \beta_1 x + \beta_2 x^2 + \cdots + \beta_d x^d + \varepsilon $$

d 表示的多项式的最高次数, $\beta$ 是模型参数,也就是待估计的参数。之所以说多项式回归是线性回归的变体就是因为:

虽然模型中包含了 $x$ 的高次项, 但是模型仍然是参数 ${\beta}_1,{\beta}_2,{\beta}_3...$ 的线性组合,只是特征扩展为了:  $[1, x, x^2, \dots]$.


构造设计矩阵与目标函数

什么是设计矩阵?

是将输入特征转换为适合线性回归求解的矩阵形式,用于表示模型的自变量(包括原始特征及其高次项)。如何理解?也就是说,对于原始特征 $x$,我们将其高次项 $x^2,x^3…$作为新的特征纳入矩阵,用于捕捉非线性关系,这种方法称为扩展特征。