交叉验证定义
在使用某一个数据集对模型进行训练时,模型的实际训练情况会受到数据集的直接影响,且其实际训练结果是难以确定的,极有可能出现欠拟合与过拟合的情况。欠拟合一般是指模型对数据集训练不足,从而在训练数据集与测试数据集上表现都较差,过拟合是指模型单纯在对训练数据集的信息获取上表现较为优秀,但当应用与测试数据集时则会表现较差。模型是否表现出欠拟合的情况可以直接从模型在训练数据集上的表现可以看出,而是否出现过拟合的情况则需要采用测试数据集对模型进行验证,因此通常在对模型使用某个数据集进行训练后,还要将此模型应用到另一个数据结构相同的数据集上,倘若在新的数据集上此模型的应用效果表现优秀,则对此模型的训练才算成功。
由于在实际的研究过程中,使用两组数据结构相同但具体数据信息不同的数据集进行相关实验会增加实验的复杂度,因此通常会对需要进行实验的数据集进行分组,从中选出一部分数据集作为训练数据集对模型进行训练,剩下的部分数据集作为测试数据集对训练好的模型进行验证。这种验证方式被称为交叉验证(Cross Validation,简称CV),该方法方法主要用于对训练好的模型在实际数据预测或数据分类时的准确度进行估计,以此来判断此模型的泛化能力是否优秀。交叉验证可以对训练完成的模型性能进行评估,以此确定在此数据集上表现最好的模型,另外它还可以在一定程度上减小模型对数据的过拟合和欠拟合,从新的数据上获得更多的有效信息。
目前常用的交叉验证方法主要有四种,它们分别为随机子抽样验证(Hold-out Method)、K折交叉验证(K-fold Cross Validation)、留一法交叉验证(Leave-one-out Cross Validation)以及