900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 回归概述——多项式拟合

回归概述——多项式拟合

时间:2023-03-26 04:56:07

相关推荐

回归概述——多项式拟合

数据生成

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

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

多项式拟合

而回归的任务是利用这些训练集中的数据对新输入变量 x^\hat\mathcal xx^ 预测输出 t^\hat tt^。首先考虑使用一种简单的曲线拟合方式——多项式拟合:

y(x,w)=w0+w1⋅x+w2⋅x2+⋯+wM⋅xM=∑j=0Mwj⋅xj\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^jy(x,w)=w0​+w1​⋅x+w2​⋅x2+⋯+wM​⋅xM=j=0∑M​wj​⋅xj

误差函数

多项式的系数以向量形式表达 :w=(w0,w1,⋯,wM)T\mathbf w=(w_0,w_1,\cdots,w_M)^Tw=(w0​,w1​,⋯,wM​)T,需要确定该拟合多项式的系数,可以通过最小化拟合函数 y(x,w)y(x,\mathbf w)y(x,w) 和训练集中数据点之间的误差得到,则定义误差函数

E(w)=12∑n=1N[y(xn,w)−tn]2\displaystyle E(\mathbf w)=\frac{1}{2}\sum^N_{n=1}[y(x_n,\mathbf w)-t_n]^2E(w)=21​n=1∑N​[y(xn​,w)−tn​]2

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

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

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

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

均方根误差(RMS)

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

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

拟合分析

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

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

样本数量对拟合的影响

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

正则化

实际上,根据训练集的大小来限制模型参数数量是不合理的,而应当根据待解决问题来选择模型复杂度。在实际中,需要考虑如何应有有限的数据来得到相对比较灵活和复杂的模型,这就需要正则化——用于控制过拟合现象,通过给误差函数增加一个惩罚项来避免系数的无限增大,则可得到修正后的误差函数为:

E(w)=12∑n=1N[y(xn,w)−tn]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 ||^2E(w)=21​n=1∑N​[y(xn​,w)−tn​]2+2λ​∣∣w∣∣2,其中 ∣∣w∣∣2=wTw=w02+w12+⋯+wM2||\mathbf w ||^2=\mathbf w^T\mathbf w=w_0^2+w_1^2+\cdots+w^2_M∣∣w∣∣2=wTw=w02​+w12​+⋯+wM2​,系数 λ\lambdaλ 用于控制正则项和平方误差和的相对重要性。

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

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。