拟合与逼近的区别 (Fitting vs Approximation)
拟合(fitting)与逼近(approximation)是数值分析中两个密切相关、却常被混用的概念。它们共享同一个数学内核,但在研究对象、误差来源、对数据的态度上存在本质区别。
区别
研究对象不同:
- 拟合的输入是离散数据点$(x_i, y_i)$:一组测量值。背后可能有一个未知的真函数,但我们只能观察到离散样本,且样本带噪声。
- 逼近的输入是一个已知函数$f(x)$:它是精确的数学对象(如 $eˣ$、$sin x$、微分方程的解)。目标是找一个容易计算的替代品 $g(x)$。
误差来源不同
- 拟合中,数据本身带噪声:$y_i = f(x_i) + 噪声$。误差 = 噪声 + 模型偏差,两者混在一起,无法分开。
- 逼近中没有噪声:$f$ 是精确的,误差 = 纯粹的模型偏差 $| f-g |$,可以精确度量。
对“穿过每个点”的态度相反
- 拟合严禁穿过每个点——那就是过拟合,记住的是噪声而非规律。
- 逼近可以要求穿过指定点(插值),但那只是逼近的一种特殊形式;且龙格现象(Runge phenomenon)证明插值不一定是好逼近。
评价方式不同
- 拟合看泛化能力:对新数据(未参与拟合的点)预测是否准确,用交叉验证衡量。
- 逼近看逼近误差:对目标函数的偏差,直接计算 max|f − g| 或 ∫(f − g)²dx,没有“新数据”概念——因为 f 本身就是完整已知的。
共同点
同一个数学框架:函数空间中的投影
给定一个假设空间 $V$(多项式、样条等),找 $g \in V$ 使按某种度量离目标最近:$min ‖目标 − g‖$。拟合的目标是点集,逼近的目标是函数,数学操作完全相同。
同一把尺子:范数/损失函数的选择
L2(整体偏差)、L∞(最大偏差)、L1(鲁棒)——两者用同一套度量,选法影响结果的方式也相同。
同一批工具
最小二乘、样条、切比雪夫多项式、正则化——没有哪个工具只属于拟合或只属于逼近。
同一个权衡:复杂度的双刃剑
拟合中模型太复杂 → 过拟合(方差大);逼近中次数太高 → 龙格振荡。数学上同构:自由度越多,对已知点越忠诚,对未知区域越失控。
同一个隐藏目标:可计算性
两者找的 g 都必须容易计算。逼近 sin x 是为了让计算机能算它;拟合数据是为了用 g 预测或压缩信息。g 太复杂,两者都失去意义。
统一视角
拟合和逼近是同一个操作的两端:把“已知信息”投影到“简单函数空间”。
- 已知信息是有限个带噪声的点 → 拟合
- 已知信息是一个完整函数 → 逼近
- 已知信息是一个微分方程(隐式定义的函数)→ 数值解(如有限元),本质仍是逼近
区别只在目标对象长什么样、有没有噪声,内核始终是那个投影问题。这也解释了实际工作中两者经常混用:工程师拿到离散测量数据(拟合问题),常假设背后是某类函数,再用逼近理论分析误差上界——拟合的实践,逼近的理论。