在机器学习中的监督学习算法,通常将原始数据划分为训练集,验证集和测试集,划分的比例一般为60%:20%:20%,对原始数据三个数据集的划分,是为了能够选出模型效果最好的(准确率等指标)、泛化能力最佳的模型。

1、训练集(training set)
作用:用来拟合模型,通过设置分类器的参数,训练分类模型。(训练出多个分类模型,同一参数不同取值的模型)

2、验证集(cross validation set)
作用:通过训练集训练出多个模型后,为了找出效果最好(例如,均方误差最小)的模型,使用各个模型对验证集数据进行预测,并记录模型准确率。选出效果最好的模型所对应的参数(神经网络中隐藏单元数)。
总结:用来调整模型参数。

3、测试集(test set)
通过训练集和验证集得出模型后,使用测试集进行模型预测。
最终用测试集来衡量模型的性能,对模型进行评估。

从某种角度讲,对原始数据进行三个类别数据集的划分,也是为了防止模型过拟合。当我们使用原始数据去训练模型时,得到的结果很可能是该模型最大程度地拟合了原始数据,也就是说,该模型对原始数据的分类很准确,但是,当新样本出现时,用该模型进行测试,效果十分的差(也就是模型的泛化能力差,出现了过拟合),还不如用原始数据的一部分进行训练。

延伸:什么是过拟合?如何防止机器学习中的过拟合?
请见我的下一篇博文。


仅用来个人学习和分享,如若侵权,留言立删。

尊重他人知识产权,不做拿来主义者!

喜欢的可以关注我哦QAQ,

你的关注就是我write博文的动力。