1. 概述
本文将简要介绍曲线拟合(Curve Fitting)的基本概念。我们会讲解曲线拟合的常见分类,并重点介绍最小二乘法(Least Squares Method)这一经典算法。最后,我们还会通过一个详细的示例来说明如何使用最小二乘法进行线性拟合。
2. 基本概念
假设我们有一组测量得到的数据点。✅曲线拟合的核心任务是:在解析形式下找到一个数学函数,使其尽可能贴近这些数据点。
那么,我们为什么需要曲线拟合呢?它在很多场景中都非常有用:
- 描述数据的整体趋势
- 滤除数据中的噪声
- 从学习曲线中提取关键参数
- 描述两个或多个变量之间的关系
3. 曲线拟合的主要分类
曲线拟合主要分为两大类,区别在于我们如何处理观测到的数据点:
3.1. 最佳拟合(Best Fit)
在这种情况下,我们假设数据点中存在噪声,因此不希望拟合一条穿过每一个点的曲线。而是希望找到一条能最小化某种误差标准的曲线。
最常见的最佳拟合方法是线性回归(Linear Regression),其拟合曲线是一条直线:
$$ y = ax + b $$
其中 $ a $ 是斜率,$ b $ 是截距。给定一组样本点:
$$ (x_1, y_1), (x_2, y_2), ..., (x_n, y_n) $$
我们的目标是找到 $ a $ 和 $ b $ 的值,使得误差平方和最小。
更一般地,多项式回归(Polynomial Regression)是指我们希望将数据拟合成一个特定阶数 $ d $ 的多项式:
- 一次多项式(线性):$ y = ax + b $
- 二次多项式(抛物线):$ y = ax^2 + bx + c $
- 三次多项式:$ y = ax^3 + bx^2 + cx + d $
在这些函数中,参数个数为 $ d+1 $。
下图展示了使用不同函数进行曲线拟合的效果对比:
此外,我们还可以使用其他类型的函数进行拟合,例如:
- 三角函数
- 高斯函数
- Sigmoid 函数
3.2. 精确拟合(Exact Fit)
在这种情况下,我们假设数据点是无噪声的,因此我们希望拟合出一条穿过每一个点的曲线。
精确拟合在以下场景中非常有用:
- 构造有限差分近似
- 寻找函数的极值或零点
下图展示了一个使用多项式插值进行精确拟合的例子:
4. 最小二乘法(Least Squares)
在众多曲线拟合算法中,最小二乘法是最经典、应用最广泛的方法之一。它的核心思想是:使拟合曲线与观测数据之间的残差平方和最小。
残差(Residual)指的是观测值与拟合函数预测值之间的差异。最小二乘法适用于线性和非线性关系。
在最简单的线性情形下(即 $ d = 1 $),我们拟合的函数为:
$$ y = ax + b $$
我们的目标是找出参数 $ a $ 和 $ b $,使得以下误差函数最小化:
$$ T = \sum_i (y_i - (b + ax_i))^2 $$
为了最小化这个误差函数,我们需要满足以下两个偏导数条件:
$$ \frac{\partial T}{\partial a} = 0 \Rightarrow \sum_i x_i y_i = b \sum_i x_i + a \sum_i x_i^2 $$
$$ \frac{\partial T}{\partial b} = 0 \Rightarrow \sum_i y_i = nb + a \sum_i x_i $$
这两个方程构成一个线性方程组,解出 $ a $ 和 $ b $ 即可完成拟合。
对于非线性最小二乘问题,一个非常著名的算法是高斯-牛顿法(Gauss-Newton Algorithm)。虽然理论上不能保证收敛,但在实践中表现良好,且实现相对简单。
5. 示例:线性拟合
我们来看一个使用最小二乘法进行直线拟合的示例。假设我们有如下数据点:
$$ (1, 3), (2, 4), (3, 5), (4, 6), (5, 8) $$
下图是这些数据点的散点图:
我们要拟合的函数是:
$$ y = ax + b $$
将数据代入前面推导出的两个方程中,可以得到:
- $ 26 = 5b + 15a $
- $ 90 = 15b + 55a $
解这个方程组,我们得到:
- $ a = 1.2 $
- $ b = 1.6 $
因此,拟合出的直线函数为:
$$ y = 1.2x + 1.6 $$
下图展示了拟合结果:
图中红色线表示拟合出的曲线,蓝色点是原始数据。✅可以看到,这条直线与所有数据点的距离之和最小,符合最小二乘法的目标。
6. 总结
本文介绍了曲线拟合的基本概念、主要分类以及最小二乘法的原理和应用。我们通过一个具体的线性拟合示例展示了如何使用该方法进行实际计算。
曲线拟合是数据分析、建模、机器学习等领域的重要工具。掌握其核心思想和典型算法,有助于我们更好地理解和处理现实世界中的数据问题。