离线评估的基本原理是在离线环境中,将数据集分为“训练 集”和“测试集”两部分,⽤“训练集”训练模型,⽤“测试集”评估模型。
根据数据集划分方法的不同,离线评估可分为以下3种。
一、.Holdout检验
- 主要做法:将原始的样本集合随机划分为训练集和验证集两部分。
- 举例说明:对于⼀个推荐模型,可以把 样本按照 70%-30%的⽐例随机分成两部分,70%的样本⽤于模型的训 练;30%的样本⽤于模型的评估。
- 缺点:在验证集上计算出来的评估指标与 训练集和验证集的划分有直接关系,如果仅进⾏少量Holdout检验,则 得到的结论存在较⼤的随机性。
二、交叉检验
为了消除holdout检验的随机性,“交叉检验”的 思想被提出。
- 主要做法:
- 将全部样本划分成 k个⼤⼩相等的样本⼦集;
- 依次遍历这k个⼦集,每次都把当前⼦集作为验证集,其余所有⼦集作 为训练集,进⾏模型的训练和评估;
- 最后将所有k次的评估指标的平均值作为最终的评估指标。
- 特殊情况——留一验证:
- 主要做法:每次留下1个样本作为验证集,其余所有样本作为测试 集。样本总数为n,依次遍历所有n个样本,进⾏n次验证,再将评估指 标求平均得到最终指标。
- 缺点:在样本总数较多的情况下,留⼀验证法的时间开销极⼤。
- 留P验证:留⼀验证是留p验证的特例。留p验证是指每次 留下p个样本作为验证集,⽽从n个元素中选择 p 个元素有 种可能, 因此它的时间开销远远⾼于留⼀验证,故很少在实际⼯程中应⽤。
三、自助法
不管是 holdout 检验还是交叉检验,都是基于划分训练集和测试集 的⽅法进⾏模型评估的。然⽽,当样本规模⽐较⼩时,将样本集进⾏ 划分会让训练集进⼀步减⼩,这可能会影响模型的训练效果。
- 主要做法:基于⾃助采样法的检验⽅法,对于总数为n 的样本集合,进⾏n次有放回的随机抽样,得到⼤⼩为n的训练集。在n 次采样过程中,有的样本会被重复采样,有的样本没有被抽出过,将 这些没有被抽出的样本作为验证集进⾏模型验证,就是⾃助法的验证 过程。
- 优点:能够在样本量较小或者总体分布复杂的情况下进行统计推断,能够有效地避免了对总体分布的假设。
- 缺点:计算量较大、样本的偏差可能较大等。