模型评估与优化2–模型评估与选择
1.模型评估
模型在训练集上的误差通常称为 “训练误差” 或 “经验误差”,而在新样本上的误差称为 “泛化误差”。显然,机器学习的目的是得到泛化误差小的学习器。然而,在实际应用中,新样本是未知的,所以只能使训练误差尽量小。所以,为了得到泛华误差小的模型并避免过拟合,在构建模型时,通常将数据集拆分为相互独立的训练数据集,验证数据集和测试数据集等。
在训练过程中使用验证数据集来评估模型并据此更新超参数,训练结束中使用测试数据集评估训练好的模型的性能。
2.数据集拆分
在机器学习中,通常将所有的数据集划分为三:训练数据集,验证数据集和测试数据集。它们的功能分别为:
训练数据集(train dataset): 用来构建机器学习模型。
验证数据集(validation dataset): 辅助构建模型,用于构建过程中评估模型,为模型提供无偏估计,进而调整模型超参数。
测试数据集(test dataset): 用来评估训练好的模型的性能。
3.数据集划分的方法
不断使用测试集和验证集会使其逐渐失去效果。即使用相同数据来设置超参数或其他模型改进的次数越多,结果的泛华效果就越差。验证集的失效速度通常比测试集缓慢。如果可能的话,建议收集更多数据来“刷新”测试集和验证集。重新开始划分是一种很好的重置方式。
为了划分这几种数据集,可以选择采用留出法、K-折交叉验证法或者自助法等多种方法。这些方法都对数据集有一些基本的假设,包括:
数据集是随机