Statistic Learning 4

本文深入探讨了现代统计学习中的重采样方法,包括交叉验证、BootStrap、Leave-One-Out交叉验证及K-Fold交叉验证。通过Auto数据集实例,展示了如何利用验证集方法、留一交叉验证和K折交叉验证评估模型性能,比较了不同方法的偏差与方差权衡。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Resampling Methods

重采样方法是现代统计学习中不可缺失的一环。它们包括:

  • 重复的从训练集中采样
  • 重复的拟合模型以获得额外的信息

重采样方法会耗费计算机资源,因为需要从训练集中采集不同的子集来多次拟合同一个模型。下面,我们将要讨论两个较为常用的重采样方法:

  • Cross−ValidationCross-ValidationCrossValidation(交叉验证)
  • BootStrapBootStrapBootStrap

其中交叉验证估计测试误差以灵活的选择模型;BootStrapBootStrapBootStrap衡量了给定方法参数估计的准确性。

2. Cross Validation

Test Error Rate, Train Error Rate

  • Test Error Rate得到了一个方法预测新样本的平均误差;而Train Error Rate得到了一个方法在训练过程中Response和Label的误差。
  • 然而,Test Error Rate往往高于Train Error Rate

当缺少一个较大的测试集来估计Test Error Rate的时候,还有很多其他的替代方案如通过训练集得到Test Error Rate。在交叉验证中,训练样本中一个假冒的子集会扮演测试集。

The validation set approach

  • 假设我们要估计一个模型的Test Error Rate,Validation set approach是个非常简单的策略。它将所有样本随机分成2份,一份作为Training Set,另一份作为Validation Set(Hold-out Set)。模型在Training Set上进行训练,并通过Validation Set来验证模型的能力。尝试用MSEMSEMSE来评价模型的验证效果,它是一种对Test Error Rate的评估。
  • 现在使用Auto数据集来验证Validation Set Approach方法
    • 在Auto dataset中,mpg和horsepower有着非线性的关系,所以在线性回归模型中加入horsepower2horsepower^2horsepower2这一项,将会使得模型获得更好的效果。那么,我们很自然的想知道,三次拟合或者更高次的拟合会不会有更好的效果呢?在前文中,我们采用p−valuep-valuepvalue来检测这一点,但现在可以使用验证方法如MSEMSEMSE来回答这个问题。
    • 我们将392个样本随机分为2份,即Training Set和Validation Set各196各样本。我们使用Training Set拟合不同的回归模型(从1次到高次),并在Validation Set上使用MSEMSEMSE作为验证误差的度量,以评估各模型的性能。
    • 从实验结果上,我们可以发现:二次拟合明显优于线性拟合;然而三次和之后的高次拟合MSE不减反增,这证明了它们并没有很好的提升模型的性能。当整个数据集被重复的随机分成不同的Training Set和Validation Set,并训练模型后,会发现各个MSE曲线各不相同,它们对于哪个模型能够获得最好的性能并没有统一的意见。我们仅能得到的结论是:二次项的加入大大提升了模型的性能,表现在MSE普遍降低,故线性回归不适合该数据集。
  • Validation Set Approach很简单但有两个潜在的问题
    • 对所有数据集,不同的拆分发,训练出来的模型在验证集上MSEMSEMSE各不相同,过于依赖特定的Training Set和Validation Set。
    • 在验证方法中,只用训练集中的样本拟合模型,故当训练样本较小时,验证集的Test Error Rate将被过高的估计。

3. Leave-One-Out Cross-Validation

  • 简称LOOCVLOOCVLOOCV。假设有样本{(x1,y1),(x2,y2)....(xn,yn)}\{(x_1, y_1), (x_2, y_2) .... (x_n, y_n)\}{(x1,y1),(x2,y2)....(xn,yn)}LOOCVLOOCVLOOCV每次从样本中挑选出一个样本作为Validation Set,剩下的(n−1)(n-1)(n1)个样本当作Training Set。模型将会用(n−1)(n-1)(n1)个样本来拟合模型,并用1个样本计算MSEMSEMSE值。

    MSE=(y1−y1^)2MSE = (y_1 - \hat{y_1})^2MSE=(y1y1^)2

  • 根据上述选择Test Set的方法,可将过程重复nnn次得到nnnMSEMSEMSE的值。LOOCVLOOCVLOOCV估计Test MSE的方法为,求nnn个Test Error估计的均值:

    CV(n)=1n∑i=1nMSEiCV(n) = \frac{1}{n}\sum_{i=1}^nMSE_iCV(n)=n1i=1nMSEi

  • LOOCVLOOCVLOOCV相对于Validation Set Approach方法有以下两个优点

    • 偏差低(far less bias)。bias高会导致过高估计Test Error Rate,因为浮动性太大,而造成这个问题的主要原因是训练样本不充足。而LOOCVLOOCVLOOCV每次都选取n−1n-1n1个样本,相对于Validation Set Approach的n2\frac{n}{2}2n,Training Set大得多。故偏差高的问题得到缓解。
    • Validation Set Approach中的Training Set中的样本随机性太强,导致各个MSE曲线各不相同,无法得出有用的结论。而LOOCVLOOCVLOOCV总会得出相似的MSE曲线,故在拆分训练集/测试集时没有随机性。
  • 然而,使用LOOCVLOOCVLOOCV对算力要求较高,因为要测试nnn次模型。当nnn过大时,会耗费大量的时间拟合最小二乘线性或者多项式回归中,但是可通过一个捷径减小LOOCVLOOCVLOOCV的开销至训练一个模型相当。公式如下:

    CV(n)=1n∑i=1n(yi−yi^1−hi)2CV(n) = \frac{1}{n}\sum_{i=1}^n(\frac{y_i-\hat{y_i}}{1-h_i})^2CV(n)=n1i=1n(1hiyiyi^)2

    • 其中,yi^\hat{y_i}yi^未原始最小二乘的第iii个拟合值;hih_ihi是高杠杆点。这个值和原始的MSEMSEMSE相似,但第iii个残差除以了(1−hi)(1-h_i)(1hi)leverageleverageleverage值位于(1n,1)(\frac{1}{n}, 1)(n1,1)之间,反应了一个样本对于拟合自身的影响。因此,高杠杆点的残差被正确的计算,从而使得等式成立。
    • 也就是说,影响Test Error Rate往往是异常点:离群点、高杠杆点。其中,高杠杆点的影响尤为明显,拟合nnn次模型就是为了消除这些异常点的影响。而通过上述捷径公式可直接消除异常点的影响,无需进行多次的拟合,但该方法并不一直使用。

4. K-Fold Cross-Validation

  • LOOCVLOOCVLOOCV的一个替代品就是K-Fold CV,其步骤如下

    • 首先将训练集分成等大小的kkk

    • 每次选择其中一组作为验证集,模型拟合剩余的(k−1)(k-1)(k1)组,MSE计算均方差。

    • 重复kkk次后,K-Fold CV可用于计算下式的估计

      CV(k)=1k∑ikMSEiCV(k) = \frac{1}{k}\sum_i^kMSE_iCV(k)=k1ikMSEi

    不难发现,当k=nk=nk=n时,LOOCVLOOCVLOOCV是K-Fold CV的一个特殊形式。

  • 在实践中,往往设置k=5k=5k=5或者k=10k=10k=10,那么K-Fold相对于LOOCVLOOCVLOOCV的优势在哪里呢?

    • 首先肯定是降低了计算量。LOOCVLOOCVLOOCV需要拟合nnn次模型,当nnn很大的时候,这几乎是场灾难。
    • Bias−Variance−Trade−OffBias-Variance-Trade-OffBiasVarianceTradeOff。通过将训练集随机分成10个,并使用9个进行训练得到的Error Curve(误差曲线)的变化明显没有Validation Set Approach强烈。
  • 我们再详细的看一下Bias−Variance−Trade−OffBias-Variance-Trade-OffBiasVarianceTradeOff

    • k<nk<nk<n时,K-Fold CV相对于LOOCVLOOCVLOOCV有着计算上的优势。我们将该优势放在一边,可以发现K-Fold CV一个不太明显但却更加重要的优点是:它相较于LOOCVLOOCVLOOCV对于Test Error Rate的估计会更加的精确,这和Bias−Variance−Trade−OffBias-Variance-Trade-OffBiasVarianceTradeOff相关。
    • 在上文中,我们提到Validation Set Approach会对Test Error Rate估计过高,因为这个方法中的训练集仅为数据集的一半。在这个逻辑下,不难看出LOOCVLOOCVLOOCV给出的测试误差近似无偏估计(因为每个训练集包含(n−1)(n-1)(n1)个样本,接近整体了,求的就是每个整体数据集训练出来的模型的MSE的均值)。
    • 而K-Fold CV,当k=5k=5k=5k=10k=10k=10的时候,将会找到偏差较为中间的部分,因为每个训练集包含n(k−1)k\frac{n(k-1)}{k}kn(k1)个样本,比LOOCVLOOCVLOOCV的方法少得多,但比Validation Approach多得多。所以,从减少偏差的角度,LOOCVLOOCVLOOCV优于K-Fold CV。
    • 但在估计的过程中,偏差(Bias)并不是唯一需要关心的,我们必须要同时考虑VarianceVarianceVariance。事实证明,当k<nk<nk<n时,LOOCVLOOCVLOOCVVarianceVarianceVariance明显高于K-Fold CV。为什么?当我们进行LOOCVLOOCVLOOCV的时候,我们实际上室对nnn个拟合模型的输出进行平均,每个模型几乎都在相同的训练集上进行训练,因为这些输出高度相关。相比之下,K-Fold CV的输出相关性较小,因为每个模型的训练集的重叠度较小。
    • 因为许多高度相关量的均值比低相关量的均值,有更高的方差;因此,LOOCVLOOCVLOOCV产生的测试误差估计往往比K-Fold CV有更高的方差。

本文为作者原创,转载需注明出处!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值