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