0%

实用ML_4.模型验证

模型验证(Validation)

验证(validation)集与测试(test)集

验证集往往是从训练集中划分出的一部分数据,用来验证模型泛化能力,可以使用多次;测试集是单独的一系列数据,在模型训练完成后,衡量模型效果,一般只使用一次

如何生成验证集

随机划分

特殊情况

某些情况下,训练数据可能不适合采用随机划分的方式验证集合,如

  1. 具有序列关系的数据-股价、房子销售
    • 验证集数据应在训练集后,避免模型训练使用到了验证集的未来信息,导致模型在验证集上的表现较好
  2. 训练数据由不同组,每个组有多个样本-同一个人的多个照片
    • 以组为单位进行随即划分
    • 一百组照片,选70个人训练,30个人验证
  3. 类别不均衡数据
    • 对于较小类更多的采样

K-fold Cross Validation k折交叉验证

将数据集划分为k个子集,每次选取一个子集作为有验证集,其余k个集合合并为训练集,重复k次,用k次平均验证误差作为验证集误差。

有关验证集的常见错误(common mistakes)

  1. 验证集中有来自训练集的样本
    • 数据集中有重复样本
  2. 数据泄露(leaking)
    • 训练时用到了验证集未来的数据(时间序列分析)