回归概述——多项式拟合

数据生成

假设当观察到一个实值的输入变量 x \mathcal x x,而想利用这些观测数据来预测实值变量 t t t。数据由以一个带有噪声的由函数 s i n ( 2 π x ) sin(2\pi\mathcal x)s i n (2 πx )生成。现假定给出一个训练集(包括 N N N 个 x \mathcal x x 的观测值,记为 x = ( x 1 , ⋯ , x N ) T \mathbf x=(\mathcal x_1,\cdots,\mathcal x_N)^T x =(x 1 ​,⋯,x N ​)T,相应的观测值为 t = ( t 1 , ⋯ , t N ) T \mathbf t=(t_1,\cdots,t_N)^T t =(t 1 ​,⋯,t N ​)T。)观测值 t n t_n t n ​ 由 s i n ( 2 π x ) sin(2\pi\mathcal x)s i n (2 πx ) 加上一个由其他分布产生的一个噪声得到,若噪声由正态分布得到,则其分布如下所示:

回归概述——多项式拟合

以这种方式生成数据,可以捕捉到许多真实数据集的一些特性,他们具有某种基底规律性,我们所希望做的就是去学习这些规律,不过单个数据又经常被噪声所扰动,这种噪声可能来自于本质上的随机过程,比如放射性,但更典型的是由于存在着变异源,而这些变异源本身是不可观测的。

; 多项式拟合

而回归的任务是利用这些训练集中的数据对新输入变量 x ^ \hat\mathcal x x ^ 预测输出 t ^ \hat t t ^。首先考虑使用一种简单的曲线拟合方式——多项式拟合:
y ( x , w ) = w 0 + w 1 ⋅ x + w 2 ⋅ x 2 + ⋯ + w M ⋅ x M = ∑ j = 0 M w j ⋅ x j \displaystyle y(x,\mathbf w)=w_0+w_1\cdot x+w_2\cdot x^2+\cdots+w_M\cdot x^M=\sum^M_{j=0}w_j\cdot x^j y (x ,w )=w 0 ​+w 1 ​⋅x +w 2 ​⋅x 2 +⋯+w M ​⋅x M =j =0 ∑M ​w j ​⋅x j

误差函数

多项式的系数以向量形式表达 :w = ( w 0 , w 1 , ⋯ , w M ) T \mathbf w=(w_0,w_1,\cdots,w_M)^T w =(w 0 ​,w 1 ​,⋯,w M ​)T,需要确定该拟合多项式的系数,可以通过 最小化拟合函数y ( x , w ) y(x,\mathbf w)y (x ,w ) 和训练集中数据点之间的误差 得到,则定义 误差函数
E ( w ) = 1 2 ∑ n = 1 N [ y ( x n , w ) − t n ] 2 \displaystyle E(\mathbf w)=\frac{1}{2}\sum^N_{n=1}[y(x_n,\mathbf w)-t_n]^2 E (w )=2 1 ​n =1 ∑N ​[y (x n ​,w )−t n ​]2

注意到,误差函数具有非负性,当且仅当 y ( x , w ) y(x,\mathbf w)y (x ,w ) 能够完美精确拟合所有训练集中的点时,E ( w ) = 0 E(\mathbf w)=0 E (w )=0,其误差可描述如下:

回归概述——多项式拟合

可以通过选择 w \mathbf w w 的值使得 E ( w ) E(\mathbf w)E (w ) 尽可能小,来求解拟合曲线,误差函数 E ( w ) E(\mathbf w)E (w ) 是关于系数 w \mathbf w w 的二次函数,所以它的导数是关于系数 w \mathbf w w 的线性函数,故误差函数最小时有唯一的解 w ∗ \mathbf w^w ∗,则可以得到拟合多项式 y ( x , w ∗ ) y(x,\mathbf w^)y (x ,w ∗)。

但是依然存在着问题,那就是如何选择多项式的阶数 M,这一方面在 模型比较与选择中会进行阐述。假设当拟合多项式的阶数取 M = 0 , 1 , 3 , 9 M=0,1,3,9 M =0 ,1 ,3 ,9,得到的拟合图像如下所示:

回归概述——多项式拟合

从图中可以看出,在区间 [ 0 , 1 ] [0,1][0 ,1 ] 内,常数(M = 0 M=0 M =0)和一阶多项式(M = 1 M=1 M =1)时,对于实际的数据点明显是欠拟合的;而高阶多项式对训练数据点的拟合是非常好的,但是对于实际曲线的拟合确实很糟糕的,即泛化能力差,是明显过拟合的;相比之下,三阶多项式(M = 3 M=3 M =3)给出了曲线的最好拟合。

; 均方根误差(RMS)

可以发现,求解拟合曲线的目标是 达到一个好的泛化能力(即能够对新的数据做出较好的拟合)。可以定量的理解泛化能力对阶数 M 的依赖,对于所选择的每个 M,可以评估它在训练集上的残差值 E ( w ∗ ) E(\mathbf w^)E (w ∗),也要评估它在测试集上的 E ( w ∗ ) E(\mathbf w^)E (w ∗)。此外,还可以利用 均方根(RMS)误差进行度量,即 E R M S = 2 E ( w ∗ ) N \displaystyle E_{RMS}=\sqrt{\frac{2E(\mathbf w^*)}{N}}E R M S ​=N 2 E (w ∗)​​,除 N 使得可以在不同大小的数据集上以相同的基准进行比较,平方根确保 E R M S E_{RMS}E R M S ​ 是对目标变量 t 在相同尺度上的测量。当 M 取不同值时,训练集和测试机的 E R M S E_{RMS}E R M S ​ 如下所示:

回归概述——多项式拟合

测试集上的误差是对模型对新数据的预测性能好坏的度量,同时,多项式是固定的且没有能力捕捉像 s i n ( 2 π x ) sin(2\pi x)s i n (2 πx ) 这种函数的波动特性,当 3 ≤ M ≤ 8 3\le M\le 8 3 ≤M ≤8 时, 尽管在 [ 0 , 1 ] [0,1][0 ,1 ] 对训练集的拟合以及对新数据的预测性能较好,但当 x ∉ [ 0 , 1 ] x\notin[0,1]x ∈/​[0 ,1 ] 时,性能将会变差;而对于 M = 9 M=9 M =9,训练误差为0,这是因为此时多项式有 10 个自由度对应于10个系数 w 0 , w 1 , ⋯ , w 9 w_0,w_1,\cdots,w_9 w 0 ​,w 1 ​,⋯,w 9 ​,因此可以完美拟合训练集中的 10 个样本,但其测试误差却变得很大,对应的 y ( x , w ∗ ) y(x,w^*)y (x ,w ∗) 则表现出十分严重的震荡。

拟合分析

这看起来是自相矛盾的,因为高阶多项式是包含低阶多项式(低阶是高阶的特殊情况),因此 M = 9 M=9 M =9 的结果至少应与 M = 3 M=3 M =3 相同才是。进一步的,对新数据最好的预测因当是 s i n ( 2 π x ) sin(2\pi x)s i n (2 πx ) ,而函数 s i n ( 2 π x ) sin(2\pi x)s i n (2 πx ) 的幂级数展开是包含所有的阶数的:s i n ( 2 π x ) = ∑ n = 0 ∞ ( − 1 ) n ⋅ ( 2 π ) 2 n + 1 ( 2 n + 1 ) ! x 2 n + 1 \displaystyle sin(2\pi x)=\sum^{\infty}_{n=0}\frac{(-1)^n\cdot(2\pi)^{2n+1}}{(2n+1)!}x^{2n+1}s i n (2 πx )=n =0 ∑∞​(2 n +1 )!(−1 )n ⋅(2 π)2 n +1 ​x 2 n +1,因此,可以预测到系数的绝对值是随着阶数 M 的增加单调递增的。

通过对不同阶数的多项式的系数 w ∗ \mathbf w^*w ∗ 的观察,可以获得某些启示,随着 M 的增加,系数的绝对值明显增大,特别是当 M=9 时,做到了对数据的完全拟合,但系数的绝对值变得格外大以使多项式函数可以精确拟合所有的点。直观的,产生的数据的更加灵活的(有随机噪声),而阶数 M 值较大的多项式正在被调整为目标值的噪声。

回归概述——多项式拟合

; 样本数量对拟合的影响

一个模型在不同大小的数据集上的表现也是值得关注的,下图所示为当 M=9 时,在不同大小数据集上的多项式拟合的表现。可以看出,对于给定的模型复杂度,当数据量增加时,过拟合问题出现的要少些。另一方面也说明数据集越大,则需要相对的更家复杂的模型去拟合数据。有时提倡的一种粗略的启发式方法是,数据点的数量应该不少于模型中自适应参数的一些倍数(比如5倍或10倍),但实际上,参数数量并非衡量模型复杂度的最合适的度量。

回归概述——多项式拟合

正则化

实际上,根据训练集的大小来限制模型参数数量是不合理的,而应当根据待解决问题来选择模型复杂度。在实际中,需要考虑如何应有有限的数据来得到相对比较灵活和复杂的模型,这就需要 正则化——用于控制过拟合现象,通过给误差函数增加一个惩罚项来避免系数的无限增大,则可得到修正后的误差函数为:
E ( w ) = 1 2 ∑ n = 1 N [ y ( x n , w ) − t n ] 2 + λ 2 ∣ ∣ w ∣ ∣ 2 \displaystyle E(\mathbf w)=\frac{1}{2}\sum^N_{n=1}[y(x_n,\mathbf w)-t_n]^2+\frac{\lambda}{2}||\mathbf w ||^2 E (w )=2 1 ​n =1 ∑N ​[y (x n ​,w )−t n ​]2 +2 λ​∣∣w ∣∣2,其中 ∣ ∣ w ∣ ∣ 2 = w T w = w 0 2 + w 1 2 + ⋯ + w M 2 ||\mathbf w ||^2=\mathbf w^T\mathbf w=w_0^2+w_1^2+\cdots+w^2_M ∣∣w ∣∣2 =w T w =w 0 2 ​+w 1 2 ​+⋯+w M 2 ​,系数 λ \lambda λ 用于控制正则项和平方误差和的相对重要性。

下图所示为当多项式阶数 M=9 时,采取正则化误差函数(取不同的 λ \lambda λ )拟合得到的结果;可以看出,当 l n λ = − 18 ln \lambda=-18 l n λ=−1 8 时,过拟合得到限制,得到了一个相对合适的拟合结果;但当所取的 λ \lambda λ 过大,却会导致欠拟合,对应于 l n λ = 0 ln \lambda=0 l n λ=0 ;而 λ \lambda λ 过小,则对应于正则项不起作用,即 l n λ = − ∞ ln \lambda=-\infty l n λ=−∞ 。

回归概述——多项式拟合

正则项对泛化误差的影响可以从均方根误差 E R M S E_{RMS}E R M S ​ 查看, E R M S E_{RMS}E R M S ​ 在训练集和测试集上对应于不同的 l n λ ln \lambda l n λ,得到结果如下所示(M=9)。可以看出 λ \lambda λ 可以有效控制模型复杂度从而避免过拟合。

回归概述——多项式拟合

Original: https://blog.csdn.net/qq_41536160/article/details/122432756
Author: 有梦想的雨
Title: 回归概述——多项式拟合

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/626496/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球