尽管验证过程无法直接发现问题所在,但有时该过程可以向我们表明模型的稳定性存在问题。
数据是维持机器学习的基础。无论机器学习和/或深度学习模型多么强大,它都永远无法完成我们想要对不良数据进行的处理。随机噪声(即,数据点,这使得很难看见的图案),在一定分类变量的低频,所述目标类别的低频率(如果目标变量是分类)和不正确的数值等只是一些方面的数据会弄乱模型。尽管验证过程无法直接发现问题所在,但该过程有时可以向我们表明模型的稳定性存在问题。
验证数据的最基本方法(即在测试模型之前调整超参数)是某人将对数据执行训练/验证/测试拆分的时间。一个典型的比率可能是80/10/10,以确保您仍然有足够的训练数据。用训练集训练模型后,用户将继续验证结果并使用验证集调整超参数,直到用户达到满意的性能指标为止。一旦完成此阶段,用户将继续使用测试集测试模型以预测和评估性能。
交叉验证是一种用于评估独立数据集上的统计预测模型的性能的技术。目的是确保模型和数据可以很好地协同工作。交叉验证是在训练阶段进行的,用户将评估模型是容易拟合数据还是过度拟合数据。用于交叉验证的数据必须来自目标变量的相同分布,否则我们可能会误以为模型在现实生活中的表现如何。
K折交叉验证
在这种情况下,我们希望在训练阶段保留尽可能多的数据,并且不冒险将有价值的数据丢失到验证集中,k折交叉验证会有所帮助。该技术将不需要训练数据放弃一部分用于验证集。在这种情况下,数据集被分为k个折叠,其中一个折叠将被用作测试集,其余的将被用作训练数据集,并且将按用户指定的次数重复n次。在回归中,结果的平均值(例如,RMSE,R-Squared等)将用作最终结果。在分类设置中,结果的平均值(即准确度,正确率,F1等)将作为最终结果。
留出法验证类似于k折交叉验证。迭代执行了n次指定的时间。数据集将被拆分为n-1个数据集,而被删除的数据集将是测试数据。性能的测量方法与k倍交叉验证相同。
验证数据集可以使用户放心其模型的稳定性。随着机器学习渗透到社会的各个方面并在我们的日常生活中使用,这些模型必须代表我们的社会越来越重要。过度拟合和欠拟合是数据科学家在模型构建过程中可能面临的两个最常见的陷阱。验证是您的模型的门户,该模型已针对性能进行了优化,并且在需要重新训练之前可以稳定一段时间。