回归概述——多项式拟合

数据生成

假设当观察到一个实值的输入变量 x \mathcal x x,而想利用这些观测数据来预测实值变量 t t t。数据由以一个带有噪声的由函数 s i n ( 2 π x ) sin(2\pi\mathcal x) sin(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=(x1,,xN)T,相应的观测值为 t = ( t 1 , ⋯   , t N ) T \mathbf t=(t_1,\cdots,t_N)^T t=(t1,,tN)T。)观测值 t n t_n tn s i n ( 2 π x ) sin(2\pi\mathcal x) sin(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)=w0+w1x+w2x2++wMxM=j=0Mwjxj

误差函数

多项式的系数以向量形式表达 : w = ( w 0 , w 1 , ⋯   , w M ) T \mathbf w=(w_0,w_1,\cdots,w_M)^T w=(w0,w1,,wM)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)=21n=1N[y(xn,w)tn]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}} ERMS=N2E(w) ,除 N 使得可以在不同大小的数据集上以相同的基准进行比较,平方根确保 E R M S E_{RMS} ERMS 是对目标变量 t 在相同尺度上的测量。当 M 取不同值时,训练集和测试机的 E R M S E_{RMS} ERMS 如下所示:
在这里插入图片描述

测试集上的误差是对模型对新数据的预测性能好坏的度量,同时,多项式是固定的且没有能力捕捉像 s i n ( 2 π x ) sin(2\pi x) sin(2πx) 这种函数的波动特性,当 3 ≤ M ≤ 8 3\le M\le 8 3M8 时, 尽管在 [ 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 w0,w1,,w9,因此可以完美拟合训练集中的 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) sin(2πx) ,而函数 s i n ( 2 π x ) sin(2\pi x) sin(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} sin(2πx)=n=0(2n+1)!(1)n(2π)2n+1x2n+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)=21n=1N[y(xn,w)tn]2+2λw2,其中 ∣ ∣ 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 w2=wTw=w02+w12++wM2,系数 λ \lambda λ 用于控制正则项和平方误差和的相对重要性。

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

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值