神经网络的非线性数据拟合
数学基础
定义(前馈神经网络 FFNN):
前馈神经网络是采用函数 f(x;θ) 近似目标函数 f∗ 的深度学习模型,其中 θ 为可学习参数。
信息从输入 x 单向传递至输出 y,无反馈机制。
网络中定义两类基本函数:
- 仿射函数(affine function):z=Wa+b
- 非线性激活函数(activation function):σ(z),如 Sigmoid 函数
σ(z)=1+exp{−z}1,σ′(z)=σ(z)(1−σ(z))
随着层数与神经元数量增加,网络形成复合函数形式的拟合函数。
计算公式
对于拟合问题,定义残差函数为最小二乘形式:
L({wjkl,bjl})≡s=1∑N[ys−f(xs;{wjkl,bjl})]2
其中 N 为样本数,{wjkl,bjl} 为第 l 层第 j 个神经元与第 l−1 层第 k 个神经元之间的权重及偏置。
训练目标即通过大量数据 (xs,ys) 对参数进行校正,使残差最小。
注:
通用逼近定理(Universal Approximation Theorem)证明了神经网络的这种多层复合具备逼近任意连续函数的能力。
复杂度分析
| 指标 | 结果 | 说明 |
|---|
| 前向传播 | O(∑lnlnl−1) | nl 为第 l 层神经元数 |
| 参数规模 | O(∑lnlnl−1+nl) | 权重 + 偏置 |
| 训练复杂度 | 依赖迭代次数与优化器 | 反向传播利用链式法则高效计算梯度 |
注:神经网络通常采用梯度下降等迭代优化,一般只是局部最优解,无全局最优保证。
函数逼近
问题简介
误差函数 erf 源于 Gauss 对测量误差分布的研究:
erf(x)≡π2∫0xexp{−t2}dt
其补函数:
erfc(x)≡1−erf(x)=π2∫x∞exp{−t2}dt
显然误差函数为奇函数,故一般只需考察 x⩾0 情形。
数值计算 erf(x) 的四种途径:
- Taylor 展开:在 x=0 处展开被积函数后逐项积分
- 渐进展开:在 x→+∞ 时有效
- 多项式逼近:最佳平方逼近或插值
- Padé 有理多项式逼近
Taylor 展开:
exp{−t2}=n=0∑∞n!(−1)nt2n
从而:
erf(x)=π2n=0∑∞n!(2n+1)(−1)nx2n+1
收敛半径无穷大,数值计算时截断为有限项多项式。
渐进展开:
注意到:
e−t2dt=−2t1d(e−t2)
对 erfc(x)=π2∫x∞e−t2dt 反复分部积分:
∫x∞e−t2dt=2xe−x2−∫x∞2t2e−t2dt=2xe−x2−4x3e−x2+∫x∞4t43e−t2dt=2xe−x2−4x3e−x2+8x53e−x2−⋯
提取 2xe−x2,并注意每次分部积分产生奇数系数 1,3,5,…:
∫x∞e−t2dt=2xe−x2[1−2x21+(2x2)21⋅3−(2x2)31⋅3⋅5+⋯]
从而:
erf(x)=1−xπexp{−x2}[1−2x21+(2x2)21⋅3−(2x2)31⋅3⋅5+⋯]
固定项数、令 x→∞ 时余项趋于零,但固定 x 令项数 →∞ 时级数发散。
注:
- Taylor 展开在展开点附近精度高,增加项数可以提高精度。
- 渐进展开为发散级数,对固定的 x,存在一个最优的截断项数。
最佳平方逼近
数学基础
定义(最佳平方逼近):
设 f(x)∈C[a,b],{φ0(x),φ1(x),⋯,φm(x)} 为 [a,b] 上线性无关的连续函数组,H=span{φ0,⋯,φm}。若
φ(x)=k=0∑makφk(x)
使得
F(a0,⋯,am)=∫abω(x)[f(x)−φ(x)]2dx=ψ∈Hmin∫abω(x)[f(x)−ψ(x)]2dx
则称 φ(x) 为 f(x) 在 H 中关于权函数 ω(x) 的最佳平方逼近函数。
特别地,若 φk(x) 为 k 次多项式,则称 φ(x) 为 m 次最佳平方逼近多项式(或最小二乘逼近多项式)。
计算公式
将 φ(x)=∑k=0makφk(x) 代入 F,对 aj 求驻点条件:
∂aj∂F=−2∫abω(x)[f(x)−k=0∑makφk(x)]φj(x)dx=0,j=0,1,⋯,m
整理得正规方程组:
k=0∑m≡Ajk[∫abω(x)φj(x)φk(x)dx]ak=≡bj∫abω(x)f(x)φj(x)dx,j=0,1,⋯,m
矩阵形式:
定义内积 (φ,ψ)≡∫abω(x)φ(x)ψ(x)dx,则
(φ0,φ0)(φ1,φ0)⋮(φm,φ0)(φ0,φ1)(φ1,φ1)⋮(φm,φ1)⋯⋯⋱⋯(φ0,φm)(φ1,φm)⋮(φm,φm)a0a1⋮am=(f,φ0)(f,φ1)⋮(f,φm)
几何意义
φ(x)=∑k=0makφk(x) 是 f(x) 在 H 上关于权函数 ω(x) 的最佳平方逼近函数的充要条件为:
(f−φ,φj)=0,j=0,1,⋯,m
也即残差 f−φ 垂直于子空间 H,φ 是 f 在 H 上的正交投影。
证明:
必要性:
设 φ 使 F(ψ)=∥f−ψ∥2 最小。对任意 φj,令
g(t)=f−(φ+tφj)2=∥f−φ∥2−2t(f−φ,φj)+t2∥φj∥2
t=0 为极小值点,故 g′(0)=0,即
−2(f−φ,φj)=0⇒(f−φ,φj)=0
充分性:
设 (f−φ,φj)=0 对所有 j 成立。则对任意 ψ=∑cjφj∈H,由内积线性性:
(f−φ,ψ)=j=0∑mcj(f−φ,φj)=0
于是对任意 ψ∈H:
∥f−ψ∥2=(f−φ)+(φ−ψ)2=∥f−φ∥2+2=0(f−φ,φ−ψ)+∥φ−ψ∥2=∥f−φ∥2+∥φ−ψ∥2⩾∥f−φ∥2
等号仅当 ψ=φ(几乎处处)时成立。故 φ 为最佳平方逼近。
算法实现
import numpy as np
from scipy.integrate import quad
def best_square_approximation(f, phi, w, a, b, m):
"""
f: 被逼近函数
phi: 基函数列表 [phi_0, ..., phi_m]
w: 权函数
[a,b]: 区间
"""
# 构造 Gram 矩阵 A 和右端向量 b
A = np.zeros((m+1, m+1))
rhs = np.zeros(m+1)
for j in range(m+1):
for k in range(m+1):
# 计算内积 (phi_j, phi_k)
integrand = lambda x: w(x) * phi[j](x) * phi[k](x)
A[j,k], _ = quad(integrand, a, b)
# 计算内积 (f, phi_j)
integrand_f = lambda x: w(x) * f(x) * phi[j](x)
rhs[j], _ = quad(integrand_f, a, b)
# 解线性方程组
coeffs = np.linalg.solve(A, rhs)
return coeffs
复杂度分析
| 指标 | 结果 | 说明 |
|---|
| 内积计算 | O(m2) 个一维积分 | 每个积分数值计算代价取决于精度要求 |
| 方程组求解 | O(m3) | Gram 矩阵通常为稠密对称正定,可用 Cholesky 分解降至 O(m3/6) |
| 存储复杂度 | O(m2) | Gram 矩阵存储 |
注:
当基函数非正交时,Gram 矩阵条件数通常很大,导致数值不稳定。
采用正交基函数可将 Gram 矩阵对角化,系数直接由内积求得,计算复杂度降至 O(m)。
正交函数系与正交多项式
数学基础
定义(正交函数系):
若函数系 {φ0(x),φ1(x),⋯,φn(x),⋯} 满足
(φj,φk)=∫abω(x)φj(x)φk(x)dx={0,αk>0,j=kj=kj,k=0,1,2,⋯
则称其为区间 [a,b] 上关于权函数 ω(x) 的正交函数系。
若 αk≡1,则称为标准正交函数系。
例如三角函数系 {1,cosx,sinx,cos2x,sin2x,⋯} 是 [−π,π] 上关于 ω(x)=1 的正交函数系。
定义(正交多项式系):
特殊地,若正交函数系中 φk(x) 均为代数多项式,则称其为正交多项式系。
定理(正交函数系线性无关):
区间 [a,b] 上关于权函数 ω(x) 的正交函数系 φ0(x),⋯,φn(x) 线性无关。
证明:
反证法。假设线性相关,则存在不全为零的实数 c0,⋯,cn 使得 ∑i=0nciφi(x)=0。
不妨设 ci=0,两边同乘 ω(x)φi(x) 并积分:
j=0∑ncj(φj,φi)=ci(φi,φi)=0
由于 (φi,φi)>0,得 ci=0,矛盾。故正交函数系线性无关。
定理(正交多项式系的充要条件):
设 φk(x) 为最高次项系数非零的 k 次多项式,则 {φk(x)} 是 [a,b] 上关于权函数 ω(x) 的正交多项式系的充要条件为:
对任意至多 k−1 次的多项式 Qk−1(x),均有
(φk,Qk−1)=∫abω(x)φk(x)Qk−1(x)dx=0,k=1,2,⋯
证明:
- 充分性:取 Qk−1(x)=φj(x)(j<k),则 (φk,φj)=0;又 φk2(x)⩾0 且不恒为零,故 (φk,φk)>0。
- 必要性:由前述定理,φ0,⋯,φk−1 线性无关,构成 k 维多项式空间的基,故任意 Qk−1(x) 可唯一表示为它们的线性组合,由内积线性性即得。
计算公式
定理(Gram-Schmidt 三项递推公式):
按以下方式定义的多项式集合 {φ0(x),⋯,φn(x)} 是 [a,b] 上关于权函数 ω(x)⩾0(不恒为0)的正交多项式系:
⎩⎨⎧φ0(x)=1φ1(x)=x−α1φk(x)=(x−αk)φk−1(x)−βkφk−2(x),k=2,3,⋯,n
其中
αk=(φk−1,φk−1)(xφk−1,φk−1),k=1,2,⋯,n
βk=(φk−2,φk−2)(xφk−1,φk−2)=(φk−2,φk−2)(φk−1,φk−1),k=2,3,⋯,n
注:注意到 (xφk−1,φk−2)=(φk−1,xφk−2) 即可。
常见的正交多项式系
| 多项式 | 区间 | 权函数 ω(x) | 正交性 | 递推关系 |
|---|
| Legendre Pn(x) | [−1,1] | 1 | ∫−11PnPmdx=2n+12δnm | Pn+1=n+12n+1xPn−n+1nPn−1 |
| Chebyshev Tn(x) | [−1,1] | 1−x21 | ∫−111−x2TnTmdx=⎩⎨⎧0,π/2,π,m=nm=n=0m=n=0 | Tn+1=2xTn−Tn−1 |
| Laguerre Ln(x) | [0,∞) | exp{−x} | ∫0∞exp{−x}LnLmdx=(n!)2δnm | Ln+1=(1+2n−x)Ln−n2Ln−1 |
| Hermite Hn(x) | (−∞,∞) | exp{−x2} | ∫−∞∞exp{−x2}HnHmdx=2nn!πδnm | Hn+1=2xHn−2nHn−1 |
Legendre 多项式:
Pn(x)=2nn!1dxndn[(x2−1)n],P0(x)=1,P1(x)=x
奇偶性:Pn(−x)=(−1)nPn(x)。
Chebyshev 多项式:
Tn(x)=cos(narccosx),T0(x)=1,T1(x)=x
- 零点:xk=cos2n(2k−1)π,k=1,2,⋯,n
- 极值点:x^k=cosnkπ,k=0,1,⋯,n,交替取 ±1
- 最高次幂系数为 2n−1(n⩾1)
Laguerre 多项式:
Ln(x)=exp{x}dxndn(xnexp{−x}),L0(x)=1,L1(x)=1−x
Hermite 多项式:
Hn(x)=(−1)nexp{x2}dxndnexp{−x2},H0(x)=1,H1(x)=2x
算法实现
def orthogonal_polynomial_coeffs(f, poly_type, n, a, b):
"""
利用正交多项式计算最佳平方逼近系数
poly_type: 'legendre', 'chebyshev', ...
"""
coeffs = []
for k in range(n+1):
# 获取第k个正交多项式 phi_k
phi_k = get_orthogonal_poly(poly_type, k)
# 计算内积 (f, phi_k)
numerator, _ = quad(lambda x: f(x)*phi_k(x)*weight(x), a, b)
# 计算范数平方 (phi_k, phi_k)
denominator, _ = quad(lambda x: phi_k(x)**2*weight(x), a, b)
a_k = numerator / denominator
coeffs.append(a_k)
return coeffs # 逼近函数为 sum(a_k * phi_k(x))
复杂度分析
| 指标 | 一般基函数 | 正交基函数 | 说明 |
|---|
| 系数计算 | O(m3) | O(m) | 正交基不用解稠密线性方程组 |
| Gram 矩阵构造 | O(m2) 积分 | O(m) 积分 | 正交基只需对角元 |
| 数值稳定性 | 条件数大 | 条件数优 | 正交多项式避免 Hilbert 病态 |
Chebyshev 多项式与最佳 n 阶多项式插值
数学基础
回顾 n 次多项式插值的误差估计:
Rn(x)=f(x)−φn(x)=(n+1)!f(n+1)(ξ)ωn(x),ξ∈[a,b]
其中 ωn(x)=∏i=0n(x−xi)。
为最小化整体误差,需最小化 maxx∈[a,b]∣ωn(x)∣。
区间映射:将 [a,b] 映射至 [−1,1]:
xk=2b−ax~k+2b+a
最优节点选择:取 Chebyshev 多项式 Tn+1(x) 的零点作为 x~k:
x~k=cos2(n+1)(2k+1)π,k=0,1,⋯,n
此时 ωn(x) 与 Tn+1(x) 成正比,满足:
∣ωn(x)∣=2−n∣Tn+1(x)∣⩽2−n
不加证明的指出 Chebyshev 多项式是最优的,也即实现了极小化最大误差。
误差界:
∣Rn(x)∣⩽2n(n+1)!maxx∈[a,b]∣f(n+1)(x)∣
注:等距节点在高次插值时会出现 Runge 现象,而 Chebyshev 节点通过将节点向区间两端密集分布,实现了 minimax 意义下的最优。
Padé 有理多项式逼近
数学基础
定义(Padé 逼近):
给定有理函数形式
r(x)=q(x)p(x)=1+q1x+⋯+qmxmp0+p1x+⋯+pnxn
其次数定义为 N=n+m,待定系数共 n+m+1 个。
Padé 逼近是 Taylor 展开的一种推广。
对于给定的 n,m,通过匹配 f(x) 与 r(x) 在 x=0 处的前 N 阶导数:
r(k)(0)=f(k)(0),k=0,1,…,N
来确定所有系数。
计算公式
设 f(x) 的 Maclaurin 级数为 f(x)=∑i=0∞aixi。考虑
f(x)−r(x)=q(x)f(x)q(x)−p(x)=q(x)1[i=0∑∞aixi(1+j=1∑mqjxj)−i=0∑npixi]
要求分子中次数 ⩽N=n+m 的项系数全为零,依次得到方程组:
⎩⎨⎧a0=p0a1+a0q1=p1a2+a1q1+a0q2=p2⋯an+an−1q1+⋯+a0qn=pn(qj=0 if j>m)
以及对于 k=n+1,…,n+m 的系数为零条件,解出 q1,…,qm 后回代求 pi。
复杂度分析
| 指标 | 结果 | 说明 |
|---|
| 系数求解 | O((n+m)3) | 线性方程组求解 |
| 求值代价 | O(n+m) | Horner 法则计算分子分母 |
| 逼近精度 | 同阶数下通常优于 Taylor | 有理函数可捕捉极点行为 |
注:Padé 逼近在函数带有极点或渐进行为时,比同阶数多项式逼近精度显著提高,广泛用于特殊函数(如 exp(x)、erf(x))的高效数值计算。
综合对比与总结
| 方法 | 逼近形式 | 基函数/节点 | 核心优势 | 主要局限 |
|---|
| 最小二乘(离散) | ∑akφk(xi) | 任意线性无关基 | 抗噪声、闭式解 | 高阶多项式不稳定 |
| 最佳平方逼近(连续) | ∫ω(x)(f−φ)2dx | 任意线性无关基 | 函数整体最优 | 需计算积分 |
| 正交多项式逼近 | ∑akφk⊥(x) | Legendre/Chebyshev 等 | 系数解耦、稳定 | 区间与权函数固定 |
| Chebyshev 插值 | Lagrange 多项式 | Chebyshev 零点 | 极小化最大误差 | 需已知函数值 |
| Padé 逼近 | pn(x)/qm(x) | Maclaurin 系数 | 同阶数精度高、适合作极点 | 仅局部有效、需导数信息 |
注:
实际计算中,Chebyshev 多项式与 Padé 逼近常结合使用:先用 Chebyshev 节点离散化,再在局部采用 Padé 有理逼近,以获得全局稳定且局部高精度的数值方案。