文章目录
本文内容一览(快速理解)
-
线性回归是什么? 预测连续数值的方法,找到一条直线(或超平面)最好地拟合数据点,假设因变量与自变量之间是线性关系
-
为什么需要线性回归? 预测连续值(房价、成绩、销售额),找到特征和目标之间的线性关系,简单直观易于理解
-
基本模型是什么? y i = β 0 + β 1 x i 1 + . . . + β D x i D = x i T β y_i = \beta_0 + \beta_1 x_{i1} + ... + \beta_D x_{iD} = x_i^T \beta yi=β0+β1xi1+...+βDxiD=xiTβ, β 0 \beta_0 β0是截距, β 1 , . . . , β D \beta_1,...,\beta_D β1,...,βD是回归系数(每个特征的影响程度)
-
基函数的作用? 对输入特征进行非线性变换,让线性回归处理非线性关系,虽然对原始特征非线性但对变换后的特征仍线性(对参数 β \beta β线性)
-
最小二乘法是什么? 使得所有样本的误差平方和最小,通过求偏导数得到参数的解析解,有理论保证全局最优但需要计算矩阵逆
-
解析解公式? β ^ = ( Φ T Φ ) − 1 Φ T y \hat{\beta} = (\Phi^T \Phi)^{-1} \Phi^T y β^=(ΦTΦ)−1ΦTy,其中 Φ \Phi Φ是基函数矩阵, y y y是目标值向量
-
什么是过拟合? 模型在训练数据上表现很好但在新数据上表现很差,原因包括数据量太少、模型太复杂、回归系数过大
-
正则化如何防止过拟合? 在目标函数中加入惩罚项限制参数大小,L2正则化(Ridge)让所有参数变小但不为0,L1正则化(Lasso)可以让某些参数变成0实现特征选择
-
L1 vs L2正则化? L2让参数变小但不为0,所有特征都重要时使用;L1可以让参数精确为0,只有部分特征重要时使用(自动特征选择)
-
如何选择正则化系数? 使用交叉验证选择最优 λ \lambda λ值, λ = 0 \lambda=0 λ=0无正则化可能过拟合, λ \lambda λ很大过度正则化可能欠拟合,需要平衡拟合和泛化
学习路线建议
初学者:理解线性回归的基本模型和最小二乘法的思想,掌握误差平方和最小化的原理 | 进阶者:深入理解基函数的作用、正则化的原理、L1和L2正则化的区别和适用场景 | 考试复习:重点掌握线性回归模型、最小二乘法、解析解公式、过拟合问题、正则化方法对比
总结口诀
- 核心思想:线性关系 → 拟合数据 → 预测连续值
- 基本模型: y = β 0 + β 1 x 1 + . . . + β D x D = x T β y = \beta_0 + \beta_1 x_1 + ... + \beta_D x_D = x^T \beta y=β0+β1x1+...+βDxD=xTβ
- 最小二乘法:误差平方和最小 → 求偏导数 → 解析解
- 解析解公式: β ^ = ( Φ T Φ ) − 1 Φ T y \hat{\beta} = (\Phi^T \Phi)^{-1} \Phi^T y β^=(ΦTΦ)−1ΦTy
- 基函数:非线性变换 → 处理非线性关系 → 对参数仍线性
- 过拟合:训练好测试差 → 模型太复杂 → 参数太大
- 正则化:惩罚项限制参数 → L2(参数变小)vs L1(参数变0)
- L1 vs L2:L2(所有特征重要)vs L1(部分特征重要,特征选择)
- 参数选择:交叉验证选 λ \lambda λ → 平衡拟合和泛化
一、考试范围知识框架
[!NOTE]
📝 关键点总结:考试重点围绕线性回归模型、最小二乘法和正则化方法,需要理解线性关系假设、误差最小化原理、过拟合问题和正则化的作用机制。考查重点:
- 线性回归模型:基本模型形式、回归系数的含义、基函数的作用、非线性变换
- 最小二乘法:误差平方和最小化的思想、偏导数求解、解析解公式、优缺点分析
- 正则化方法:过拟合的原因和表现、L2正则化(Ridge)的特点、L1正则化(Lasso)的特点、L1和L2的区别、正则化系数 λ \lambda λ的选择
可能考查的问题:线性回归模型的形式和参数含义、最小二乘法的原理和解析解、基函数的作用、过拟合的原因、L1和L2正则化的区别、正则化系数的选择方法
考试范围
-
线性回归模型
-
最小二乘法
-
正则化方法(Lasso、Ridge)
二、线性回归模型
[!NOTE]
📝 关键点总结:线性回归是预测连续数值的方法,找到一条直线(或超平面)最好地拟合数据点,假设因变量与自变量之间是线性关系,可以使用基函数处理非线性关系。核心思想:
- 预测连续值:根据特征预测目标值(房价、成绩、销售额等)
- 线性关系假设: y i = β 0 + β 1 x i 1 + . . . + β D x i D = x i T β y_i = \beta_0 + \beta_1 x_{i1} + ... + \beta_D x_{iD} = x_i^T \beta yi=β0+β1xi1+...+βDxiD=xiTβ
- 参数含义: β 0 \beta_0 β0是截距(所有特征为0时的 y y y值), β 1 , . . . , β D \beta_1,...,\beta_D β1,...,βD是回归系数(每个特征对 y y y的影响程度)
基函数的作用:
- 问题:如果特征和目标的关系不是线性的怎么办?
- 解决方案:使用基函数对输入特征进行非线性变换,然后在这些变换后的特征上做线性回归
- 一般化模型: y i = ϕ ( x i ) T β y_i = \phi(x_i)^T \beta yi=ϕ(xi)Tβ( ϕ ( x i ) \phi(x_i) ϕ(xi)是基函数)
- 关键理解:虽然对原始特征 x x x是非线性的,但对变换后的特征 ϕ ( x ) \phi(x) ϕ(x)仍然是线性的(对参数 β \beta β是线性的)
- 常见基函数:多项式基函数( x j x^j xj)、高斯基函数( exp { − ( x − μ j ) 2 2 s 2 } \exp\{-\frac{(x-\mu_j)^2}{2s^2}\} exp{−2s2(x−μj)2})、S形基函数(sigmoid)
决策标准:特征和目标线性关系 → 直接使用线性回归;非线性关系 → 使用基函数进行非线性变换
2.1 什么是线性回归?
线性回归是一种预测连续数值的方法。简单来说,就是找到一条直线(或超平面),使得这条直线能够最好地拟合数据点。
生活例子:
-
根据房屋面积预测房价
-
根据学习时间预测考试成绩
-
根据广告投入预测销售额
2.2 基本模型
给定有 N N N 个样本的数据集 D = { ( y i , x i 1 , . . . , x i D ) } D = \{(y_i, x_{i1}, ..., x_{iD})\} D={(yi,xi1,...,xiD)},其中:
-
y i y_i yi 是因变量(我们要预测的值,如房价、成绩)
-
x i 1 , . . . , x i D x_{i1}, ..., x_{iD} xi1,...,xiD 是自变量(特征,如房屋面积、学习时间)
线性回归模型假设因变量 y i y_i yi 与自变量 x i x_i xi(由 { x i 1 , . . . , x i D } \{x_{i1}, ..., x_{iD}\} {xi1,...,xiD} 构成的 D D D 维向量)之间是线性关系:
y i = β 0 + β 1 x i 1 + β 2 x i 2 + . . . + β D x i D = x i T β y_i = \beta_0 + \beta_1 x_{i1} + \beta_2 x_{i2} + ... + \beta_D x_{iD} = x_i^T \beta yi=β0+β1xi1+β2xi2+...+βDxiD=xiTβ
其中:
-
β 0 \beta_0 β0 是截距(当所有特征为0时的 y y y 值)
-
β 1 , . . . , β D \beta_1, ..., \beta_D β1,...,βD 是回归系数(每个特征对 y y y 的影响程度)
-
β = [ β 0 , β 1 , . . . , β D ] T \beta = [\beta_0, \beta_1, ..., \beta_D]^T β=[β0,β1,...,βD]T 是参数向量
例子:预测房价
假设我们想根据房屋面积 x 1 x_1 x1 和房间数 x 2 x_2 x2 预测房价 y y y:
y = β 0 + β 1 ⋅ x 1 + β 2 ⋅ x 2 y = \beta_0 + \beta_1 \cdot x_1 + \beta_2 \cdot x_2 y=β0+β1⋅x1+β2⋅x2
-
β 0 = 50 \beta_0 = 50 β0=50:基础房价(即使面积为0,也有基础成本)
-
β 1 = 0.5 \beta_1 = 0.5 β1=0.5:每增加1平方米,房价增加0.5万元
-
β 2 = 10 \beta_2 = 10 β2=10:每增加1个房间,房价增加10万元
如果一套房子面积100平方米,3个房间:
y = 50 + 0.5 × 100 + 10 × 3 = 50 + 50 + 30 = 130 万元 y = 50 + 0.5 \times 100 + 10 \times 3 = 50 + 50 + 30 = 130 \text{万元} y=50+0.5×100+10×3=50+50+30=130万元
2.3 基函数:让线性回归处理非线性关系
问题:如果房价和面积的关系不是线性的呢?比如面积越大,每平方米的单价可能下降(非线性关系)。
解决方案:使用基函数(basis function)对输入特征进行非线性变换,然后在这些变换后的特征上做线性回归。
一般化模型:
y i = ϕ ( x i ) T β y_i = \phi(x_i)^T \beta yi=ϕ(xi)Tβ
其中 ϕ ( x i ) \phi(x_i) ϕ(xi) 是对输入特征 x i x_i xi 的变换函数(基函数)。
常见基函数:
-
多项式基函数: ϕ j ( x ) = x j \phi_j(x) = x^j ϕj(x)=xj
-
可以拟合曲线关系
-
例子: ϕ ( x ) = [ 1 , x , x 2 , x 3 ] T \phi(x) = [1, x, x^2, x^3]^T ϕ(x)=[1,x,x2,x3]T → y = β 0 + β 1 x + β 2 x 2 + β 3 x 3 y = \beta_0 + \beta_1 x + \beta_2 x^2 + \beta_3 x^3 y=β0+β1x+β2x2+β3x3
-
-
高斯基函数: ϕ j ( x ) = exp { − ( x − μ j ) 2 2 s 2 } \phi_j(x) = \exp\left\{-\frac{(x-\mu_j)^2}{2s^2}\right\} ϕj(x)=exp{−2s2(x−μj)2}
-
在特定位置 μ j \mu_j μj 附近有较大值
-
可以拟合局部特征
-
-
S形(sigmoid)基函数: ϕ j ( x ) = σ ( x − μ j s ) \phi_j(x) = \sigma\left(\frac{x-\mu_j}{s}\right) ϕj(x)=σ(sx−μj),其中 σ ( a ) = 1 1 + e − a \sigma(a) = \frac{1}{1+e^{-a}} σ(a)=1+e−a1
- S形曲线,可以拟合平滑的过渡
例子:用多项式拟合非线性关系
假设房价和面积的关系是曲线的:
-
原始特征: x x x(面积)
-
基函数: ϕ ( x ) = [ 1 , x , x 2 ] T \phi(x) = [1, x, x^2]^T ϕ(x)=[1,x,x2]T
-
模型: y = β 0 + β 1 x + β 2 x 2 y = \beta_0 + \beta_1 x + \beta_2 x^2 y=β0+β1x+β2x2
这样虽然对原始特征 x x x 是非线性的,但对变换后的特征 ϕ ( x ) \phi(x) ϕ(x) 仍然是线性的,所以仍然叫"线性回归"(对参数 β \beta β 是线性的)。
三、最小二乘法
[!NOTE]
📝 关键点总结:最小二乘法通过使得所有样本的误差平方和最小来找到最优参数,通过求偏导数得到参数的解析解,有理论保证全局最优但需要计算矩阵逆。核心思想:
- 目标:找到参数 β \beta β,使得模型预测值 y ^ i \hat{y}_i y^i和真实值 y i y_i yi尽可能接近
- 误差定义: e i = y i − f ( x i , β ) = y i − y ^ i e_i = y_i - f(x_i, \beta) = y_i - \hat{y}_i ei=yi−f(xi,β)=yi−y^i
- 最小二乘法:使得所有样本的误差平方和最小
- 目标函数: S = ∑ i = 1 N ( y i − f ( x i , β ) ) 2 S = \sum_{i=1}^{N} (y_i - f(x_i, \beta))^2 S=∑i=1N(yi−f(xi,β))2
为什么用平方?:
- 避免正负误差相互抵消
- 对大误差惩罚更重(平方放大)
- 数学上便于求导(平方函数可导)
求解方法:
- 方法:通过求偏导数并令其等于0: ∂ S ∂ β d = 0 \frac{\partial S}{\partial \beta_d} = 0 ∂βd∂S=0
- 解析解:对于线性回归模型,参数估计为 β ^ = ( Φ T Φ ) − 1 Φ T y \hat{\beta} = (\Phi^T \Phi)^{-1} \Phi^T y β^=(ΦTΦ)−1ΦTy
- 其中: Φ \Phi Φ是基函数矩阵(每行是一个样本的基函数值), y y y是目标值向量
优缺点:
- 优点:有解析解计算快速、不需要迭代一步到位、理论保证全局最优
- 缺点:需要计算矩阵的逆(当特征很多时计算量大)、对异常值敏感(因为用平方误差)
决策标准:特征数量适中 → 使用最小二乘法;特征很多 → 考虑正则化或迭代方法
3.1 如何找到最好的参数?
线性回归的目标是找到参数 β \beta β,使得模型预测值 y ^ i \hat{y}_i y^i 和真实值 y i y_i yi 尽可能接近。
误差定义:对于第 i i i 个样本,预测误差为:
e i = y i − f ( x i , β ) = y i − y ^ i e_i = y_i - f(x_i, \beta) = y_i - \hat{y}_i ei=yi−f(xi,β)=yi−y^i
3.2 最小二乘法
最小二乘法(Least Square Method)的核心思想:使得所有样本的误差平方和最小。
目标函数:
S = ∑ i = 1 N e i 2 = ∑ i = 1 N ( y i − f ( x i , β ) ) 2 S = \sum_{i=1}^{N} e_i^2 = \sum_{i=1}^{N} (y_i - f(x_i, \beta))^2 S=i=1∑Nei2=i=1∑N(yi−f(xi,β))2
为什么用平方?
-
避免正负误差相互抵消
-
对大误差惩罚更重(平方放大)
-
数学上便于求导(平方函数可导)
3.3 求解方法
通过求偏导数并令其等于0:
∂ S ∂ β d = 0 , d = 0 , 1 , … , D \frac{\partial S}{\partial \beta_d} = 0, \quad d = 0, 1, \ldots, D ∂βd∂S=0,d=0,1,…,D
可以得到参数的解析解(闭式解,不需要迭代)。
线性回归的解析解:
对于线性回归模型 f ( x i , β ) = ϕ ( x i ) T β f(x_i, \beta) = \phi(x_i)^T \beta f(xi,β)=ϕ(xi)Tβ,参数估计为:
β ^ = ( Φ T Φ ) − 1 Φ T y \hat{\beta} = (\Phi^T \Phi)^{-1} \Phi^T y β^=(ΦTΦ)−1ΦTy
其中:
-
Φ \Phi Φ 是基函数矩阵(每行是一个样本的基函数值)
-
y y y 是目标值向量
例子:简单线性回归
假设只有一个特征 x x x,模型为 y = β 0 + β 1 x y = \beta_0 + \beta_1 x y=β0+β1x:
给定数据点: ( 1 , 2 ) , ( 2 , 3 ) , ( 3 , 5 ) (1, 2), (2, 3), (3, 5) (1,2),(2,3),(3,5)
通过最小二乘法可以计算出: β 0 = 0.5 \beta_0 = 0.5 β0=0.5, β 1 = 1.5 \beta_1 = 1.5 β1=1.5。所以拟合的直线是: y = 0.5 + 1.5 x y = 0.5 + 1.5x y=0.5+1.5x
3.4 最小二乘法的优缺点
优点:
-
有解析解,计算快速
-
不需要迭代,一步到位
-
理论保证全局最优
缺点:
-
需要计算矩阵的逆,当特征很多时计算量大
-
对异常值敏感(因为用平方误差)
四、正则化方法
[!NOTE]
📝 关键点总结:正则化通过在目标函数中加入惩罚项限制参数大小来防止过拟合,L2正则化(Ridge)让所有参数变小但不为0,L1正则化(Lasso)可以让某些参数变成0实现特征选择。过拟合问题:
- 定义:模型在训练数据上表现很好但在新数据上表现很差
- 形象比喻:就像学生死记硬背了所有练习题,但遇到新题目就不会做了
- 原因:数据量太少、模型太复杂(参数太多)、回归系数过大导致曲线波动剧烈
- 例子:用10次多项式完美拟合训练数据,但预测新数据很差
正则化的核心思想:
- 目标:不仅要让预测误差小,还要让参数不要太大
- 方法:在目标函数中加入惩罚项限制参数大小
- 目标函数: S ′ = ∑ i = 1 N ( y i − f ( x i , β ) ) 2 + λ ⋅ 惩罚项 S' = \sum_{i=1}^{N} (y_i - f(x_i, \beta))^2 + \lambda \cdot \text{惩罚项} S′=∑i=1N(yi−f(xi,β))2+λ⋅惩罚项
- 其中:第一项是误差平方和(拟合数据),第二项是惩罚项(限制参数), λ \lambda λ是正则化系数(控制惩罚的强度)
L2正则化(Ridge回归):
- 惩罚项:参数的平方和(L2范数的平方): ∣ ∣ β ∣ ∣ 2 2 = β 0 2 + β 1 2 + . . . + β D 2 ||\beta||_2^2 = \beta_0^2 + \beta_1^2 + ... + \beta_D^2 ∣∣β∣∣22=β02+β12+...+βD2
- 特点:让所有参数都变小,但不会变成0;对异常值敏感(因为用平方);解稳定且唯一;适用于特征很多但都重要的情况
L1正则化(Lasso回归):
- 惩罚项:参数的绝对值之和(L1范数): ∣ ∣ β ∣ ∣ 1 = ∣ β 0 ∣ + ∣ β 1 ∣ + . . . + ∣ β D ∣ ||\beta||_1 = |\beta_0| + |\beta_1| + ... + |\beta_D| ∣∣β∣∣1=∣β0∣+∣β1∣+...+∣βD∣
- 特点:可以让某些参数变成0(稀疏解);有助于特征选择(自动去除不重要的特征);对异常值更鲁棒(因为用绝对值);适用于特征很多但只有部分重要的情况
L1 vs L2对比:
特性 L2正则化(Ridge) L1正则化(Lasso) 参数是否可以为0 否(接近0但不为0) 是(可以精确为0) 特征选择 否 是(自动选择) 对异常值 敏感 鲁棒 适用场景 所有特征都重要 只有部分特征重要 正则化系数 λ \lambda λ的选择:
- λ = 0 \lambda = 0 λ=0:没有正则化,可能过拟合
- λ \lambda λ很小:轻微正则化,参数稍微变小
- λ \lambda λ适中:平衡拟合和泛化
- λ \lambda λ很大:过度正则化,参数都接近0,可能欠拟合
- 选择方法:通常使用交叉验证(Cross-Validation)来选择最优的 λ \lambda λ值
决策标准:所有特征都重要 → 使用L2正则化;只有部分特征重要 → 使用L1正则化(特征选择);使用交叉验证选择最优 λ \lambda λ
4.1 什么是过拟合?
**过拟合(Overfitting)**是指模型在训练数据上表现很好,但在新数据上表现很差的现象。
形象比喻:就像学生死记硬背了所有练习题,但遇到新题目就不会做了。
过拟合的原因:
-
数据量太少
-
模型太复杂(参数太多)
-
回归系数过大,导致曲线波动剧烈
例子:
假设我们用多项式拟合房价数据:
-
欠拟合:用一次函数(直线)→ 太简单,拟合不好
-
合适拟合:用二次函数(抛物线)→ 刚好
-
过拟合:用10次多项式 → 曲线剧烈波动,完美拟合训练数据,但预测新数据很差
4.2 正则化:防止过拟合
正则化(Regularization)通过在目标函数中加入惩罚项,限制参数的大小,从而防止过拟合。
核心思想:不仅要让预测误差小,还要让参数不要太大。
正则化的目标函数:
S ′ = ∑ i = 1 N ( y i − f ( x i , β ) ) 2 + λ ⋅ 惩罚项 S' = \sum_{i=1}^{N} (y_i - f(x_i, \beta))^2 + \lambda \cdot \text{惩罚项} S′=i=1∑N(yi−f(xi,β))2+λ⋅惩罚项
其中:
-
第一项是误差平方和(拟合数据)
-
第二项是惩罚项(限制参数)
-
λ \lambda λ 是正则化系数(控制惩罚的强度)
4.3 L2正则化(Ridge回归)
惩罚项:参数的平方和(L2范数的平方)
S ′ = ∑ i = 1 N ( y i − f ( x i , β ) ) 2 + λ ∣ ∣ β ∣ ∣ 2 2 S' = \sum_{i=1}^{N} (y_i - f(x_i, \beta))^2 + \lambda ||\beta||_2^2 S′=i=1∑N(yi−f(xi,β))2+λ∣∣β∣∣22
其中 ∣ ∣ β ∣ ∣ 2 2 = β 0 2 + β 1 2 + . . . + β D 2 = β T β ||\beta||_2^2 = \beta_0^2 + \beta_1^2 + ... + \beta_D^2 = \beta^T \beta ∣∣β∣∣22=β02+β12+...+βD2=βTβ
特点:
-
让所有参数都变小,但不会变成0
-
对异常值敏感(因为用平方)
-
解稳定且唯一
-
适用于特征很多但都重要的情况
例子:
假设 λ = 0.1 \lambda = 0.1 λ=0.1,模型有两个参数 β 1 \beta_1 β1 和 β 2 \beta_2 β2:
-
没有正则化: β 1 = 100 , β 2 = 50 \beta_1 = 100, \beta_2 = 50 β1=100,β2=50
-
L2正则化: β 1 = 10 , β 2 = 5 \beta_1 = 10, \beta_2 = 5 β1=10,β2=5(都变小了,但都不为0)
4.4 L1正则化(Lasso回归)
惩罚项:参数的绝对值之和(L1范数)
S ′ = ∑ i = 1 N ( y i − f ( x i , β ) ) 2 + λ ∣ ∣ β ∣ ∣ 1 S' = \sum_{i=1}^{N} (y_i - f(x_i, \beta))^2 + \lambda ||\beta||_1 S′=i=1∑N(yi−f(xi,β))2+λ∣∣β∣∣1
其中 ∣ ∣ β ∣ ∣ 1 = ∣ β 0 ∣ + ∣ β 1 ∣ + . . . + ∣ β D ∣ = ∑ j ∣ β j ∣ ||\beta||_1 = |\beta_0| + |\beta_1| + ... + |\beta_D| = \sum_{j} |\beta_j| ∣∣β∣∣1=∣β0∣+∣β1∣+...+∣βD∣=∑j∣βj∣
特点:
-
可以让某些参数变成0(稀疏解)
-
有助于特征选择(自动去除不重要的特征)
-
对异常值更鲁棒(因为用绝对值)
-
适用于特征很多但只有部分重要的情况
例子:
假设有100个特征,但只有10个真正重要:L1正则化可以自动将90个不重要特征的系数变成0,相当于自动做了特征选择。
4.5 L1 vs L2 对比
| 特性 | L2正则化(Ridge) | L1正则化(Lasso) |
|---|---|---|
| 参数是否可以为0 | 否(接近0但不为0) | 是(可以精确为0) |
| 特征选择 | 否 | 是(自动选择) |
| 对异常值 | 敏感 | 鲁棒 |
| 适用场景 | 所有特征都重要 | 只有部分特征重要 |
4.6 如何选择正则化系数λ?
λ \lambda λ 控制正则化的强度:
-
λ = 0 \lambda = 0 λ=0:没有正则化,可能过拟合
-
λ \lambda λ 很小:轻微正则化,参数稍微变小
-
λ \lambda λ 适中:平衡拟合和泛化
-
λ \lambda λ 很大:过度正则化,参数都接近0,可能欠拟合
选择方法:通常使用交叉验证(Cross-Validation)来选择最优的 λ \lambda λ 值。
实际应用建议:
-
如果特征很多,想自动选择重要特征 → 使用L1正则化(Lasso)
-
如果所有特征都重要,只想防止过拟合 → 使用L2正则化(Ridge)
-
也可以同时使用L1和L2(Elastic Net)
296

被折叠的 条评论
为什么被折叠?



