Resampling Methods

它们涉及从训练集中重复抽取样本,并在每个样本上重新拟合感兴趣的模型,以获得有关拟合模型的额外信息

交叉验证可以用来估计与给定的统计学习方法相关的测试误差,以评估其性能,或者选择合适的灵活性水平。


💡 评估模型性能的过程称为模型评估,而为模型选择合适的灵活性水平的过程称为模型选择

自助法( bootstrap )在几种情况下被使用,最常见的是用来衡量参数估计的准确性或给定统计学习方法的准确性

交叉验证(Cross-Validation

在没有非常大的指定测试集可以用来直接估计测试错误率的情况下,可以使用一些技术来使用可用的训练数据来估计这个数量。

验证集方法

用于在一组观测值上估计特定统计学习方法的测试误差

它涉及将可用观测集随机分为两部分,训练集(training set)和验证集(validation set)或保持集(hold-out set)模型在训练集上拟合,拟合好的模型在测试集上做预测。验证集的错误率提供了测试错误率的估计值。

验证集方法概念简单,易于实现。但它有两个潜在的弊端:

  • 图下图所示,测试错误率的验证估计值可以是高度可变的,具体取决于哪些观测值包含在训练集中,哪些观测值包含在验证集中。

resis实现mq resampling method_人工智能

  • 在验证方法中,只有观察的一个子集——那些包含在训练集中而不是验证集中的——被用来对模型进行测试。 由于统计方法在较少的观察值上训练时往往表现较差,这表明验证集错误率可能倾向于高估模型在整个数据集上的测试错误率。

留一交叉验证(Leave-One-Out Cross-Validation

然而,与上节创建两个大小相当的子集不同,验证集使用单个观测值resis实现mq resampling method_resis实现mq_02,其余观测值 resis实现mq resampling method_MSE_03

由于在拟合过程中没有使用 resis实现mq resampling method_深度学习_04resis实现mq resampling method_MSE_05 为测试误差提供了近似无偏估计。但是,尽管MSE1对试验误差是无偏的,但由于它是基于单个观测值 resis实现mq resampling method_深度学习_04

对验证数据选择 resis实现mq resampling method_resis实现mq_07,在 resis实现mq resampling method_resis实现mq_08 个观测值resis实现mq resampling method_MSE_09,计算 resis实现mq resampling method_深度学习_10。重复这种做法 resis实现mq resampling method_深度学习_11 次,产生 resis实现mq resampling method_深度学习_11 个平方误差,resis实现mq resampling method_深度学习_13

LOOCV的测试 resis实现mq resampling method_人工智能_14 估计是这 resis实现mq resampling method_深度学习_11

resis实现mq resampling method_拟合_16

与验证集方法相比,LOOCV具有几个主要优点:

  • 具有更小的偏差。我们使用 resis实现mq resampling method_人工智能_17
  • 验证集方法划分训练/验证集时的随机性,重复应用时会导致不同的结果;LOOCV方法总会得到相同的结果,因为训练/验证集的划分不存在随机性

LOOCV 方法的应用成本可能很高,因为一个模型需要拟合 resis实现mq resampling method_深度学习_11 次,特别是 resis实现mq resampling method_深度学习_11

resis实现mq resampling method_resis实现mq_20

resis实现mq resampling method_深度学习_21 是原始最小二乘法拟合中的第 resis实现mq resampling method_resis实现mq_22 个响应值,resis实现mq resampling method_深度学习_23 是 式( 3.37 ) 的杠杆量。这与普通的 resis实现mq resampling method_人工智能_14 类似,只是第 resis实现mq resampling method_resis实现mq_22 个残差除以 resis实现mq resampling method_resis实现mq_26 。杠杆量介于 resis实现mq resampling method_MSE_27 和 1 之间,反映了观测量对自身拟合的影响程度。因此,在这个公式中,高杠杆点的残差恰好是这个等式成立的合适量。这个公式普遍并不成立,在这种情况下,模型必须重新拟合 resis实现mq resampling method_深度学习_11

K折交叉验证(k-Fold Cross-Validation

将数据集随机分为 resis实现mq resampling method_MSE_29 组(称为 resis实现mq resampling method_MSE_29 折),大小近似相等。第一折作为验证集,剩余作为训练集,在验证集上得到 resis实现mq resampling method_深度学习_31 。这个过程重复 resis实现mq resampling method_MSE_29 次,每次选择不同的验证集,得到 resis实现mq resampling method_MSE_29 个测试集的估计值 resis实现mq resampling method_深度学习_34

resis实现mq resampling method_深度学习_35

resis实现mq resampling method_MSE_36

resis实现mq resampling method_深度学习_35-折交叉验证是 LOOCV 的特例。其最大优点在于计算量,resis实现mq resampling method_resis实现mq_38 时需要模型进行 n 次拟合,而 k 折只需进行 k 次拟合。而执行 resis实现mq resampling method_MSE_39resis实现mq resampling method_拟合_40

当我们进行交叉验证时,我们的目标可能是确定给定的统计学习过程在独立数据上的表现;在这种情况下,测试 resis实现mq resampling method_人工智能_14

但在其他时候我们只对估计的测试 resis实现mq resampling method_人工智能_14 曲线中的最小值点的位置感兴趣。这是因为我们可能在多个统计学习方法上进行交叉验证,或者在单个方法上使用不同的灵活性水平,以识别导致最低测试误差的方法。为此,估计的测试MSE曲线中最小点的位置很重要,但估计的测试MSE的实际值并不重要。

resis实现mq resampling method_深度学习_35

K-折交叉验证的一个不太明显但潜在更重要的优点是它经常给出比LOOCV更精确的测试错误率估计。这与偏差-方差权衡有关

从降低偏差角度来看,LOOCV 要优于 K-折交叉验证。

因为 LOOCV 使用了几乎( resis实现mq resampling method_人工智能_44 个观测值)整个数据集,而 K-折交叉验证每个训练集包含 resis实现mq resampling method_深度学习_45

但 K-折交叉验证 比 LOOCV 具有更低的方差。

当我们执行 LOOCV 时,我们实际上是对 resis实现mq resampling method_深度学习_11

相比之下,当我们执行 resis实现mq resampling method_拟合_47 的 k 折 CV 时,我们正在对彼此相关性较低的 resis实现mq resampling method_深度学习_35

由于许多高度相关量的均值比许多不太相关量的均值具有更高的方差,因此LOOCV得到的试验误差估计值往往比K-折交叉验证得到的试验误差估计值具有更高的方差。

综上,在 K 折交叉验证中,存在一个与 k 的选择相关的偏差-方差权衡。通常,考虑到这些因素,我们使用 resis实现mq resampling method_人工智能_49resis实现mq resampling method_人工智能_50

分类问题的交叉验证

不使用 resis实现mq resampling method_MSE_51

例如,在分类设置中,LOOCV错误率取形式

resis实现mq resampling method_人工智能_52

resis实现mq resampling method_深度学习_53,k-折 CV错误率和验证集的错误率定义类似

resis实现mq resampling method_深度学习_54


图 5.8 显示的二维分类数据的测试误差(棕色)、训练误差(蓝色)和 10-折 CV 误差(黑色)。 左:使用预测变量的多项式函数的逻辑回归。 所用多项式的顺序显示在 x 轴上。 右图:具有不同 K 值的 KNN 分类器,KNN 分类器中使用的邻居数量。

自助法(Bootstrap

自助法( bootstrap )是一种应用广泛且极其强大的统计工具,可以用来量化与给定估计量或统计学习方法相关的不确定性

Bootstrap方法允许我们使用计算机模拟获得新样本集的过程,这样我们就可以在不产生额外样本的情况下估计 resis实现mq resampling method_MSE_55

我们不是从总体中重复获得独立的数据集,而是通过从原始数据集中重复采样观测值来获得不同的数据集。 如下图

resis实现mq resampling method_MSE_56

图5.11 包含 resis实现mq resampling method_resis实现mq_57 个观测值的小样本的 bootstrap 方法的图形说明。 每个 bootstrap 数据集包含 resis实现mq resampling method_深度学习_11 个观测值,从原始数据集中进行替换采样。 每个 bootstrap 数据集用于获得 resis实现mq resampling method_深度学习_59

采样是有放回的,意味着相同的观测值可以多次出现在一个 bootstrap 数据集中。产生 B 个bootstrap 集 resis实现mq resampling method_深度学习_60,同时产生 B 个估计值 resis实现mq resampling method_人工智能_61,计算 bootstrap 估计的标准误差

resis实现mq resampling method_拟合_62