评估方法 · 模型选择与误差估计

留出法 · 交叉验证法 · 自助法 — 拖动滑块调整参数,观察数据集划分与误差变化

📂 留出法 (Hold‑out)

标准介绍:留出法直接将数据集 D 划分为两个互斥的集合:训练集 S 和测试集 T,即 D = S ∪ T,S ∩ T = ∅。在 S 上训练模型后,用 T 评估测试误差,作为泛化误差的估计。通常采用分层采样保持类别比例。单次划分的估计不够稳定,一般需要多次随机划分取平均。

误差估计: Ehold‑out = 1⁄|T| Σ(x,y)∈T ℓ( f(x), y )

通俗介绍:就像老师出题,把题库分成“平时作业题”和“期末考试题”。平时作业全做对不等于期末能考好,所以用没见过的期末题来检验真实水平。留出法就是留出一部分数据当“期末考试”,剩下的用来练习。

🔁 交叉验证法 (k‑fold Cross Validation)

标准介绍:将数据集 D 划分为 k 个大小相似的互斥子集。每次用 k‑1 个子集的并集作为训练集,余下的子集作为测试集;共进行 k 次训练/测试,最终返回这 k 个测试误差的均值。常用的有10折交叉验证。特殊情形 k = |D| 称为留一法。

误差估计: Ek‑fold = 1⁄k Σi=1k Ei ,其中 Ei 是第 i 折上的测试误差。

通俗介绍:把题库分成 k 等份,轮流把其中一份当“小测验”,其余 k‑1 份用来复习。这样每道题都被考过一次,最后算平均分,比单次考试更公平、更稳定。

🎲 自助法 (Bootstrapping)

标准介绍:基于自助采样法,从包含 m 个样本的数据集 D 中,有放回地随机采样 m 次,得到训练集 D'。一部分样本会在 D' 中重复出现,而约有 36.8% 的样本从未被采样到,这部分可作为测试集(Out‑of‑Bag, OOB)。自助法在数据集较小、难以有效划分训练/测试集时有用,但会改变数据分布。常用的 .632 估计为:

.632 估计: E.632 = 0.632 · EOOB + 0.368 · Etrain

通俗介绍:从一堆卡片中每次抽一张,记下号码再放回去,抽 m 次。有些卡片会被抽到多次(训练集),而约 36.8% 的卡片一次也没被抽到(测试集)。这种方法在数据很少时能“变出”测试集,但因为有重复,模型可能会盲目乐观,所以要用 .632 公式修正误差。