• 留出法。
      • K 折交叉验证法cross validation
      • 自助法bootstrapping
    1. 留出法:直接将数据切分为三个互斥的部分(也可以切分成两部分,此时训练集也是验证集),然后在训练集上训练模型,在验证集上选择模型,最后用测试集上的误差作为泛化误差的估计。

    2. 数据集的划分要尽可能保持数据分布的一致性,避免因数据划分过程引入额外的偏差而对最终结果产生影响。若训练集、验证集、测试集中类别比例差别很大,则误差估计将由于训练/验证/测试数据分布的差异而产生偏差。

      如:在分类任务中至少要保持样本的类别比例相似。如果从采样的角度来看到数据集的划分过程,则保留类别比例的采样方式称作“分层采样“(strafified sampling)。

    3. 即使进行了分层采样,仍然存在多种划分方式对数据集进行划分(比如排序后再划分、随机划分…)。这些不同的划分将导致不同的训练集/验证集/测试集。因此单次留出法得出的估计结果往往不够稳定可靠。

      在使用留出法时,往往采用若干次随机划分、重复进行实验评估后,取平均值作为留出法的评估结果。

    1. K 种组合依次重复进行,获取测试误差的均值,将这个均值作为泛化误差的估计。

    2. 与留出法相似,将数据集划分为 K 个子集同样存在多种划分方式。为了减少因为样本划分不同而引入的差别, K 折交叉验证通常需要随机使用不同划分重复 次,这 pK 折交叉验证的测试误差均值作为最终的泛化误差的估计。

    1. 留一法:假设数据集中存在 个样本,令 五、泛化能力评估 - 图1 则得到了 K 折交叉验证的一个特例。

    1. 留一法受训练样本规模变化的影响较小,但是计算复杂度太高。

      自助法是一个以自助采样法(bootstrap sampling)为基础的比较好的解决方案。

    2. 自助采样法:给定包含 个样本的数据集 五、泛化能力评估 - 图2 ,对它进行采样产生数据集 :

      • 每次随机从 五、泛化能力评估 - 图3 中挑选一个样本,将其拷贝放入 中,然后再将该样本放回初始数据集 五、泛化能力评估 - 图4 中(该样本下次采样时仍然可以被采到)。
      • 重复这个过程 次,就得到了包含 五、泛化能力评估 - 图5 个样本的数据集 。
    3. 显然, 五、泛化能力评估 - 图6 中有些样本会在 中多次出现了; 五、泛化能力评估 - 图7 中有些样本在 中从不出现。五、泛化能力评估 - 图8 中某个样本始终不被采到的概率为 。

      根据极限 五、泛化能力评估 - 图9 ,即通过自助采样,初始数据集 中约有 36.8% 的样本未出现在采样数据集 五、泛化能力评估 - 图10中。

    4. 自助法在数据集较小时很有用。

      • 优点:能从初始数据集中产生多个不同的训练集,这对集成学习等方法而言有很大好处。