线性回归估计是最简单的拟合了。也是基础中的基础。
依然是从字面上先来试着拆解和组合:
首先,Regression 回归,指的是研究变量之间的关系,这个由来在Python 线性回归(Linear Regression) - 到底什么是 regression?一文中讲多了,这里不多重复。
然后,linear 线性,很直观:直线。
二者连在一起,便是:变量之间呈直线关系。
那具体是哪些变量之间?
因变量 y 和 自变量 (x1...xr) 之间。
= ₀ + ₁₁ + ⋯ + ᵣᵣ +
当只有一个 x1 的时候,就是最简单的线性回归 = ₀ + ₁₁
。
具体怎么理解这个公式呢?
举个简化的例子:员工的工资 y 与 学历 x 的关系。
假设学历越高,工资也越高,二者是某种程度上的线性关系,
那在理论上会存在这么一个公式 y = ₀ + ₁
,其中,x1...xn, y1...yn:
这个过程便是:数据 -> 建立模型 f(x) -> 预测
只是,理论和实际总是有差别的,就像 1/3 ~= 0.3333333333333...
所以,实际拟合到的模型可能是这样的: f(x) = ₀ + ₁
₀ 和 ₁ 分别与 ₀ 和 ₁ 有多接近?
当然是拟合出来的越接近越好;
如何知道有多接近?
简单,
new_y1 - y1
(称为残差)
回归要解决的问题就是:以最简单的线性回归为例:
f(x) = ₀ + ₁
最接近理论上的线性模型 y = ₀ + ₁
f(x) = ₀ + ₁
来预测新的数据除了上面例子中的最简单的线性回归,还有:
(₁, ₂) = ₀ + ₁₁ + ₂₂
() = ₀ + ₁ + ₂²
....即从二维转为三维、多维空间拟合了。这个有点复杂了,不过原理和前面是相通的。
过犹不及用在这里也适合,过度拟合也很脆弱的,因为可能新增加一个或几个数据就破坏了之前的完美,就好像专门为你定制的帽子戴在别人头上就没那么合适和美了,当然,拟合的不及也不好,这时候可能就要换模型或者调参了吧。