k-Fold交叉验证
我们应该使用哪个数据集来确定最优超参数值?如果我们使用训练集,那么模型很可能会过度拟合,或者记住我们训练数据的细微差别。这意味着它不太可能推广到看不见的数据。但是,如果我们使用测试集,那么这将不再代表“看不见的”数据,因此我们将无法使用它来验证我们的模型泛化的程度。因此,我们需要另一个数据集来帮助我们确定最优的超参数:验证数据集。
交叉验证原理
例如,像我们做的那样,将我们的数据分割成 80/20 训练集/测试集拆分,我们可以分别执行60/20/20拆分以生成训练、验证和测试数据集。然后,我们可以在训练集上训练我们的模型,在验证集上评估性能以选择最佳的超参数配置,并将模型应用于测试集,看看它在新数据上的表现如何。然而,这种方法的缺点之一是我们失去了25%的训练数据(80%->60%),这可以用来帮助改进模型。这促我们使用k-折叠交叉验证技术来解决这个问题。
使用这种方法,我们不像以前那样将数据集分割成单独的培训、验证和测试集,而是将其分割成训练和测试集。
而是我们使用训练数据进行训练和验证。为了实现这一点&#