测试集precision 大于训练集说明什么?

关注者
20
被浏览
18,629
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

训练集(training set)

训练集的作用就是训练模型,形成模型的内部结构和参数估计,比如古典的线性回归模型,每个变量前边的参数都是由训练集估计出来的,这里我们要区分一个概念,参数和超参数:

参数(parameter)是依赖于训练集的,对于同一份数据的同一个模型,参数是唯一的。

超参数(hyperparameter)是不依赖与训练集合的,他是我们人为指定的,可以取任意合理值的,比如K近邻的聚类中心,随机森林的决策树数量。除此之外,模型确定参数的标准,都是预测误差的最小化或者AUC值的最大化(只要你不改程序),但是超参数的选择就可以根据自己需要的情况选取,没有绝对的标准,换句话说,含有超参数的模型应用要更加灵活一些。

验证集(validation)

验证集的存在就是为了对超参数的选择,因为我的训练集已经决定了参数了,再由训练集得出超参数,很容易造成过拟合,所以我们需要一个独立于训练集的数据,是我们的模型不至于钻进训练集的牛角尖,这里可能不是很好理解,我举个例子:

要让一个神经网络模型学习识别猫,我随机给了机器300张猫的图片,它学习到了很多特征,眼睛、嘴巴、牙齿、四肢等等,但是我再依据这些图片来调超参数,他就可能学习到训练集特有的特征,比如训练集内黑猫比较多,白猫比较少,模型就会认为,大部分的猫都是黑色的,但这只是因为随机性产生的训练集特有的特征,对其他集合和样本并不适用。

测试集(test set)

测试集的情况就比较特殊了,因为从模型训练的角度,测试集不参与模型的训练,也不参与模型的选择,他能做的就是像其他人展示模型的性能,换句话说,测试集不为你的模型提供任何信息,就像向领导汇报工作的ppt一样,在做ppt之前,所有工作都做完了,只是借助ppt向领导展示,也正因为如此,测试集的数据,要尽可能贴近实际中总体的分布,一定要从总体中随机抽取,与总体分布不符的测试集,没有模拟实际工作的作用,它的准确率也不能够代表实际工作的情况,下面以二分类问题的预测结果为例,证明准确率是类别比例的函数。


原文链接:blog.csdn.net/qq_424515