zoukankan      html  css  js  c++  java
  • 几何建模与处理之一 数据拟合

    几何建模与处理之一 数据拟合

    简单的基础概念和知识

    集合

    • 集合:一堆具有同样性质的对象(元素)
    • 基数(个数):集合中元素的个数
      • 有限集
      • 无限集
        • 可数集:自然数集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).

    傅里叶级数

    [f(t)=A_0+sum_{n=1}^∞[a_ncos(nomega t)+b_nsin(nomega t)]\ f(t)=A_0+sum_{n=1}^∞A_nsin(nomega t+psi_n) ]


    大部分的实际应用问题,可建模为:找一个映射/变换/函数

    如何找函数

    1.到哪找?

    ​ 确定某个函数集合/空间

    2.找哪个?

    ​ 度量哪个函数是好的/“最好”的

    3.怎么找?

    ​ 求解或优化

    曲线/曲面拟合问题

    输入:一些型值(采样)点集

    输出:一条拟合这些点集的曲线/曲面

    拟合(Fitting)问题

    输入:一些观察的数据点

    输出:反映这些数据规律的函数(y=f(x))

    image

    到哪找

    选择一个函数空间

    线性函数空间(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)

    image-20210721170417453

    联立,求解线性方程:(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个方程)

    [p_k(x)=prod_{iin B_k}frac{x-x_i}{x_k-x_i} ]

    插值函数的自由度=未知量个数-已知量个数

    病态问题:系数矩阵条件数高时,求解不稳定

    逼近型

    目标:函数尽量靠近数据点(逼近

    (minsum_{i=0^n}(y_i-f(x_i))^2)

    image-20210721170357117

    对各系数求导,得法方程(线性方程组):(AX=b)

    最小二乘法

    问题:点多,系数少;点少,系数多

    拟合问题

    过拟合(overfitting)

    误差为0,但是拟合的函数并无使用价值

    image-20210721171130228

    欠拟合(underfitting)

    还存在欠拟合(underfitting)问题

    需要根据不同的应用与需求,不断尝试(调参

    避免过拟合的常用方法

    • 数据去噪

      剔除训练样本中的噪声

    • 数据增广

      增加样本数,或者增加样本的代表性和多样性

    • 模型简化

      预测模型过于复杂,拟合了训练样本中的噪声

      选用更简单的模型,或者对模型进行裁剪

    • 正则约束

      适当的正则项,比如方差正则项、稀疏正则项

    岭回归正则项

    最小二乘拟合

    [min_W||Y-XW||^2 ]

    Ridge regression(岭回归)

    [min_W||Y-XW||^2+mu||W||_2^2 ]

    稀疏学习:稀疏正则化

    冗余基函数(过完备) :选择的基函数过多

    通过优化来选择合适的基函数

    • 系数向量的 L0模( 非0元素个数)尽量小

    • 挑选(“学习”)出合适的基函数

      [min_alpha||Y-XW||^2+mu||W||_0\ min_alpha||Y-XW||^2,s.t.||W||_0 leeta ]

    拟合算法

    多项式插值

    对于给定n个数据点(采样点),使用多项式函数(幂基函数的线性组合)进行插值:​

    [f(x)=sum_{i=0}^{n-1}alpha_i B_i(x)\B_i(x)=x^i ]

    将各数据点代入,得到如下方程组:

    [egin{pmatrix}1&x_0&x_0^2&ldots&x_0^{n-1}\1&x_1&x_1^2&ldots&x_1^{n-1}\1&x_2&x_2^2&ldots&x_2^{n-1}\vdots&vdots&vdots&ddots&vdots\1&x_{n-1}&x_{n-1}^2&ldots&x_{n-1}^{n-1}\end{pmatrix}egin{pmatrix}a_0\a_1\a_2\vdots\a_{n-1}\end{pmatrix}=egin{pmatrix}y_0\y_1\y_2\vdots\y_{n-1}\end{pmatrix} ]

    Lagrange插值

    Lagrange基函数:

    [l_i(x)=prod_{j=0,j e i}frac{x-x_j}{x_i-x_j} ]

    Lagrange插值多项式:

    [L_n(x)=sum_{k=0}^ny_kl_k(x) ]

    Newton插值

    定义:

    一阶差商:

    [f[x_0,x_1]=frac{f(x_1)-f(x_0)}{x_1-x_0} ]

    k阶差商:

    [f[x_0,x_1,dots,x_k]=frac{f[x_1,dots,x_k]-f[x_0,x_1,dots,x_k]}{x_k-x_0} ]

    Newton 插值多项式:

    [N_n(x)=f(x_0)+f[x_0,f_1](x-x_0)+dots+f[x_0,x_1,dots,x_k](x-x_0)cdots(x-x_n-1) ]

    Gauss基函数插值

    对于给定n个数据点(采样点),使用Gauss基函数进行插值:

    [f(x)=a + sum_{i=0}^{n-1}b_i g_i(x)\g_i(x)=expleft(-frac{(x-x_i)^2}{2sigma^2} ight) ]

    即对称轴在插值点上,(i=1,dots,n),缺省设 (sigma =1)

    将各个数据点代入:

    [egin{cases}y_0=a+b_0g_0(x_0)+b_1g_1(x_0)+dots+b_{n-1}g_{n-1}(x_0)\y_1=a+b_0g_0(x_1)+b_1g_1(x_1)+dots+b_{n-1}g_{n-1}(x_1)\vdots\y_{n-1}=a+b_0g_0(x_{n-1})+b_1g_1(x_{n-1})+dots+b_{n-1}g_{n-1}(x_{n-1})\end{cases} ]

    未知数个数大于方程个数,方程有多个解,可以添加约束条件。

    [a=y_{average}\y'_i=y_i-y_{average} ]

    得到方程组:

    [egin{pmatrix}g_0(x_0)&g_1(x_0)&ldots&g_{n-1}(x_{0})\g_0(x_1)&g_1(x_1)&ldots&g_{n-1}(x_{1})\g_0(x_2)&g_1(x_2)&ldots&g_{n-1}(x_{2})\vdots&vdots&vdots&ddots&vdots\g_{0}(x_{n-1})&g_{1}(x_{n-1})&ldots&g_{n-1}(x_{n-1})\end{pmatrix}egin{pmatrix}b_0\b_1\b_2\vdots\b_{n-1}\end{pmatrix}=egin{pmatrix}y'_0\y'_1\y'_2\vdots\y'_{n-1}\end{pmatrix} ]

    转化为求解:(Ax=b)

    Gauss插值函数:

    [G_n(x)=a+sum_{i=0}^{n-1}b_ig_i(x_i) ]

    最小二乘法

    在多项式插值中,当数据点个数较多时,插值多项式的阶数过高,求解不稳定。可以通过幂基函数的最高次数m(m<n),使用最小二乘法拟合:

    [f(x)=sum_{i=0}^{m}a_iB_i(x)\B_i(x)=x^i\min E\E(x)=sum_{i=0}^{n-1}(y_i-f(x_i))^2 ]

    矩阵形式:

    [egin{pmatrix}1&x_0&x_0^2&ldots&x_0^{m}\1&x_1&x_1^2&ldots&x_1^{m}\1&x_2&x_2^2&ldots&x_2^{m}\vdots&vdots&vdots&ddots&vdots\1&x_{n-1}&x_{n-1}^2&ldots&x_{n-1}^{m}\end{pmatrix}egin{pmatrix}a_0\a_1\a_2\vdots\a_{m}\end{pmatrix}=egin{pmatrix}y_0\y_1\y_2\vdots\y_{n-1}\end{pmatrix} ]

    (Aa=Y),B是一个非方阵,且列满秩,方程无精确解。采用最小二乘方式,

    [A^TAa=A^TY ]

    解上述等式。

    m次多项式曲线:

    [f(x)=a_0+a_1x+a_2x^2+dots+a_mx^m ]

    岭回归

    在最小二乘求解中,当(B^TB)接近于奇异时,((B^TB)^{-1})有较大误差,拟合结果不稳定。 为此在最 小二乘的误差函数中添加(E_1)正则项 ,参数 (lambda)(min (E+lambda E_1)),其中 (E_1=sum_{i=1}^nalpha_i^2) ,则

    [min_a(sum_{i=0}^{n-1}(y_i-sum_{i=0}^ma_ix^i)^2)+lambda sum_{i=0}^ma^2 ]

    求偏导,并令其等于0,得

    [2A^TY-2A^TAa-2lambda a=0\a=(B^TB+lambda I)^{-1}B^TY ]

    m 次多项式曲线

    [f(x)=a_0+a_1x+a_2x^2+dots+a_mx^m ]

    作者:YIMG
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    27. Remove Element
    26. Remove Duplicates from Sorted Array
    643. Maximum Average Subarray I
    674. Longest Continuous Increasing Subsequence
    1. Two Sum
    217. Contains Duplicate
    448. Find All Numbers Disappeared in an Array
    566. Reshape the Matrix
    628. Maximum Product of Three Numbers
    UVa 1349 Optimal Bus Route Design (最佳完美匹配)
  • 原文地址:https://www.cnblogs.com/YIMG/p/15042008.html
Copyright © 2011-2022 走看看