AI技术科普教程

发表于 2025-08-10 06:28:20 | 总阅读数:131 次

什么是拟合与过拟合?

fitting_curve
(图片来自 arockialiborious.com)

拟合(Fitting)是机器学习中让数学模型贴合观测数据的过程。就像根据身材定制衣服,好的拟合需要平衡贴合度(Goodness of Fit)泛化能力(Generalization)

  • 贴合度:模型对训练数据的解释能力(如衣服的合身程度)
  • 泛化能力:模型对新数据的预测能力(如衣服对不同体型的适应性)
  • 平衡艺术:完美贴合训练数据 ≈ 100%定制服装,但可能无法适应新体型

拟合的本质

  • 数学定义:寻找函数 $f(x)$ 使得 $f(x_i) \approx y_i$($i=1,...,n$)
  • 核心矛盾:模型容量与数据复杂度
  • 关键指标:训练误差(Training Error) vs 测试误差(Test Error) vs 验证误差(Validation Error)

欠拟合:当模型不够聪明

欠拟合(Underfitting)是模型无法捕捉数据基本模式的现象:

  • 典型特征:训练误差和测试误差都较高
  • 危险信号:模型忽略明显的数据趋势
  • 经典案例:用线性模型拟合正弦波数据

过拟合:当聪明反被聪明误

过拟合(Overfitting)是模型完美记忆训练数据却失去泛化能力的现象:

  • 典型特征:训练误差趋近于0,测试误差突然上升
  • 危险信号:模型开始拟合噪声和异常值
  • 经典案例:用10次多项式拟合10个数据点

拟合程度对比表

特征欠拟合适度拟合过拟合
模型复杂度过低匹配数据复杂度过高
训练误差趋近于0
测试误差突然升高
数据利用效率浪费信息有效提取模式记忆噪声
典型解决方法增加模型复杂度——正则化/早停/数据增强

数学视角

1. 优化目标

给定数据集 $(X,y)$,拟合过程可表示为: $$\min_{\theta} \frac{1}{n}\sum_^n L(f_\theta(x_i), y_i) + \lambda R(\theta)$$ 其中:

  • $L$ 为损失函数(如MSE/交叉熵)
  • $R(\theta)$ 为正则化项(L1/L2正则)
  • $\lambda$ 为正则化系数

2. 偏差-方差权衡

泛化误差可分解为: $$\mathbb{E}(y-\hat{f})^2 = \underbrace{(\mathbb{E}\hat{f} - f)^2}{\text{Bias}^2} + \underbrace{\mathbb{E}(\hat{f}-\mathbb{E}\hat{f})^2}{\text{Variance}} + \sigma^2$$

  • 高偏差:模型过于简单(欠拟合)
  • 高方差:模型过于复杂(过拟合)
  • 黄金平衡:通过调整模型复杂度找到最小总误差点

过拟合发生时,模型满足: $$\mathbb{E}L_ \ll \mathbb{E}L_$$ 即训练误差显著小于测试误差。

Refs