Answers:
简短的答案:两种验证技术都涉及训练和测试许多模型。
关于如何做到最好的长答案:这当然取决于。但是这里有一些想法可以用来指导我关于重采样验证的决策。我是化学计量师,所以这些策略以及这些术语与分析化学问题或多或少地密切相关。
为了稍微解释一下我的想法,我认为验证是衡量模型的质量,而培训则是衡量模型的参数-这导致了对其他所有类型的衡量的强大推论。
这些方法在验证方面有两种不同的观点:
重采样验证的传统观点是:重采样的数据集(有时称为替代数据集或子集)实际上与原始(真实)数据集相同。
因此,适合替代数据集的“替代模型”实际上与适合整个真实数据集的模型相同。但是一些样本没有包含在替代数据集中,该模型独立于这些。因此,我将那些遗漏的或超出引导范围的样本作为代理模型的独立验证集,并将结果用作整个数据模型的近似值。
但是,替代模型通常并不能真正等同于整个数据模型:用于训练的样本更少(即使是自举,不同样本的数量也会更少)。只要学习曲线不断增加,代理模型平均就比整个数据模型差一点。这是众所周知的重采样验证的悲观偏见(如果最终得出乐观偏见,则通常表明剩余/ oob测试集与模型无关)。
第二个观点是,重新采样的数据集是整个数据集的扰动版本。检查代理模型(或其对遗漏/ oob样本的预测)与整个数据模型的不同之处,然后就可以得出关于训练数据的模型稳定性的信息。
从这个角度来看,替代模型就像是重复测量。说您的任务是测量整列矿石中某些矿物的含量。矿石不均匀。因此,您需要从不同位置获取物理样本,然后查看整个内容及其在整个火车上的变化。同样,如果您认为模型可能不稳定,则可以查看替代模型的整体性能和变化。
我通常对案例进行重采样,例如一个案例=一名患者的所有测量值。然后,所有患者的训练数据中都没有测量结果。如果您知道一个案例的度量比其他案例的度量更相似(或者至少不能排除这种可能性),这将很有用。
并不是说重新采样验证可以让您衡量未知样品的性能。如果您还想测量未知未来样本的性能(仪器漂移!),则需要“在将来”测量的测试集,即在测量所有训练样本之后的某个时间。在分析化学中,这是必需的,例如,如果您想了解需要多久重新进行一次仪器校准(对于每次测定,每天,每周,每月等)
Bootstrap与交叉验证术语:
两者都可以有某种分层。从历史上看,交叉验证(至少在化学计量学中)的拆分通常是以非随机的方式进行的,例如,用于校准/如果案例(物理样本)很少,并且要确保覆盖整个数据范围,则进行回归分析。
两种技术通常都会重复/重复多次。再次出于历史原因,至少在化学计量学方面,k倍交叉验证通常意味着训练和测试k个模型(每个模型都用训练中未涉及的数据的1 / k进行了测试)。如果重复进行这样的随机拆分,人们将其称为迭代或重复交叉验证。
我不了解“最佳”(这可能取决于您使用它的目的),但是我使用引导程序验证通过以下方式(如果愿意,可以采用第三种方式)估算新数据的错误:
袋装物品的含义并不总是很清楚。通常,所有这些观察结果都不属于训练范围。(在这种情况下,我将以这种方式使用)更严格的做法是,仅在oob样本中拥有不包含训练集一部分的整个预测变量向量的实现的观察值(如果您有很多因素,这尤其有用)。更严格的是使用oob样本,该样本仅包含那些在模型中选择的预测变量上对预测变量具有不同实现的观察结果(如果通过某些变量选择程序(例如树)找到模型,则特别有用)。
然后,我通常将其重复k次,并将结果汇总到k倍(均值或中位数或任何方便的统计数据)。然后,可以将以这种方式选择的模型拟合到整个数据集(如您的选项2所示),以额外衡量是否仍然存在过度拟合的趋势(性能度量值应与引导样本相差不大)。
如果我有更多模型或参数网格或类似模型,则将它们全部拟合到每个训练集中,并在每个oob样本上对它们进行评估。也可能不使用训练集两次,而是使用每个模型或调整参数组合来绘制新的训练/对象对。
参见例如基准测试的设计和分析。