机器学习模型评估、训练与优化全解析
1. 模型评估集的作用
1.1 验证集的作用
验证集用于比较不同的模型,通过它可以选择出最佳模型,并对模型的超参数进行调优。
1.2 训练开发集的作用
当训练数据与验证集、测试集的数据可能存在不匹配的风险时,就需要使用训练开发集。训练开发集是训练集的一部分,但模型不会在这部分数据上进行训练。具体操作流程如下:
1. 模型在训练集的其余部分进行训练。
2. 在训练开发集和验证集上对模型进行评估。
- 如果模型在训练集上表现良好,但在训练开发集上表现不佳,那么模型很可能过拟合了训练集。
- 如果模型在训练集和训练开发集上表现都很好,但在验证集上表现不佳,那么训练数据与验证集、测试集之间可能存在显著的数据不匹配问题,此时应尝试改进训练数据,使其更接近验证集和测试集的数据。
1.3 测试集调优的风险
如果使用测试集来调整超参数,会有过拟合测试集的风险,并且所测量的泛化误差可能会过于乐观,最终可能会推出一个表现比预期更差的模型。
2. 模型训练方法
2.1 大规模特征训练集的处理
如果训练集包含数百万个特征,可以使用随机梯度下降(Stochastic Gradient Descent)或小批量梯度下降(Mini - batch Gradient Descent)。若训练集能完全放入内存,也可以考虑批量梯度下降(Batch Gradient Descent)。但不能使用正规方程(Normal Equation)或奇异值分解(SVD)方法,因为它们的计算复杂度会随着特征数量的增加而