验证集划分比例,训练集

对数据集训练时 , 只对训练集进行训练还是都训练?
【验证集划分比例,训练集】

验证集划分比例,训练集


当然是对训练集进行训练 。当你把在训练集上训练好的模型调参完毕时 , 再拿到测试集上进行测试 , 看看是否出现过拟合或者欠拟合的情况 , 如果出现 , 再回头调整 。训练集这个是最好理解的 , 用来训练模型内参数的数据集 , Classfier直接根据训练集来调整自身获得更好的分类效果验证集用于在训练过程中检验模型的状态 , 收敛情况 。
验证集通常用于调整超参数 , 根据几组模型验证集上的表现决定哪组超参数拥有最好的性能 。同时验证集在训练过程中还可以用来监控模型是否发生过拟合 , 一般来说验证集表现稳定后 , 若继续训练 , 训练集表现还会继续上升 , 但是验证集会出现不升反降的情况 , 这样一般就发生了过拟合 。所以验证集也用来判断何时停止训练测试集测试集用来评价模型泛化能力 , 即之前模型使用验证集确定了超参数 , 使用训练集调整了参数 , 最后使用一个从没有见过的数据集来判断这个模型是否Work 。
三者区别形象上来说训练集就像是学生的课本 , 学生 根据课本里的内容来掌握知识 , 验证集就像是作业 , 通过作业可以知道 不同学生学习情况、进步的速度快慢 , 而最终的测试集就像是考试 , 考的题是平常都没有见过 , 考察学生举一反三的能力 。为什么要测试集训练集直接参与了模型调慘的过程 , 显然不能用来反映模型真实的能力 , 这样一些 对课本死记硬背的学生(过拟合)将会拥有最好的成绩 , 显然不对 。

    推荐阅读