对交叉验证的认识

JJU-IIPG JJU-IIPG     2022-09-05     236

关键词:

在我们比赛的算法中,我们使用了交叉验证方法来筛选比较重要的特征,现在我们来了解一下什么是交叉验证(Cross-Validation):有时亦称循环估计, 是一种统计学上将数据样本切割成较小子集的实用方法。于是可以先在一个子集上做分析, 而其它子集则用来做后续对此分析的确认及验证。 一开始的子集被称为训练集。而其它的子集则被称为验证集或测试集。

交叉验证对于人工智能,机器学习,模式识别,分类器等研究都具有很强的指导与验证意义。
基本思想是把在某种意义下将原始数据(dataset)进行分组,一部分做为训练集(train set),另一部分做为验证集(validation set or test set),首先用训练集对分类器进行训练,在利用验证集来测试训练得到的模型(model),以此来做为评价分类器的性能指标.

数据集分割原则

交叉验证在,原始数据集分割为训练集与测试集,必须遵守两个要点:

  1. 训练集中样本数量必须够多,一般至少大于总样本数的 50%。
  2. 两组子集必须从完整集合中均匀取样。

其中第 2 点特别重要,均匀取样的目的是希望减少 训练集/测试集 与完整集合之间的偏差(bias),但却也不易做到。一般的作法是随机取样,当样本数量足够时,便可达到均匀取样的效果。然而随机也正是此作法的盲点,也是经常是可以在数据上做手脚的地方。举例来说,当辨识率不理想时,便重新取样一组训练集 与测试集,直到测试集的辨识率满意为止,但严格来说便算是作弊。

 

应该对原始数据还是拆分数据执行交叉验证分数?

】应该对原始数据还是拆分数据执行交叉验证分数?【英文标题】:ShouldCrossValidationScorebeperformedonoriginalorsplitdata?【发布时间】:2020-06-3020:37:40【问题描述】:当我想通过交叉验证评估我的模型时,我应该对原始数据(在训练和... 查看详情

使用 R 对 randomForest 执行交叉验证

】使用R对randomForest执行交叉验证【英文标题】:Performcross-validationonrandomForestwithR【发布时间】:2014-08-1309:43:21【问题描述】:我正在使用R的randomForest包来训练分类模型。为了将它与其他分类器进行比较,我需要一种方法来显示W... 查看详情

对网格搜索中的所有组合使用交叉验证

】对网格搜索中的所有组合使用交叉验证【英文标题】:Usingcrossvalidationonallcombinationsingridsearch【发布时间】:2017-04-0319:46:15【问题描述】:我正在使用支持向量机对一些数据进行分类。我已将数据拆分为训练集和验证集,并使... 查看详情

如何在没有交叉验证的情况下运行网格搜索?

】如何在没有交叉验证的情况下运行网格搜索?【英文标题】:Howtorungridsearchwithoutcrossvalidation?【发布时间】:2021-10-1314:54:17【问题描述】:我正在尝试运行网格搜索,其中模型将在我的训练集上进行训练,并仅在预设的验证集... 查看详情

交叉验证

1. 在保留交叉验证(hand-outcrossvalidation)中,随机将训练样本集分成训练集(trainingset)和交叉验证集(crossvalidationset),比如分别占70%,30%。然后使用模型在训练集上学习得到假设。最后使用交叉验证集对假设进行验证,看... 查看详情

使用 scikit-learn 对具有多个输入的 Keras 模型进行交叉验证

】使用scikit-learn对具有多个输入的Keras模型进行交叉验证【英文标题】:CrossvalidationofKerasmodelwithmultiplyinputswithscikit-learn【发布时间】:2020-04-0812:55:50【问题描述】:我想将K-Fold交叉验证应用于我的神经网络模型,如下所示:fromsk... 查看详情

使用交叉验证对鸢尾花分类模型进行调参(超参数)(代码片段)

如何选择超参数:交叉验证:如图,大训练集分块,使用不同的分块方法分成N对小训练集和验证集。使用小训练集进行训练,使用验证集进行验证,得到准确率,求N个验证集上的平均正确率;使用平均正确率最高的超参数,对... 查看详情

sklearn 交叉验证 R^2 分数与使用训练模型对训练和验证数据进行的手动检查不匹配

】sklearn交叉验证R^2分数与使用训练模型对训练和验证数据进行的手动检查不匹配【英文标题】:sklearncross-validationR^2scoredoesnotmatchwithmanualcheckusingtrainedmodelontrainingandvalidationdata【发布时间】:2021-02-0906:44:58【问题描述】:对以下... 查看详情

使用 pytorch 和 sklearn 对 MNIST 数据集进行交叉验证

】使用pytorch和sklearn对MNIST数据集进行交叉验证【英文标题】:CrossvalidationforMNISTdatasetwithpytorchandsklearn【发布时间】:2020-03-1815:27:22【问题描述】:我是pytorch的新手,正在尝试实现前馈神经网络来对mnist数据集进行分类。我在尝... 查看详情

深度学习背景下的交叉验证 |物体检测[关闭]

】深度学习背景下的交叉验证|物体检测[关闭]【英文标题】:Crossvalidationinthecontextofdeeplearning|ObjectDetection[closed]【发布时间】:2020-10-2712:52:48【问题描述】:我正在通过对象检测对数据集进行建模。我对深度学习比较陌生。我很... 查看详情

线性回归中的交叉验证

】线性回归中的交叉验证【英文标题】:CrossValidationinlinearregression【发布时间】:2018-09-0610:55:41【问题描述】:我正在尝试在线性回归中执行交叉验证,为此我正在使用pythonsklearn库。我有一个关于对给定数据集执行交叉验证的... 查看详情

如何对目录中的 keras 图像数据集使用交叉验证?

】如何对目录中的keras图像数据集使用交叉验证?【英文标题】:Howtousecross-validationwithkerasimagedatasetsfromdirectories?【发布时间】:2021-05-2807:57:13【问题描述】:我在keras中有一个图像数据集,我在训练和测试之间直接从各自的函数... 查看详情

如何对多类数据进行交叉验证?

】如何对多类数据进行交叉验证?【英文标题】:Howtodocrossvalidationformulticlassdata?【发布时间】:2018-01-0623:50:37【问题描述】:我可以使用以下方法对二进制数据进行交叉验证,但它似乎不适用于多类数据:>cross_validation.cross_va... 查看详情

交叉验证

  在建立分类模型时,交叉验证(CrossValidation)简称为CV,CV是用来验证分类器的性能。它的主体思想是将原始数据进行分组,一部分作为训练集,一部分作为验证集。利用训练集训练出模型,利用验证集来测试模型,以评估... 查看详情

交叉验证的目的是啥? [关闭]

】交叉验证的目的是啥?[关闭]【英文标题】:Whatisthepurposeofcross-validation?[closed]交叉验证的目的是什么?[关闭]【发布时间】:2015-06-2608:11:43【问题描述】:我现在正在阅读一本关于机器学习的书。在NaiveBayesClassifier上工作,作... 查看详情

多标签分类的交叉验证错误

】多标签分类的交叉验证错误【英文标题】:Errorwithcrossvalidationonamultilabelclassification【发布时间】:2015-07-0704:10:09【问题描述】:我正在使用“multiclass.OneVsRestClassifier”和“cross_validation.StratifiedKFold”。当我对多标签问题进行交... 查看详情

PySpark 中的分层交叉验证

】PySpark中的分层交叉验证【英文标题】:Stratifiedcross-validationinPySpark【发布时间】:2020-08-3120:36:02【问题描述】:我在python中使用ApacheSparkAPI,PySpark(--version3.0.0),并且由于我的数据高度不平衡,我希望以分层的方式对我的标... 查看详情

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

】使用交叉验证提高准确性,不使用交叉验证降低准确性【英文标题】:Accuracyincreasesusingcross-validationanddecreaseswithout【发布时间】:2015-04-2114:25:01【问题描述】:我有一个关于交叉验证的问题:我正在使用朴素贝叶斯分类器按作... 查看详情