mooc.ai/bbs
(戳文末阅读原文直接进)
一个小介绍:
社区目前主要功能是问答和博客,支持文字、图片、视频、代码、公式、超链接,这些功能可以让你在描述问题/回答问题/写文章的时候用最清晰的方式来表达,还需要什么你说,我改。
一个好的训练网络是不是验证集误差比训练集误差低?
来自社友的回答
▼▼▼
@MicoonZhang
其实你这个问题就是个伪命题,如果我们刻意的去在训练集上拟合模型,使其准确率达到很高的高度,或者说尽量在验证集合上表现的好,都是相悖的
因为我们不能为了某一特定数据集来刻意拟合,因为模型预测数据是不一定就在这个训练或者验证集合的空间中
还有,如果这个model预测集合acc20% 训练集合acc19% ,那么这个模型肯定是不好的。
那么如何选取一个较为理想的medel?
首先,要有一个期望的准确率,通过不同模型的实验,找到最能接近的;
然后,选定模型后进行参数调优;
那么我们要尽可能的提高model的准确率,同时提高其泛化的能力,不能单一看某一指标,此时可参考 准确率、召回率、虚警率、F1Score等指标综合评判。或者采用多重验证随机划分训练、预测、验证集合,多次随机后找到最优参数。
有时候训练集合误差很低,但是泛化能力极差,产生过拟合,
有时候验证集合误差很低,但是可能验证集合无法代表所有的样本,有特殊性或者其他异常点较多
所以模型问题不能单一从你这两点来评判。
还有一点需要注意,就是千万不能为了拟合测试集合而去更改模型,测试集合应该每次都有不同。
@于建国YJango
一般而言,训练集loss < 验证集loss <测试集loss。
因为网络 [已见过] 所有训练集samples,故最低。而网络用验证集作为反馈来调节参数,相当于参考了验证集samples中的信息(间接 [已见过])。又因为网络没有任何测试集的信息,所以测试结果一般而言最差。
不过这都不是绝对的,有不符合这个一般现象的task,而我们不可以说哪种情况更“好”。
@xiaoyangyang
一个好的网络,二者的差距应该是很低的。但一般情况下因为网络不可避免地存在一定程度上的过拟合,所以肯定是train_loss低于test_lost,但如果低太多,就得考虑是过拟合的问题还是因为样本的特征空间不统一的问题。
@Chernopolsky
多数情况验证集上错误率更低一点。因为是选择在验证集上准确率最高的模型来进行测试。考虑到数据的随机性,在验证集上准确率最高的模型在测试集上不一定是最高的,所以算出来的指标通常验证集会比测试集上好一点。
但是实际情况下都有可能,特别是数据量不太大的时候。样本集合的数据也只是近似整体的分布,肯定会有波动。
上海交通大学博士讲师团队
从算法到实战应用
涵盖CV领域主要知识点
手把手项目演示
全程提供代码
深度剖析CV研究体系
轻松实战深度学习应用领域!
▼▼▼
(限时早鸟票~)
新人福利
关注 AI 研习社(okweiwu),回复 1 领取
【超过 1000G 神经网络 / AI / 大数据,教程,论文】
如果你有更好的答案,点击阅读原文分享你的观点~
▼▼▼