当您尝试将模型适合大型数据集时,通常的建议是将数据分为三个部分:训练,验证和测试数据集。
这是因为模型通常具有三个“级别”的参数:第一个“参数”是模型类(例如SVM,神经网络,随机森林),第二个参数集是“正则化”参数或“超参数”(例如套索罚分系数,核的选择,神经网络结构)和第三组通常被认为是“参数”(例如协变量的系数)。
给定一个模型类和一组超参数,就可以通过选择使训练集上的误差最小的参数来选择参数。给定一个模型类,可以通过最小化验证集上的误差来调整超参数。一个人根据测试集的性能选择模型类别。
但是为什么不增加分区呢?通常,一个人可以将超参数分为两组,并使用“验证1”适合第一个,使用“验证2”适合第二个。或者甚至可以将训练数据/验证数据分割的大小视为要调整的超参数。
在某些应用程序中这已经是普遍的做法吗?关于数据的最佳分区,是否有任何理论上的工作?