k-fold cross validation(k-折叠交叉验证)

原创 2018年04月15日 22:33:31

交叉验证的目的

在实际训练中,模型通常对训练数据好,但是对训练数据之外的数据拟合程度差。用于评价模型的泛化能力,从而进行模型选择。

交叉验证的基本思想

把在某种意义下将原始数据(dataset)进行分组,一部分做为训练集(train set),另一部分做为验证集(validation set or test set),首先用训练集对模型进行训练,再利用验证集来测试模型的泛化误差。另外,现实中数据总是有限的,为了对数据形成重用,从而提出k-折叠交叉验证。

对于个分类或回归问题,假设可选的模型为M={M1,M2,M3……Md}。k-折叠交叉验证就是将训练集的1/k作为测试集,每个模型训练k次,测试k次,错误率为k次的平均,最终选择平均率最小的模型Mi。

1、 将全部训练集S分成k个不相交的子集,假设S中的训练样例个数为m,那么每一个子集有m/k个训练样例,相应的子集称作{S1,S2,S3……Sk}。

2、 每次从模型集合M中拿出来一个Mi,然后在训练子集中选择出k-1个

{S1,S2,Sj-1,Sj+1,Sk}(也就是每次只留下一个Sj),使用这k-1个子集训练Mi后,得到假设函数hij。最后使用剩下的一份Sj作测试,得到经验错误。

3、 由于我们每次留下一个Sj(j从1到k),因此会得到k个经验错误,那么对于一个Mi,它的经验错误是这k个经验错误的平均。

4、 选出平均经验错误率最小的Mi,然后使用全部的S再做一次训练,得到最后的hi。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hxcaifly/article/details/79954493

【机器学习】k-fold cross validation(k-折叠交叉验证)

k-折叠交叉验证就是将训练集的1/k作为测试集,每个模型训练k次,测试k次,错误率为k次的平均,然后平均率最小的模型Mi。...
  • evillist
  • evillist
  • 2017-03-13 09:27:04
  • 6836

K-折交叉验证(k-fold crossValidation)以及在matlab中的实现

转载原文定义: 在机器学习中,将数据集A分为训练集B(training set)和测试集C(test set),在样本量不充足的情况下,为了充分利用数据集对算法效果进行测试,将数据集A随机分为k个包...
  • Enjolras_fuu
  • Enjolras_fuu
  • 2017-05-15 18:56:05
  • 3702

K-Fold Cross Validation(K倍交叉检验)

今天用matlab实现决策树,发现用到交叉检验的问题,好吧网上找的总结一下,以备不时之需!!!下面是一个求6倍交叉检验的决策树的错误率代码。function errorrate()[S1,S2,S3,...
  • zhaomengszu
  • zhaomengszu
  • 2017-01-15 15:02:28
  • 738

k-折交叉验证(k-fold CrossValidation) matlab代码

http://blog.csdn.net/chenbang110/article/details/7604975
  • searching555
  • searching555
  • 2015-07-20 16:43:19
  • 4213

K-fold 交叉验证

http://blog.sina.com.cn/s/blog_688077cf0100zqpj.html
  • sadfasdgaaaasdfa
  • sadfasdgaaaasdfa
  • 2015-10-08 09:09:33
  • 1085

交叉验证(Cross Validation)

交叉验证(Cross Validation),有的时候也称作循环估计(Rotation Estimation),是一种统计学上将数据样本切割成较小子集的实用方法,该理论是由Seymour Geisse...
  • cainiaozr
  • cainiaozr
  • 2015-11-03 09:59:25
  • 1172

关于K-fold cross validation 下不同的K的选择的疑惑?

在K-fold cross validation 下 比较不同的K的选择对于参数选择(模型参数,CV意义下的估计的泛化误差)以及实际泛化误差的影响。更一般的问题,在实际模型选择问题中,选择几重交叉验证...
  • xulinshadow701
  • xulinshadow701
  • 2014-04-30 19:37:38
  • 2001

k-fold cross validation中的小问题

交叉验证 (Cross validation)的基本思想:将原始数据集分组,一部分做为训练集 (training set),另一部分做为验证集(validation set or test set)。...
  • sq_sh1987
  • sq_sh1987
  • 2016-09-26 17:03:30
  • 804

交叉验证(CrossValidation)方法

分类器模型通常在特定的数据上进行训练,由于所得模型可能存在过拟合的现象。因此,模型训练完成之后通常需要进行检验,以验证分类模型在未知数据集上的预测能力,即我们通常所说的“模型泛化”能力。模型的验证是模...
  • zbc1090549839
  • zbc1090549839
  • 2015-03-14 21:38:44
  • 6420

scikit-learn交叉验证Cross Validation and Grid Search

引自:http://hisarack.logdown.com/posts/304896-scikit-learn%E5%AF%A6%E4%BD%9C-cross-validation-and-grid...
  • yuanyuanxingxing
  • yuanyuanxingxing
  • 2016-08-09 15:36:16
  • 793
收藏助手
不良信息举报
您举报文章:k-fold cross validation(k-折叠交叉验证)
举报原因:
原因补充:

(最多只允许输入30个字)