交叉验证

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了交叉验证相关的知识,希望对你有一定的参考价值。

参考技术A    交叉验证(Cross-Validation) 可能是数据科学家在进行统计分析时最重要的技术之一,因为在实际中经常需要验证一个ML模型的稳定性--模型在新数据集上的泛化能力。它需要确保由数据集得到的ML模型已经获得数据集大部分正确的信息,并且不能包含太多噪声,换句话说,它的偏差和方差是较小的。本文将要介绍交叉验证的相关概念。
  交叉验证是一种模型的验证技术用于评估一个统计分析模型在独立数据集上的概括能力。主要用于在使用ML模型进行预测时,准确衡量一个模型在实际数据集上的效果。具体来说就是将整个数据集划分为若干部分,一部分用以训练模型、一部分用以测试最终模型的优劣、一部分验证模型结构和超参数。
  交叉验证的目标是确定一个原数据集的子集,去限制ML模型在训练阶段的一些问题,比如模型的过拟合、欠拟合等,同时提供了一种判断标准去衡量模型在独立数据集上的泛化能力。值得注意的是,数据集和测试集必须是独立同分布,不然反而会得到很槽糕的模型。

所以可以得出一个较为草率的结论:一个最佳的ML模型在训练集和测试集上都有较好的表现。

  通常,基于数据的具体划分方式有多种交叉验证方法。

在这种方法中,我们简单的将数据集划分为两个部分:训练集和测试集且在训练集和测试集之前没有交叉重叠的样本,如果训练集和测试集之间出现了交叉重叠的样本,以此训练得到模型是不可靠的,这也是为什么数据集中不能有重复样本的主要原因。在得到最终的模型之前可以使用整个数据集重新训练模型来对模型的超参数进行调整。

但是这种将数据集分为训练集和测试集的方式有一个很大的缺点:
容易导致过拟合,当数据集的划分不是随机进行的,或者划分出的子集只包含了数据集的一部分特征时,因为无法确定哪些数据点会出现在验证集中,过拟合时无可避免的。因此,只有在拥有足够多的数据时,它才是一个不错的选择。

5倍交叉验证如何理解

1 5倍交叉验证是一种常用的模型评估方法。

2 在进行机器学习模型的训练和测试时,我们需要对模型的性能进行评估。
其中,交叉验证是一种常用的评估方法。
5倍交叉验证是将数据集分成5份,其中4份用于训练模型,1份用于测试模型,然后将这个过程重复5次,每次选取不同的1份数据作为测试集。
最终,将5次评估的结果取平均值作为模型的性能指标。

3 5倍交叉验证可以有效地减少模型评估中的随机误差,提高评估结果的准确性。
同时,它也可以充分利用数据集,减少因数据分割不合理而引入的偏差。
因此,5倍交叉验证是目前比较常用的模型评估方法之一。
参考技术A 1 5倍交叉验证是一种常用的机器学习模型评估方法。

2 其中,将数据集分成5份,每次取其中4份作为训练集,剩下的1份作为验证集,共进行5次训练和验证。
每次训练时,选择不同的训练集和验证集,最终得到5个模型。

3 这种评估方法可以有效地减少数据集划分带来的随机性,提高评估结果的可靠性。
同时,也能够更好地利用数据集,减少过拟合的风险。

延伸:除了5倍交叉验证,还有其他常用的交叉验证方法,如10倍交叉验证、留一交叉验证等,可以根据实际情况选择合适的方法进行模型评估。

以上是关于交叉验证的主要内容,如果未能解决你的问题,请参考以下文章

交叉验证、留一交叉验证、自助法

交叉验证

5倍交叉验证如何理解

我是不是需要同时执行网格搜索(使用交叉验证)和交叉验证方法?

为啥交叉验证 RF 分类的性能比没有交叉验证的差?

使用交叉验证提高准确性,不使用交叉验证降低准确性