进行机器学习模型训练时,存在训练集、验证集和测试集。通常利用训练集学习模型参数,利用验证集学习模型超参数,由训练集和验证集确定机器学习模型。对于测试集的使用存在两种情况。
1. 先去掉测试集上各个样本的标签,利用所学得的模型在测试集上对各个样本进行判断,将判断结果与样本原标签(Ground Truth)进行比对,利用精确率、召回率、F1、ROC/AUC等评价指标评价模型的综合性能。
2.测试集本身没有标签,利用所学机器学习模型对测试集的样本进行判断(分类、回归等),进行得到测试集样本的“标签”。
当训练集和验证集样本数目过少,难以划分训练集和验证集时,采用交叉验证的方法进行解决。
1.K-fold方法:将训练集和验证集的样本汇总,平均分成K份,每次使用K-1份训练模型参数,使用另外1份作为验证集,验证模型在验证集这1份数据集上的准确率。遍历一次后,将K次得到的结果进行比较,比较准确率最高那次的参数作为模型的参数。
2.留一 法:K-fold方法中K值满足K=N时的特殊情况,N为训练集和验证集样本数目之和。