训练集、验证集和测试集

       一般在训练机器学习模型的时候,咱们会将数据划分为训练集、验证集和测试集。通常来讲,训练集:验证集:测试集的划分比例为6:2:2。对原始数据进行三个集合的划分,是为了可以选出效果(能够理解为准确率)最好的、泛化能力最佳的模型。机器学习

      训练集(Training Set)svn

      做用是用来拟合模型,经过设置分类器的参数,训练分类模型。后续结合验证集做用时,会选出同一参数的不一样取值,拟合出多个分类器。函数

      验证集(Cross ValidaDon Set)性能

       做用是当经过训练集训练出多个模型后,为了能找出效果最佳的模型,使用各个模型对验证集数据进行预测,并记录模型准确率。学习

      选出效果最佳的模型所对应的参数,即用来调整模型参数,如svn中的参数c和核函数等。在交叉验证过程当中也须要设置验证集,如k-折交叉验证(k-fold crossValidation)。测试

        测试集(Test Set)优化

        经过训练集和验证集得出最优模型后,使用测试集进行模型预测,用来衡量该最优模型的性能和分类能力。便可以把测试集当作历来不存在的数据集,当已经肯定模型参数后,使用测试集进行模型性能评价。io

        因此说,训练集(Training Set)是用来训练模型或肯定模型参数的,如ANN中权值等; 验证集(Validation Set)是用来作模型选择(model selection),即作模型的最终优化及肯定的,如ANN的结构;而测试集(Test Set)则纯粹是为了测试已经训练好的模型的泛化能力。select