机器学习的普遍任务就是从数据中学习和构建模型(该过程称之为训练),并且能够在将来遇到的数据上进行预测。用于构建最终模型的数据集通常有多个;在构建模型的不同阶段,通常有三种数据集:训练集、验证集和测试集。
首先,模型在训练集(英语:training dataset)上进行拟合。对于监督式学习,训练集是由用来拟合参数(例如人工神经网络中神经元之间链接的权重)的样本组成的集合。在实践中,训练集通常是由输入向量(标量)和输出向量(标量)组成的数据对。其中输出向量(标量)被称为目标或标签。在训练过程中,当前模型会对训练集中的每个样本进行预测,并将预测结果与目标进行比较。根据比较的结果,学习算法会更新模型的参数。模型拟合的过程可能同时包括特征选择和参数估计。
接下来,拟合得到的模型会在第二个数据集——验证集(英语:validation dataset)——上进行预测。在对模型的超参数(英语:Hyperparameter_(machine_learning))(例如神经网络中隐藏层的神经元数量)进行调整时,验证集提供了对在训练集上拟合得到模型的无偏评估。验证集可用于正则化中的提前停止:在验证集误差上升时(这是在训练集上过拟合的信号),停止训练。不过,在实践中,由于验证集误差在训练过程中会有起伏,这种做法有时不奏效。由此,人们发明了一些规则,用做判定过拟合更好的信号。
最后,测试集(英语:test dataset)可被用来提供对最终模型的无偏评估。若测试集在训练过程中从未用到(例如,没有被用在交叉验证当中),则它也被称之为预留集。