跳转至

1 数据拟合与最小二乘

1.1 问题简介

插值要求构造函数 \(\varphi(x)\) 精确通过所有数据点;数据拟合则允许存在残差,用较简单的函数族描述数据的主要趋势。

给定数据点 \((x_i,y_i),\ i=1,2,\cdots,n\),在函数空间 \(H\) 中寻找 \(\varphi(x)\in H\),使残差

\[ \delta_i = y_i-\varphi(x_i) \]

在某种意义下最小。最常用的准则是 最小二乘法

\[ \sum_{i=1}^n \delta_i^2 = \sum_{i=1}^n [y_i-\varphi(x_i)]^2 \]

取最小。

拟合与插值的区别

  • 插值:通常要求 \(\varphi(x_i)=y_i\),更关注点值精确再现。
  • 拟合:允许误差,关注整体趋势、噪声抑制和低维表示。

1.2 多项式最小二乘拟合

设拟合函数为 \(m\) 次多项式:

\[ P_m(x)=a_0+a_1x+\cdots+a_mx^m,\qquad m<n-1 \]

目标函数为

\[ F(a_0,a_1,\cdots,a_m) =\sum_{i=1}^n \left(y_i-\sum_{k=0}^m a_kx_i^k\right)^2 \]

\(\dfrac{\partial F}{\partial a_j}=0,\ j=0,1,\cdots,m\),得到正规方程:

\[ \sum_{k=0}^m a_k\sum_{i=1}^n x_i^{j+k} =\sum_{i=1}^n y_ix_i^j,\qquad j=0,1,\cdots,m \]

矩阵形式为

\[ A^TAa=A^Tb \]

其中

\[ A= \begin{bmatrix} 1 & x_1 & \cdots & x_1^m\\ 1 & x_2 & \cdots & x_2^m\\ \vdots & \vdots & & \vdots\\ 1 & x_n & \cdots & x_n^m \end{bmatrix},\quad a= \begin{bmatrix}a_0\\a_1\\ \vdots\\a_m\end{bmatrix},\quad b= \begin{bmatrix}y_1\\y_2\\ \vdots\\y_n\end{bmatrix} \]

病态性

使用幂基 \(1,x,x^2,\cdots,x^m\) 时,\(A^TA\) 往往随阶数升高迅速变得病态。实际计算中更常使用正交基、QR 分解或 SVD 来提升数值稳定性。

1.3 一次最小二乘拟合

\(y=a_0+a_1x\),则正规方程为

\[ \begin{cases} na_0+\left(\sum x_i\right)a_1=\sum y_i\\ \left(\sum x_i\right)a_0+\left(\sum x_i^2\right)a_1=\sum x_iy_i \end{cases} \]

由此可得

\[ a_1=\frac{n\sum x_iy_i-\left(\sum x_i\right)\left(\sum y_i\right)} {n\sum x_i^2-\left(\sum x_i\right)^2}, \qquad a_0=\frac1n\sum_{i=1}^n y_i-\frac{a_1}{n}\sum_{i=1}^n x_i \]
例 1.1:一次最小二乘拟合

对数据

\[ \begin{array}{c|ccccc} x_i&1&2&3&4&5\\ \hline y_i&0.6&2.4&3.5&4.8&5.7 \end{array} \]

\[ \sum x_i=15,\quad \sum y_i=17.0,\quad \sum x_i^2=55,\quad \sum x_iy_i=63.6 \]

因而

\[ a_1=\frac{5\times63.6-15\times17}{5\times55-15^2}=1.26,\qquad a_0=\frac{17}{5}-\frac{1.26\times15}{5}=-0.38 \]

最佳拟合直线为

\[ y=-0.38+1.26x \]

2 可线性化的非线性拟合

2.1 指数拟合

若拟合函数为

\[ y=be^{ax} \]

\(y>0\),两边取对数:

\[ \ln y=ax+\ln b \]

\(Y=\ln y,\ B=\ln b\),问题退化为线性拟合

\[ Y=ax+B \]

求出 \(a,B\) 后,\(b=e^B\)

2.2 分式线性拟合

若拟合函数为

\[ y=\frac{1}{ax+b} \]

则可令 \(Y=\dfrac1y\),得到

\[ Y=ax+b \]

若拟合函数为

\[ y=\frac{x}{ax+b} \]

则有

\[ \frac{x}{y}=ax+b \]

因此也可化为一次最小二乘问题。

线性化的代价

变量变换会改变误差结构。例如对 \(y=be^{ax}\) 取对数后,最小化的是 \(\ln y\) 的误差,而不是原变量 \(y\) 的误差。若噪声模型不匹配,拟合结果可能偏离原始最小二乘意义下的最优解。


3 一般加权最小二乘

3.1 基函数表示

设函数族由线性无关的基函数 \(\varphi_0(x),\varphi_1(x),\cdots,\varphi_m(x)\) 张成:

\[ \varphi(x)=a_0\varphi_0(x)+a_1\varphi_1(x)+\cdots+a_m\varphi_m(x) \]

给定权系数 \(\omega_i>0\),加权最小二乘问题为

\[ \min_{a_0,\cdots,a_m} \sum_{i=1}^n \omega_i\left[ y_i-\sum_{k=0}^m a_k\varphi_k(x_i) \right]^2 \]

令偏导为零,可得

\[ \sum_{k=0}^m a_k\sum_{i=1}^n \omega_i\varphi_k(x_i)\varphi_j(x_i) = \sum_{i=1}^n \omega_i y_i\varphi_j(x_i), \qquad j=0,1,\cdots,m \]

\[ A_{jk}=\sum_{i=1}^n \omega_i\varphi_k(x_i)\varphi_j(x_i),\qquad b_j=\sum_{i=1}^n \omega_i y_i\varphi_j(x_i) \]

则正规方程仍写作

\[ Aa=b \]

3.2 离散正交函数系

若基函数满足离散正交条件:

\[ \sum_{i=1}^n\omega_i\varphi_k(x_i)\varphi_j(x_i)=0,\qquad k\neq j \]

则系数矩阵 \(A\) 为对角矩阵,系数可直接求得:

\[ a_k= \frac{\sum_{i=1}^n\omega_i y_i\varphi_k(x_i)} {\sum_{i=1}^n\omega_i\varphi_k^2(x_i)} \]

这就是正交基在函数逼近中的核心优势:它把“解线性方程组”变成了“逐项投影”。


4 连续函数的最佳平方逼近

4.1 定义

\(f(x)\)\([a,b]\) 上连续,\(H=\operatorname{span}\{\varphi_0,\varphi_1,\cdots,\varphi_m\}\)。若

\[ \phi(x)=\sum_{k=0}^m a_k\varphi_k(x) \]

使

\[ \int_a^b \omega(x)[f(x)-\phi(x)]^2\,dx =\min_{\psi\in H}\int_a^b \omega(x)[f(x)-\psi(x)]^2\,dx \]

则称 \(\phi(x)\)\(f(x)\)\(H\) 中关于权函数 \(\omega(x)\)最佳平方逼近函数

定义内积

\[ (u,v)=\int_a^b \omega(x)u(x)v(x)\,dx \]

则最佳平方逼近的正规方程为

\[ \sum_{k=0}^m a_k(\varphi_k,\varphi_j)=(f,\varphi_j), \qquad j=0,1,\cdots,m \]

定理 4.1(正交投影条件)

\(\phi(x)\in H\)\(f(x)\)\(H\) 上的最佳平方逼近函数的充要条件为:

\[ (f-\phi,\varphi_j)=0,\qquad j=0,1,\cdots,m \]

即误差 \(f-\phi\) 与逼近空间 \(H\) 中每个基函数正交。

4.2 正交基下的系数

\(\{\varphi_k\}\) 关于内积 \((\cdot,\cdot)\) 正交,则

\[ (\varphi_i,\varphi_j)=0,\qquad i\neq j \]

于是

\[ a_k=\frac{(f,\varphi_k)}{(\varphi_k,\varphi_k)} \]
例 4.1:\(e^x\) 的最佳平方逼近

\(f(x)=e^x\)\([-1,1]\) 上的一次与二次最佳平方逼近多项式。计算可得:

\[ \phi_1(x)=1.1752+1.1037x \]
\[ \phi_2(x)=0.9963+1.1037x+0.5368x^2 \]

二次项显著改善了对 \(e^x\) 弯曲程度的刻画。


5 正交多项式

5.1 正交函数系

定义 5.1(正交函数系)

若函数系 \(\varphi_0,\varphi_1,\cdots\) 满足

\[ \int_a^b \omega(x)\varphi_j(x)\varphi_k(x)\,dx = \begin{cases} 0,&j\neq k\\ \alpha_k>0,&j=k \end{cases} \]

则称其为区间 \([a,b]\) 上关于权函数 \(\omega(x)\) 的正交函数系。若 \(\alpha_k=1\),称为标准正交函数系。

若每个 \(\varphi_k(x)\) 都是 \(k\) 次多项式,则称为 正交多项式系

定理 5.1

正交函数系中的任意有限个函数线性无关。

定理 5.2(正交多项式判别)

\(\varphi_k(x)\) 是最高次项系数不为零的 \(k\) 次多项式。\(\{\varphi_k\}\) 为正交多项式系的充要条件是:对任意次数不超过 \(k-1\) 的多项式 \(Q_{k-1}(x)\),都有

\[ \int_a^b\omega(x)\varphi_k(x)Q_{k-1}(x)\,dx=0 \]

5.2 三项递推构造

正交多项式可以用三项递推构造:

\[ \varphi_0(x)=1,\qquad \varphi_1(x)=x-\alpha_1 \]
\[ \varphi_k(x)=(x-\alpha_k)\varphi_{k-1}(x)-\beta_k\varphi_{k-2}(x), \qquad k=2,3,\cdots,m \]

其中

\[ \alpha_k=\frac{(x\varphi_{k-1},\varphi_{k-1})}{(\varphi_{k-1},\varphi_{k-1})},\qquad \beta_k=\frac{(\varphi_{k-1},\varphi_{k-1})}{(\varphi_{k-2},\varphi_{k-2})} \]

5.3 常见正交多项式

Legendre 多项式

定义在 \([-1,1]\),权函数 \(\omega(x)=1\)

\[ P_n(x)=\frac{1}{2^n n!}\frac{d^n}{dx^n}(x^2-1)^n \]

正交性为

\[ \int_{-1}^1P_n(x)P_m(x)\,dx= \begin{cases} 0,&m\neq n\\ \dfrac{2}{2n+1},&m=n \end{cases} \]

递推关系:

\[ P_{n+1}(x)=\frac{2n+1}{n+1}xP_n(x)-\frac{n}{n+1}P_{n-1}(x) \]

Chebyshev 多项式

定义为

\[ T_n(x)=\cos(n\arccos x) \]

\([-1,1]\) 上关于权函数 \(\omega(x)=\dfrac{1}{\sqrt{1-x^2}}\) 正交。递推关系为

\[ T_{n+1}(x)=2xT_n(x)-T_{n-1}(x),\qquad T_0(x)=1,\ T_1(x)=x \]

Laguerre 多项式

定义在 \([0,\infty)\),权函数 \(\omega(x)=e^{-x}\),常用递推形式为

\[ L_{n+1}(x)=(1+2n-x)L_n(x)-n^2L_{n-1}(x) \]

其中 \(L_0(x)=1,\ L_1(x)=1-x\)

Hermite 多项式

定义在 \((-\infty,\infty)\),权函数 \(\omega(x)=e^{-x^2}\)

\[ H_n(x)=(-1)^ne^{x^2}\frac{d^n}{dx^n}e^{-x^2} \]

递推关系为

\[ H_{n+1}(x)=2xH_n(x)-2nH_{n-1}(x) \]

6 Chebyshev 节点与插值误差

插值误差可写为

\[ R_n(x)=\frac{f^{(n+1)}(\xi)}{(n+1)!}\omega_{n+1}(x) \]

若希望在 \([a,b]\) 上减小最大误差,就要尽量减小

\[ \max_{x\in[a,b]}|\omega_{n+1}(x)| \]

Chebyshev 多项式的零点在 \([-1,1]\) 上为

\[ \tilde{x}_k=\cos\frac{(2k+1)\pi}{2(n+1)},\qquad k=0,1,\cdots,n \]

映射到 \([a,b]\) 后:

\[ x_k=\frac{b-a}{2}\tilde{x}_k+\frac{a+b}{2} \]

使用这些节点进行插值,可以显著降低端点附近的振荡,并减小最坏情形误差。


7 Padé 有理逼近

多项式逼近在远离展开点时可能收敛慢,Padé 逼近用有理函数

\[ r(x)=\frac{p(x)}{q(x)} =\frac{p_0+p_1x+\cdots+p_nx^n} {1+q_1x+\cdots+q_mx^m} \]

逼近函数 \(f(x)\)。设 \(N=n+m\),要求

\[ r^{(k)}(0)=f^{(k)}(0),\qquad k=0,1,\cdots,N \]

也就是让 \(r(x)\) 的 Taylor 展开在 \(0\) 点与 \(f(x)\) 的 Taylor 展开前 \(N+1\) 项一致。

\[ f(x)=\sum_{i=0}^{\infty}a_ix^i \]

则由

\[ f(x)q(x)-p(x)=O(x^{N+1}) \]

可建立关于 \(q_1,\cdots,q_m,p_0,\cdots,p_n\) 的线性方程组。

为什么用有理逼近

有理函数可以通过分母表达极点或快速变化结构,因此在处理 \(\tan x\)\(\log x\)、指数函数、误差函数等问题时,经常比同阶多项式更高效。


8 非线性数据拟合视角

8.1 神经网络拟合

神经网络可以看作由仿射变换与非线性激活函数复合而成的函数族。例如单个神经元可写作

\[ a_j^{(\ell)}=\sigma\left(\sum_i w_{ij}^{(\ell)}a_i^{(\ell-1)}+b_j^{(\ell)}\right) \]

其中 \(\sigma\) 可以取 Sigmoid、ReLU 等非线性函数。若没有非线性激活,多层线性网络仍等价于一个线性映射,因此非线性激活是提升表达能力的关键。

训练神经网络本质上仍是拟合问题:给定数据 \((x_s,y_s)\),调整参数 \(w,b\),最小化损失函数

\[ \sum_s \|y_s-f(x_s;w,b)\|^2 \]

或其他任务相关损失。

8.2 超越最小二乘与稀疏识别

对于模型

\[ y(x)=\sum_{p=1}^m a_p e^{\lambda_p x} \]

\(a_p,\lambda_p\) 都未知,则问题不再是线性最小二乘。可以通过 Prony 类方法先构造关于 \(\mu_p=e^{\lambda_p h}\) 的代数方程,再求 \(a_p\)

在动力系统识别中,SINDy(Sparse Identification of Nonlinear Dynamics)假设

\[ y'=\Theta(y)\xi \]

其中 \(\Theta(y)=[1,y,y^2,y^3,\cdots]\) 是候选函数库,\(\xi\) 为待定系数。为得到简洁模型,可以引入 LASSO:

\[ \xi=\operatorname*{arg\,min}_{\xi}\|y'-\Theta\xi\|_2^2+\lambda\|\xi\|_1 \]

第一项控制拟合误差,第二项鼓励稀疏性。