cross-validation 交叉验证

交叉验证

在机器学习、数据挖掘和模式识别等领域,需要训练大量的数据来得到一个准确的模型,当数据的数量有限时,就会出现不同的问题。为了解决这些问题,交叉验证的方法就出现了。

名词解释:

l  Holdout    当数据有限时,需要将原始数据分为两份,一份用来training一份用来testing(比例一般是2/31/3),或者分为三份,还有一份用来validation。以上过程就叫做Holdout

l  Stratified holdout(or Stratification)    为了确保分割后用于trainingtesting的数据都具有代表性,需要通过随机取样的过程来确保这一点,这就是stratification。其达到的效果是让在每一个分割中,每个类所占的比例和总体数据中每个类所占的比例相同。

l  Repeated holdout      重复的进行随机取样,计算每一次的error rate,然后对其取平均

l  threefold cross-validation  将数据分为三份,每一次都去其中一份用于testing,其余部分用于training,直到遍历完每一个fold,即每一个instance都至少用于一次testing,后面还有stratified threefold cross-validation

l  Stratified tenfold cross-validation   在实际的应用中,这是标准的数据处理方法,具体含义和上一个类似,在实际的应用中,往往需要重复10遍十折交叉验证,也即往往需要做100次。

  上述内容,参考文献《Data Mining  Practical Machine Learning Tools and Techniques(Third Edition)》,一下内容摘抄自百度百科,讲十折交叉验证的概念。

        英文名叫做10-fold cross-validation,用来测试算法准确性。是常用的测试方法。将数据集分成十分,轮流将其中9份作为训练数据,1份作为测试数据,进行试验。每次试验都会得出相应的正确率(或差错率)。10次的结果的正确率(或差错率)的平均值作为对算法精度的估计,一般还需要进行多次10折交叉验证(例如1010折交叉验证),再求其均值,作为对算法准确性的估计。

  之所以选择将数据集分为10份,是因为通过利用大量数据集、使用不同学习技术进行的大量试验,表明10折是获得最好误差估计的恰当选择,而且也有一些理论根据可以证明这一点。但这并非最终诊断,争议仍然存在。而且似乎5折或者20折与10折所得出的结果也相差无几。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值