什么是交叉验证(Cross Validation)?

简述

验证是指的在机器学习模型训练时对模型好坏程度的衡量。
交叉验证就是一种常用的模型选择方法,使用部分数据集进行验证模型的有效性。

常见方法

常见的交叉验证方法分为3种:

1.简单交叉验证

将数据集分为两部分(或者是三部分),70%作为训练集,30%作为验证集。使用70%的数据,选择不同的模型参数,进行训练。结束后使用30%的数据(未经过训练)进行验证。选择最优的模型。

2.S折交叉验证

将数据集分为规模大小相近的S个互不相交的数据集,利用S-1部分数据去训练模型,剩下的1部分数据进行验证 。经过多次训练选出最优的模型。
【注意】每次的验证集都有可能不同。

3.留一交叉验证

其实就是S折交叉验证的特殊形式,即在数据集规模及其小的时候(小于100条,甚至更夸张)。将S折的S=N,其中N为数据规模。留下1条数据做验证。
细节
所有的数据集在选择的时候,都需要强调独立同分布的选择(随机采样),因为机器学习就是在这个框架下所产生的科学理论

Reference

[1] 《统计学习方法》P14-P15
[2] https://www.cnblogs.com/pinard/p/5992719.html

猜你喜欢

转载自blog.csdn.net/qq_19672707/article/details/88983691