held-out(留出法)及相关--学习笔记

  1. 直接将数据集D划分为两个互斥的集合,其中一个集合作为训练集S,另外一个作为测试集T,即D=S∪T,S∩T=0.在S上训练出模型后,用T来评估其测试误差,作为对泛化误差的评估
  2. 需要注意的问题:
    1. 训练/测试集的划分要尽可能的保持数据分布的一致性,避免因数据划分过程引入额外的偏差而对最终结果产生影响
    2. 在给定训练/测试集的样本比例后,仍然存在多种划分方式对初始数据集D进行划分,可能会对模型评估的结果产生影响。因此,单次使用留出法得到的结果往往不够稳定可靠,在使用留出法时,一般采用若干次随机划分、重复进行实验评估后取得平均值作为留出法的评估结果
    3. 希望评估的是用D训练出的模型的性能,但是留出法需划分训练/测试集,这就会导致一个窘境:若另训练集S包含大多数的样本,则训练出的模型可能更接近于D训练出的模型,但是由于T比较小,评估结果可能不够稳定准确;若另测试集T包含多一些样本,则训练集S与D的差别更大,被评估的模型与用D训练出的模型相比可能就会有较大的误差,从而降低了评估结果的保真性(fidelity)。因此,常见的做法是:将大约2/3~4/5的样本用于训练,剩余样本作为测试
  3. 分层采样(stratified sampling): 在对数据集进行划分的时候,保留类别比例的采样方式称为“分层采样”。
  4. 机器学习大致过程和步骤:
    1. 将整个数据集按照正确的划分方式划分成训练集、验证集、测试集。
    2. 选取一个模型选择方法(如Hold-out Method),首先确定一个学习算法,然后确定模型的超参数集
    3. 将模型用于训练集上训练,确定模型函数中的参数集。
    4. 将此时完整的模型用于验证集上进行性能评估。
    5. 重复2、3、4步骤,根据在验证集上的性能评估结果,得到效果最好的学习算法以及确定了其模型的超参数集。
    6. 此时,模型选择(Model Selection)已经完成,确定了最优的学习算法以及其超参数组合,把训练集和验证集合并,然后把模型置于合并后的训练集上训练,确定模型中的函数等参数,得到最优函数。
    7. 把训练好的模型用于测试集上进行模型评估(Model Evaluation)。
    8. 在整个数据集上训练最终模型,得到一个在未见数据集或未来数据集上能够更好地泛化的模型。

猜你喜欢

转载自blog.csdn.net/weixin_45647721/article/details/127374215