← 返回题目列表

Bootstrap 如何用于模型评估?

中等 第 20 / 25 题 更新于 2026/09/19
模型评估机器学习面试题模型训练

简化版

Bootstrap 从评估样本中有放回重采样,重复计算指标以估计不确定性和置信区间。重采样单位必须匹配数据独立单位;时间序列或同用户多记录要用 block/cluster bootstrap。

详细版

  • 每次通常抽与原数据同样数量的样本。

  • 百分位区间取重复指标分布的分位点。

  • 小样本和非平滑指标可能有明显偏差。

  • 两个模型比较应在同一重采样中计算差值。

  • 测试集分布不代表线上时,区间再窄也无效。

完整版教学

一、Bootstrap 用经验分布模拟重复抽样

真实总体未知,经验分布把每个观测赋予 1/n 概率;有放回抽样模拟重新采集数据。

配对比较保留同一请求上两模型预测相关性,差值方差通常更小。

二、底层机制与公式

for b in 1..B: idx=sample_with_replacement(n,n); m_b=metric(y[idx],p[idx])
CI95=quantile(m,[0.025,0.975])

三、带数字的推演

在 2000 个样本上重复 1000 次,AUC 分布 2.5% 与 97.5% 分位为 0.78、0.84,则报 95% bootstrap CI [0.78,0.84]

四、方案对比

方案/对象核心特点代价或边界
普通 bootstrapIID 数据简单忽略组内相关
Cluster bootstrap按用户/主体重采样有效簇少时不稳
Block bootstrap保留时间局部相关块长需选择

五、执行流程

确定独立单位 -> 同时重采样标签与预测 -> 重算指标/差值
-> 检查分布和区间 -> 多 seed/B 稳定性 -> 报点估计与 CI

六、边界条件与工程代价

不能只重采样预测而不重采样对应标签;行索引必须整体同步。

准确率等离散指标在极小样本可能分布粗糙,必要时用 BCa、精确法或更多数据复核。

记忆钩子:Bootstrap 先找真正独立的抽样单位,再有放回重复。

七、常见误区与追问

  • 误区:Bootstrap 是不放回抽样。 核心是有放回重采样经验分布。

  • 追问:模型比较怎么做? 同一索引下计算两模型指标差。

  • 误区:每条日志都可独立抽。 同用户相关记录需按用户成簇。

  • 追问:B 越大解决什么? 减少蒙特卡洛误差,不解决样本偏差。

  • 追问:时间序列怎么办? 按连续块抽样以保留自相关。

八、加强记忆

Bootstrap 先找真正独立的抽样单位,再有放回重复。

区间描述抽样不确定性,不会替你修复分布偏差。