知识卡片

Bootstrap与OOB的验证集构造

专业/工作 · 289.b

内容

只有一份训练数据、没有独立验证集时,一个看似合理但实际错误的做法是:用有放回抽样生成多份Bootstrap数据集训练多个模型,再让每个模型对原始全量数据打分求平均误差——问题在于每个模型的训练样本和”验证”样本高度重合,得到的误差会明显低估真实的泛化误差。正确做法是利用有放回抽样的一个副产品:由于是有放回抽样,每份Bootstrap数据集大概率不会覆盖原数据集里的所有样本,那些没被抽中的样本天然构成了一份没被这个模型见过的验证集(即袋外样本,OOB)。这个思路的可迁移之处在于:想构造”干净”的验证集时,与其额外切分数据,不如看能否利用采样过程本身产生的”遗漏”作为天然的留出集。

参考来源

《深入理解XGBoost:高效机器学习算法与进阶》第8章《模型选择与优化》