这里只总结一下个人对 k-fold cross validation方法的理解(仅为个人见解,有错误敬请指正)!!!
这种方法适用于数据集较小的情况下确定最适合的超参数,获得表现较好的模型。
这边引用了斯坦福cs31n中的图
1、首先,从数据集的划分谈起():
结论:正确的数据集划分应该为训练集、验证集、测试集。
2、 k-fold cross validation(这里以5-fold cross validation为例):
先将数据集划分为训练集和测试集,再将训练集分为5个文件夹。每一次调整完超参数后都进行5次训练,每次训练时,选择一个文件夹作为验证集,其余作为训练集。将5次验证结果求平均,表示此参数设置下模型的性能评价指标。
注:超参数确定的过程中只使用train data,test data只在最终选出的模型上进行测试。