在机器学习或者深度学习中,我们在训练模型的时候,要考虑模型训练、模型评估以及模型在新数据集上的表现,在给我们的数据中,我们要通过一定的数据集切分方式来达到这个效果。
训练/验证/测试
我们在做的时候,会按照占比把数据集切分成三份,训练集、验证集和测试集,有时候只需要切分成训练集和测试集。在这里这三个的功能分别为:
训练集
一般占比比较大,用来训练模型
验证集
用来评估哪个模型更好
测试集
测试模型在新数据上的表现程度
数据集切分方式
当我们的数据量不是很庞大时:
假如有100/1000/10000,我们通常会采取6:2:2分或者7:3分,这是经过测试最好的分法。
现在大数据时代,一般数据量会比较大:
当数据达到10w/100w/1000w,我们一般会把训练集放高一点,比如99.5:0.25:0.25或者99.5:0.4:0.1,即使验证集和测试集只有0.25或者0.1,但是在数据量很大的情况下,它们的数据已经有上万了。
方差与偏差
当我们用模型训练数据,测试模型时,会有一定的训练误差,我们可以简单的根据训练误差来评测我们的模型是不是符合我们的需要。
假如我们的模型的训练集误差只有1%,在验证集上的误差为11%,说明它的拟合度较高,但是在验证集上表现较差,说明过拟合,验证集与训练集误差相差较大,我们说它是高方差的。
假如我们的模型的训练集误差为15%,验证集误差为16%,说明它拟合较差,在验证集上表现也差,但验证集与训练集误差相差较小,这说明它是欠拟合的,我们说他是高偏差的。
如果在训练集和验证集上表现都差,而且训练集与测