首页 > 编程知识 正文

验证码的主要作用,没有验证集可以吗

时间:2023-05-05 00:54:19 阅读:11664 作者:4024

验证集是验证还是训练?

训练集用于训练模型的参数,而验证集用于训练模型的超级参数。 不同的超级参数组合对应于不同的潜在模型。 在验证集中奔跑,实际上是模型的集合,而验证集的存在,是为了在这许多可能的模型中找到表现最好的东西。

超参数重要性?

参数包括训练场地数、学习速度等。 虽然一个模型训练的数据比其他人多得多,但模型的体系结构(超级参数化)并不一定比其他人好。

为什么不能在训练集上训练超参数?

在同一训练集中,如“训练场地数”(epochs ),三轮训练和十轮训练的结果始终是不同的模型。 那些参数不同。 那么,训练三次好还是十次好? 还是都不好,应该训练六次? 训练后,只有在验证集中才能知道这样的决策。 一般来说,练习几个epoch后,试着跑一次验证效果。 如果发现三轮训练更有效,就应该放弃六轮、十轮训练的潜在模式,只训练三轮的结果。

另外,像网的层数那样,在训练集中训练时,层数越多拟合效果一定越好。 如果你这样选择你的模型,在验证集中的效果一定相当差。 这是过度拟合。 所以,必须从训练样本中提取一些样本,即验证集,使这些样本在模型训练过程中不可见,然后评估模型在这部分样本中的表现,最终选出合适的网络层数。

其他超级参数的选择也可以举出1比3。 也就是说,根据验证集的效果,选择超级参数以确定最终模型。

总结一下:在验证集上相当于手动调参(在训练集上是通过误差逆传播自动调参)

然后,将模型传递给测试集进行检查。 测试集必须与训练集和验证集都不同。 对于这个最终选择模型,在测试集中是如何表现的,谁也不能打包票。 正如你经常通过模拟考试一样,大学入学考试也有可能推翻。

怎样划分验证集

如何设置验证集,分割多少数据进行验证,实际上每个研究者都需要独立决策,不应该勉强设置为一致。

10折交叉验证(10-fold Cross Validation)

选择固定训练集和测试集可能会导致分区偏移

因此,将数据集随机分为10份,使用其中9份进行训练,剩下的1份用于测试。 这个过程可以重复10次,每个使用的测试数据都不同。

好处之一是立即拆分以减少误差,另一个是每次采用90%的培训数据,在2折交叉验证中只采用50%的数据。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。