几何建模与处理之一 数据拟合
简单的基础概念和知识
集合
- 集合:一堆具有同样性质的对象(元素)
- 基数(个数):集合中元素的个数
- 有限集
- 无限集
- 可数集:自然数集N、有理数集Q
- 不可数集:实数集R、无理数集RQ
- 运算:交、并、差
线性空间
-
元素之间有运算:加法、数乘
-
线性结构:对加法和数乘封闭
加法交换律、结合律,数乘分配率
-
基/维数:
每个元素就表达(对应n个实数),即一个向量
-
例子:
- 欧式空间:1Ds实数、2D平面、3D空间
- n次多项式:(f(x)=sum_{k=0}^na_kx^k)
映射(mapping)
两个非空集合A和B的映射(f:A o B):对A中的任何一个原数a,有唯一的一个B中的元素b与之对应,记为(f(a)=b)
-
b称为a的象,a作为b的原象
-
A称为定义域,B称为值域
函数(Function)
非空实数集之间的映射称为(一元)函数(y=f(x)),或变换
函数的图像(函数的可视化):所有有序对((x,f(x)))组成的集合
常见一元函数:
幂函数 三角函数 对数函数 指数函数 三角函数 反三角函数
函数空间
用若干简单函数(“基函数”)线性组合成一个函数空间
(L=spanlbrace f_1,dots,f_n brace=lbrace sum_{i=1}^na_if_i(x)|a_iin R brace)
每个函数就表达(对应)为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=spanlbrace B_0(x),dots,B_n(x) brace)
- 多项式函数
- 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个方程)
插值函数的自由度=未知量个数-已知量个数
病态问题:系数矩阵条件数高时,求解不稳定
逼近型
目标:函数尽量靠近数据点(逼近)
(minsum_{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 leeta ]
拟合算法
多项式插值
对于给定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}^nalpha_i^2) ,则
求偏导,并令其等于0,得
m 次多项式曲线