几何建模与处理之一 数据拟合
简单的基础概念和知识
集合
- 集合:一堆具有同样性质的对象(元素)
- 基数(个数):集合中元素的个数
- 有限集
- 无限集
- 可数集:自然数集N、有理数集Q
- 不可数集:实数集R、无理数集R\Q
- 运算:交、并、差
线性空间
-
元素之间有运算:加法、数乘
-
线性结构:对加法和数乘封闭
加法交换律、结合律,数乘分配率
-
基/维数:
每个元素就表达(对应n个实数),即一个向量
-
例子:
- 欧式空间:1Ds实数、2D平面、3D空间
- n次多项式:\(f(x)=\sum_{k=0}^na_kx^k\)
映射(mapping)
两个非空集合A和B的映射\(f:A\to B\):对A中的任何一个原数a,有唯一的一个B中的元素b与之对应,记为\(f(a)=b\)
-
b称为a的象,a作为b的原象
-
A称为定义域,B称为值域
函数(Function)
非空实数集之间的映射称为(一元)函数\(y=f(x)\),或变换
函数的图像(函数的可视化):所有有序对\((x,f(x))\)组成的集合
常见一元函数:
? 幂函数 三角函数 对数函数 指数函数 三角函数 反三角函数
函数空间
用若干简单函数(“基函数”)线性组合成一个函数空间
\(L=span\lbrace f_1,\dots,f_n\rbrace=\lbrace \sum_{i=1}^na_if_i(x)|a_i\in R\rbrace\)
每个函数就表达(对应)为n个实数,即系数向量
例如:
? 多项式函数空间\(f(x)=\sum_{k=0}^nw_kx^k\)
? 三角函数空间\(f(x)=a_0+\sum_{k=1}^n(a_kcoskx+b_ksinkx)\)
空间的完备性:函数空间是否可以表示(逼近)任意函数
赋范空间
- 内积诱导范数、距离 \(<f,g>=\int_{a}^{b}f(x)g(x)dx\)
- 度量空间:可度量函数之间的距离 Lp范数
- 赋范空间+完备性=巴拿赫空间
- 内积空间(无限维)+完备性=希尔伯特空间
万能逼近定理:Weierstrass逼近定理
- 定理一:闭区间上的连续函数可用多项式级数一致逼近
- 定理二:闭区间上周期为2π的连续函数可用三角函数级数一致逼近
对\([a,b]\)上的任意连续函数g,及任意给定的$ \xi \gt 0 \(,必存在n次代数多项式\)f(x)=\sum_{k=0}^nw_kx_k$。使得 \(min|f(x)-g(x)|<\xi\).
傅里叶级数
大部分的实际应用问题,可建模为:找一个映射/变换/函数
如何找函数
1.到哪找?
? 确定某个函数集合/空间
2.找哪个?
? 度量哪个函数是好的/“最好”的
3.怎么找?
? 求解或优化
曲线/曲面拟合问题
输入:一些型值(采样)点集
输出:一条拟合这些点集的曲线/曲面
拟合(Fitting)问题
输入:一些观察的数据点
输出:反映这些数据规律的函数\(y=f(x)\)
到哪找
选择一个函数空间
线性函数空间\(A=span\lbrace B_0(x),\dots,B_n(x)\rbrace\)
- 多项式函数
- RBF函数
- 三角函数
函数表达为
\(f(x)=\sum_{k=0}^na_kB_k(x)\),求n+1个系数\((a_0,\dots,a_n)\)
插值型
目标:函数经过每个数据点(插值)
\(y_i=f(x_i),i=0,1,\dots,n\)
联立,求解线性方程:\(\sum_{k=0}^na_kB_k(x_i)=y_i,i=0,1,\dots,n\)
- 求解(n+1)*(n+1)线性方程组
- n次Lagrange插值多项式
Lagrange插值函数
插值n+1个点、次数不超过n的多项式是存 在而且是唯一的(n+1个变量,n+1个方程)
插值函数的*度=未知量个数-已知量个数
病态问题:系数矩阵条件数高时,求解不稳定
逼近型
目标:函数尽量靠近数据点(逼近)
\(min\sum_{i=0^n}(y_i-f(x_i))^2\)
对各系数求导,得法方程(线性方程组):\(AX=b\)
最小二乘法
问题:点多,系数少;点少,系数多
拟合问题
过拟合(overfitting)
误差为0,但是拟合的函数并无使用价值
欠拟合(underfitting)
还存在欠拟合(underfitting)问题
需要根据不同的应用与需求,不断尝试(调参)
避免过拟合的常用方法
-
数据去噪
剔除训练样本中的噪声
-
数据增广
增加样本数,或者增加样本的代表性和多样性
-
模型简化
预测模型过于复杂,拟合了训练样本中的噪声
选用更简单的模型,或者对模型进行裁剪
-
正则约束
适当的正则项,比如方差正则项、稀疏正则项
岭回归正则项
最小二乘拟合
Ridge regression(岭回归)
稀疏学习:稀疏正则化
冗余基函数(过完备) :选择的基函数过多
通过优化来选择合适的基函数
-
系数向量的 L0模( 非0元素个数)尽量小
-
挑选(“学习”)出合适的基函数
\[\min_\alpha||Y-XW||^2+\mu||W||_0\\min_\alpha||Y-XW||^2,s.t.||W||_0 \le\beta \]
拟合算法
多项式插值
对于给定n个数据点(采样点),使用多项式函数(幂基函数的线性组合)进行插值:?
将各数据点代入,得到如下方程组:
Lagrange插值
Lagrange基函数:
Lagrange插值多项式:
Newton插值
定义:
一阶差商:
k阶差商:
Newton 插值多项式:
Gauss基函数插值
对于给定n个数据点(采样点),使用Gauss基函数进行插值:
即对称轴在插值点上,\(i=1,\dots,n\),缺省设 \(\sigma =1\)
将各个数据点代入:
未知数个数大于方程个数,方程有多个解,可以添加约束条件。
得到方程组:
转化为求解:\(Ax=b\)
Gauss插值函数:
最小二乘法
在多项式插值中,当数据点个数较多时,插值多项式的阶数过高,求解不稳定。可以通过幂基函数的最高次数m(m<n),使用最小二乘法拟合:
矩阵形式:
即\(Aa=Y\),B是一个非方阵,且列满秩,方程无精确解。采用最小二乘方式,
解上述等式。
m次多项式曲线:
岭回归
在最小二乘求解中,当\(B^TB\)接近于奇异时,\((B^TB)^{-1}\)有较大误差,拟合结果不稳定。 为此在最 小二乘的误差函数中添加\(E_1\)正则项 ,参数 \(\lambda\),\(\min (E+\lambda E_1)\),其中 \(E_1=\sum_{i=1}^n\alpha_i^2\) ,则
求偏导,并令其等于0,得
m 次多项式曲线