一、线性回归的基本概念

1. 定义

线性回归(Linear Regression)是一种通过拟合自变量与因变量之间的 “线性函数关系”,来描述因变量随自变量变化规律的方法。这里的 “线性” 核心是 “对模型参数线性”(后面会具体解释),而非对自变量线性。

比如:想探究 “房屋面积(自变量 x)与房价(因变量 y)的关系”,线性回归会尝试找到一个公式(如 y=β₀+β₁x),其中 β₀、β₁是参数,通过数据估计这两个参数后,就能用面积预测房价。

2. 核心思想

线性回归的核心是 “最小化误差”:假设因变量 y 与自变量 x 的真实关系是 y=f (x)+ε(ε 是误差,代表未被模型捕捉的随机因素),我们需要找到一个 “近似函数”ŷ=ŷ(x)(比如线性函数),使得 “预测值ŷ与真实值 y 的差距” 最小。

最常用的 “衡量差距” 的指标是 “平方误差和”(SSE):SSE=Σ(yᵢ-ŷᵢ)²,通过最小化 SSE 得到参数估计值的方法,就是经典的 “普通最小二乘法”(OLS,Ordinary Least Squares)。

3. 基本假设(Gauss-Markov 假设)

为了让线性回归模型有效(尤其是让 OLS 估计量具有 “最优线性无偏估计量 BLUE” 的性质),需要满足以下基本假设:

  • 线性性:因变量 y 与参数 β 是线性关系(即模型是 y=β₀+β₁x₁+...+βₚxₚ+ε,参数 β 不做非线性运算,如平方、对数等);
  • 零均值:误差项 ε 的期望为 0,即 E (ε)=0(保证模型没有系统性偏差);
  • 同方差性:误差项 ε 的方差恒定,即 Var (εᵢ)=σ²(无论自变量取何值,误差波动一致);
  • 无自相关性:不同观测的误差项不相关,即 Cov (εᵢ,εⱼ)=0(i≠j,误差之间没有 “连锁影响”);
  • 自变量与误差项无关:Cov (xᵢ,ε)=0(自变量的取值不会影响误差,避免 “内生性” 问题);
  • (可选)误差项正态分布:ε~N (0,σ²)(方便进行参数的显著性检验)。

二、线性回归的简单分类

线性回归的分类方式有多种,最常见的是按 “自变量数量”“模型对自变量的形式” 划分:

1. 按自变量数量:单变量线性回归 vs 多元线性回归

这是最直观的分类,核心区别是 “自变量的个数”。

  • 单变量线性回归(简单线性回归):只有 1 个自变量 x,因变量 y 与 x 的关系是 “一元线性函数”。
    典型场景:用 “学习时长 x” 预测 “考试分数 y”、用 “汽车行驶里程 x” 预测 “剩余价值 y” 等。

  • 多元线性回归:有 2 个及以上自变量(x₁,x₂,...,xₚ),因变量 y 与多个 x 的关系是 “多元线性函数”。
    典型场景:用 “房屋面积 x₁、房龄 x₂、距离地铁站距离 x₃” 共同预测 “房价 y”;用 “企业营收 x₁、研发投入 x₂、员工数量 x₃” 预测 “企业利润 y” 等。

2. 按 “模型对自变量的形式”:线性于自变量 vs 线性于参数(广义线性)

很多人会误以为 “线性回归只能拟合自变量的一次函数”,但实际上 “线性” 的关键是 “对参数线性”,而非对自变量。因此按自变量的形式,又可分为两类:

  • 线性于自变量的线性回归:自变量 x 以 “一次项” 形式进入模型,即模型中 x 不做非线性变换(如平方、对数、倒数等)。
    例子:单变量的 y=β₀+β₁x+ε,多元的 y=β₀+β₁x₁+β₂x₂+ε,都是最基础的形式。

  • 线性于参数的线性回归(广义线性回归):自变量 x 可能做了非线性变换(如 x²、logx 等),但参数 β 仍为 “线性关系”(即 β 只做加减、不做平方、指数等运算)。
    例子:

    • 多项式回归:y=β₀+β₁x+β₂x²+ε(x 是二次项,但参数 β₀,β₁,β₂是线性的,属于线性回归);
    • 对数变换回归:y=β₀+β₁logx+ε(x 做了对数变换,但 β₁是线性的,属于线性回归)。

关键区分:只要模型中 “参数 β 不参与非线性运算”(如 y=β₀+β₁²x+ε 就不是线性回归,因为 β₁做了平方),无论自变量 x 是否做非线性变换,都属于线性回归。

三、线性回归的模型形式

不同分类下的模型有具体的数学表达,下面分别列出核心模型的公式及含义。

1. 单变量线性回归模型

假设有 n 个观测样本 {(x₁,y₁),(x₂,y₂),...,(xₙ,yₙ)},x 是自变量,y 是因变量,模型形式为:

理论模型(真实关系)
yᵢ=β₀+β₁xᵢ+εᵢ

预测模型(估计关系)
ŷᵢ=β̂₀+β̂₁xᵢ

各部分含义:

  • yᵢ:第 i 个样本的因变量真实值;
  • xᵢ:第 i 个样本的自变量值;
  • β₀:截距项(当 x=0 时,y 的理论值,实际中可能无实际意义,如 “面积为 0 的房价”);
  • β₁:斜率(x 每增加 1 个单位,y 的平均变化量,如 “面积每增加 1 平米,房价平均增加 β₁元”);
  • εᵢ:第 i 个样本的误差项(真实值与理论值的差距,包含未考虑的因素);
  • β̂₀,β̂₁:通过 OLS 估计得到的 β₀,β₁的估计值;
  • ŷᵢ:通过估计模型得到的第 i 个样本的预测值。

例子:用 “身高 x(cm)” 预测 “体重 y(kg)”,估计得到模型ŷ= -50+0.6x,含义是 “身高每增加 1cm,体重平均增加 0.6kg”,当身高为 170cm 时,预测体重为 - 50+0.6×170=52kg。

2. 多元线性回归模型

假设有 p 个自变量 x₁,x₂,...,xₚ,n 个观测样本,模型形式为:

理论模型
yᵢ=β₀+β₁xᵢ₁+β₂xᵢ₂+...+βₚxᵢₚ+εᵢ

预测模型
ŷᵢ=β̂₀+β̂₁xᵢ₁+β̂₂xᵢ₂+...+β̂ₚxᵢₚ

各部分含义(新增部分):

  • xᵢⱼ:第 i 个样本的第 j 个自变量值(j=1,2,...,p);
  • βⱼ:第 j 个自变量的 “偏斜率”(在其他自变量不变的情况下,xⱼ每增加 1 个单位,y 的平均变化量);
    例子:模型ŷ=10+0.3x₁-0.2x₂(x₁是 “学习时长”,x₂是 “手机使用时长”),β₁=0.3 的含义是 “在手机使用时长不变时,学习时长每增加 1 小时,分数平均增加 0.3 分”;

矩阵形式(更简洁)
若用矩阵表示所有样本,令 Y=(y₁,y₂,...,yₙ)ᵀ(n×1 因变量矩阵),X=(1,x₁₁...x₁ₚ; 1,x₂₁...x₂ₚ; ...; 1,xₙ₁...xₙₚ)(n×(p+1) 自变量矩阵,第一列全为 1 对应截距项),β=(β₀,β₁,...,βₚ)ᵀ((p+1)×1 参数矩阵),ε=(ε₁,...,εₙ)ᵀ(n×1 误差矩阵),则理论模型可写为:
Y=Xβ+ε

此时 OLS 估计的参数 β̂=(XᵀX)⁻¹XᵀY(通过最小化 SSE 推导得到的闭式解)。

3. 多项式回归模型(线性于参数的典型例子)

以 “一元二次多项式” 为例(自变量 x 做二次变换),模型形式为:

理论模型:yᵢ=β₀+β₁xᵢ+β₂xᵢ²+εᵢ

预测模型:ŷᵢ=β̂₀+β̂₁xᵢ+β̂₂xᵢ²

它本质是 “多元线性回归的特例”—— 只需令 x₁=x,x₂=x²,模型就可转化为 y=β₀+β₁x₁+β₂x₂+ε,因此仍可用 OLS 估计参数。

适用场景:自变量与因变量呈 “非线性但可通过多项式近似” 的关系。比如 “年龄 x 与收入 y”:年轻时收入随年龄增长较快,中年后增长放缓甚至下降,可用二次多项式(x² 的系数为负)拟合这种 “先增后减” 的趋势。

线性回归是机器学习中最基础的回归模型,其核心是通过优化模型参数拟合数据规律。当面对线性回归问题时,常用最小二乘法梯度下降法求解参数;而模型训练中常遇到的过拟合问题,则可通过岭回归Lasso 回归弹性网等正则化方法缓解。

三、线性回归问题的解法

线性回归的目标是找到参数向量\(\boldsymbol{w}\)和偏置b,使得模型\(\hat{y} = \boldsymbol{w}^T\boldsymbol{x} + b\)能最优拟合真实数据y。“最优” 通常定义为 “最小化残差平方和”(损失函数\(L = \frac{1}{n}\sum_{i=1}^n(\hat{y}_i - y_i)^2\)),两种经典解法围绕这一目标展开。

1. 最小二乘法(Ordinary Least Squares, OLS)

最小二乘法是通过数学推导直接求解参数闭式解的方法,核心思想是 “让残差(预测值与真实值的差)的平方和最小”。

(1)基本原理

对于线性回归模型(为简化,将偏置b纳入参数向量\(\boldsymbol{w}\),特征向量\(\boldsymbol{x}\)补 1 维常数 1),模型可表示为: \(\boldsymbol{\hat{y}} = \boldsymbol{X}\boldsymbol{w}\) 其中\(\boldsymbol{X}\)是\(n \times (p+1)\)的特征矩阵(n为样本数,p为特征数),\(\boldsymbol{w}\)是\((p+1) \times 1\)的参数向量,\(\boldsymbol{\hat{y}}\)是\(n \times 1\)的预测值向量。

损失函数(残差平方和)为: \(L(\boldsymbol{w}) = \|\boldsymbol{y} - \boldsymbol{X}\boldsymbol{w}\|_2^2 = (\boldsymbol{y} - \boldsymbol{X}\boldsymbol{w})^T(\boldsymbol{y} - \boldsymbol{X}\boldsymbol{w})\)

为最小化\(L(\boldsymbol{w})\),对\(\boldsymbol{w}\)求导并令导数为 0(极值条件),推导得参数的闭式解: \(\boldsymbol{\hat{w}} = (\boldsymbol{X}^T\boldsymbol{X})^{-1}\boldsymbol{X}^T\boldsymbol{y}\)

(2)优缺点
  • 优点

    • 直接得到解析解,无需迭代,计算高效(当特征数不多时);
    • 结果稳定,无随机性(不依赖初始值)。
  • 缺点

    • 要求\(\boldsymbol{X}^T\boldsymbol{X}\)可逆:当特征数p远大于样本数n(如\(p > n\)),或特征间存在强共线性时,\(\boldsymbol{X}^T\boldsymbol{X}\)不可逆(或近似奇异),无法求解;
    • 计算成本高:当p很大(如p达 10 万级),\(\boldsymbol{X}^T\boldsymbol{X}\)的逆矩阵计算复杂度为\(O(p^3)\),耗时极长。
2. 梯度下降法(Gradient Descent)

当最小二乘法受限于高维数据时,梯度下降法通过迭代优化求解参数:沿损失函数的梯度反方向逐步更新参数,直到损失函数收敛到最小值。

(1)基本原理

核心步骤:

  1. 初始化参数:随机设定初始参数\(\boldsymbol{w}_0\)(如全 0 向量);
  2. 计算梯度:求损失函数\(L(\boldsymbol{w})\)对\(\boldsymbol{w}\)的梯度\(\nabla L(\boldsymbol{w}) = \frac{2}{n}\boldsymbol{X}^T(\boldsymbol{X}\boldsymbol{w} - \boldsymbol{y})\);
  3. 更新参数:沿梯度反方向调整参数:\(\boldsymbol{w}_{t+1} = \boldsymbol{w}_t - \eta \cdot \nabla L(\boldsymbol{w}_t)\)(\(\eta\)为学习率,控制更新步长);
  4. 重复迭代:直到梯度接近 0(损失函数不再下降)或达到最大迭代次数。
(2)常见变种及对比

根据每次迭代使用的样本量,梯度下降可分为 3 类:

类型 样本使用量 优点 缺点
批量梯度下降(BGD) 全量样本(n个) 梯度稳定,收敛到全局最优 计算慢(尤其n大时),内存消耗高
随机梯度下降(SGD) 1 个随机样本 计算快,适合大数据 梯度波动大,收敛不稳定(可能绕最优值震荡)
小批量梯度下降(MBGD) 小批量样本(如 32/64 个) 平衡速度与稳定性,工程中最常用 需要调优批量大小(如 2 的幂次)
(3)优缺点
  • 优点

    • 适用于高维数据(p很大时仍高效),无需计算矩阵逆;
    • 灵活可调(通过学习率、批量大小等参数控制收敛)。
  • 缺点

    • 依赖超参数(学习率、迭代次数等),需手动调优;
    • 收敛速度可能较慢(尤其数据分布复杂时)。

四、线性回归中的过拟合与欠拟合

模型训练的核心是 “泛化能力”(对未见过的数据的预测能力),但常因模型复杂度与数据匹配不当,出现欠拟合过拟合

1. 欠拟合(Underfitting)
  • 定义:模型过于简单(如用线性模型拟合非线性数据),无法捕捉数据的潜在规律,导致 “训练误差高,测试误差也高”。
  • 原因:特征过少、模型复杂度低(如仅用 1 次项拟合曲线数据)、训练不足。
  • 解决方法:增加特征(如添加多项式项)、使用更复杂的模型(如非线性模型)、减少正则化强度。
2. 过拟合(Overfitting)
  • 定义:模型过于复杂(如高次多项式模型),过度 “记住” 训练数据中的噪声或细节,导致 “训练误差低,但测试误差高”。
  • 原因:特征过多(如p接近n)、数据量少、模型无约束(参数自由度过高)。
  • 解决方法:核心是 “限制模型复杂度”,最常用的是正则化(在损失函数中加入惩罚项,抑制参数过大),典型方法包括岭回归、Lasso 回归、弹性网。

五、过拟合的解决:正则化方法

正则化的核心思想是:在原损失函数(残差平方和)中加入参数的惩罚项,通过控制惩罚强度(正则化系数\(\lambda\)),迫使参数 “不能过大”,从而简化模型,避免过拟合。

1. 岭回归(Ridge Regression)

岭回归是最常用的正则化方法之一,通过L2 正则化(惩罚参数的平方和)限制参数大小。

(1)原理与公式

损失函数(原损失 + L2 正则项): \(L_{\text{Ridge}}(\boldsymbol{w}) = \|\boldsymbol{y} - \boldsymbol{X}\boldsymbol{w}\|_2^2 + \lambda \|\boldsymbol{w}\|_2^2\) 其中\(\lambda \geq 0\)是正则化系数:\(\lambda\)越大,惩罚越强(参数被压缩得越接近 0);\(\lambda=0\)时退化为普通线性回归。

参数求解: 岭回归有闭式解(因\(\boldsymbol{X}^T\boldsymbol{X} + \lambda\boldsymbol{I}\)一定可逆,解决了 OLS 的不可逆问题): \(\boldsymbol{\hat{w}}_{\text{Ridge}} = (\boldsymbol{X}^T\boldsymbol{X} + \lambda\boldsymbol{I})^{-1}\boldsymbol{X}^T\boldsymbol{y}\)

(2)特点与适用场景
  • 特点:L2 正则化会 “均匀压缩所有参数”,但不会将任何参数直接置为 0(仅让其接近 0);
  • 适用场景:特征间存在共线性(如 “身高” 和 “体重” 强相关)、希望保留所有特征(无特征选择需求)的场景。
2. Lasso 回归(Lasso Regression)

Lasso 回归通过L1 正则化(惩罚参数的绝对值和)限制参数,与岭回归的核心区别是 “能实现特征选择”。

(1)原理与公式

损失函数(原损失 + L1 正则项): \(L_{\text{Lasso}}(\boldsymbol{w}) = \|\boldsymbol{y} - \boldsymbol{X}\boldsymbol{w}\|_2^2 + \lambda \|\boldsymbol{w}\|_1\) 其中\(\|\boldsymbol{w}\|_1 = \sum_{j=1}^p |w_j|\),\(\lambda\)作用同岭回归。

(2)特点与适用场景
  • 特点:L1 正则化的 “绝对值惩罚” 会导致部分参数被直接置为 0(类似 “稀疏化”),即自动忽略不重要的特征(特征选择);
  • 原因:L1 正则项的函数图像(L1 球)在坐标轴处有 “棱角”,参数优化时易与损失函数的等高线在坐标轴上相交(此时对应参数为 0);
  • 适用场景:特征多且冗余(如 “年龄”“出生年份” 高度相关)、需要自动筛选关键特征(如基因数据中筛选与疾病相关的基因)的场景。
(3)求解难点

Lasso 回归无闭式解:因 L1 正则项在\(w=0\)处不可导(左导数≠右导数),需用迭代方法求解(如坐标下降法、最小角回归 LARS)。

3. 弹性网(Elastic Net)

弹性网结合了 L1 和 L2 正则化的优点,解决 Lasso 在 “特征多且高度相关” 时的局限性(Lasso 可能随机选择其中一个特征,忽略其他重要相关特征)。

(1)原理与公式

损失函数(原损失 + L1+L2 正则项): \(L_{\text{Elastic Net}}(\boldsymbol{w}) = \|\boldsymbol{y} - \boldsymbol{X}\boldsymbol{w}\|_2^2 + \lambda_1 \|\boldsymbol{w}\|_1 + \lambda_2 \|\boldsymbol{w}\|_2^2\)

通常简化为单参数控制(令\(\lambda_1 = \lambda \alpha\),\(\lambda_2 = \lambda (1-\alpha)/2\),其中\(\alpha \in [0,1]\)): \(L_{\text{Elastic Net}}(\boldsymbol{w}) = \|\boldsymbol{y} - \boldsymbol{X}\boldsymbol{w}\|_2^2 + \lambda \left(\alpha \|\boldsymbol{w}\|_1 + \frac{1-\alpha}{2} \|\boldsymbol{w}\|_2^2\right)\)

  • \(\alpha=1\)时退化为 Lasso 回归;
  • \(\alpha=0\)时退化为岭回归。
(2)特点与适用场景
  • 特点:既保留 L1 的 “特征选择” 能力(部分参数置 0),又通过 L2 的 “均匀压缩” 避免 Lasso 对相关特征的 “随机选择”;
  • 适用场景:高维数据(\(p \gg n\))、特征高度相关(如文本分类中的词向量)、需平衡特征选择与参数稳定性的场景。

六、三种正则化方法对比

方法 正则项类型 参数处理方式 特征选择能力 适用场景
岭回归 L2(平方和) 压缩所有参数,不置零 特征共线性、需保留所有特征
Lasso 回归 L1(绝对值和) 部分参数置零(稀疏化) 特征冗余、需自动筛选特征
弹性网 L1+L2(混合) 部分参数置零 + 压缩剩余参数 高维 + 特征相关、需平衡稳定性

总结

  • 解法选择:低维数据用最小二乘法(高效、稳定),高维数据用梯度下降法(灵活、适用范围广);
  • 过拟合处理:核心是正则化 —— 岭回归适合保留特征,Lasso 适合筛选特征,弹性网适合高维相关特征;
  • 关键经验:正则化系数\(\lambda\)需通过交叉验证(如 k-fold CV)调优(\(\lambda\)太小则过拟合,太大则欠拟合)。
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐