![882469e67ccbfca0b3fbf5c0627a4f2e.png](https://i-blog.csdnimg.cn/blog_migrate/3355d335b30718c220246480ea55008f.jpeg)
机器学习中这三种数据集合非常容易弄混,特别是验证集和测试集,这篇笔记写下我对它们三个的理解以及在实践中是如何进行划分的。
训练集
这个是最好理解的,用来训练模型内参数的数据集,Classfier直接根据训练集来调整自身获得更好的分类效果
验证集
用于在训练过程中检验模型的状态,收敛情况。验证集通常用于调整超参数,根据几组模型验证集上的表现决定哪组超参数拥有最好的性能。
同时验证集在训练过程中还可以用来监控模型是否发生过拟合,一般来说验证集表现稳定后,若继续训练,训练集表现还会继续上升,但是验证集会出现不升反降的情况,这样一般就发生了过拟合。所以验证集也用来判断何时停止训练
测试集
测试集用来评价模型泛化能力,即之前模型使用验证集确定了超参数,使用训练集调整了参数,最后使用一个从没有见过的数据集来判断这个模型是否Work。
三者区别
形象上来说训练集就像是学生的课本,学生 根据课本里的内容来掌握知识,验证集就像是作业,通过作业可以知道 不同学生学习情况、进步的速度快慢,而最终的测试集就像是考试,考的题是平常都没有见过,考察学生举一反三的能力。