训练集用来训练模型,验证集用于模型的选择,而测试集用于最终对学习方法的评估。
在学习到不同的复杂度的模型中,选择对验证集有最小预测误差的模型,由于验证集有足够多的数据,用它对模型进行选择也是有效的。
但是,在许多实际应用中数据是不充足的,为了选择好的模型,可以采用交叉验证方法,交叉验证的基本思想是重复地使用数据;把给定的数据进行切分,将切分的数据组合为训练集和测试集,在此基础上反复地进行训练、测试以及模型选择。
1、简单交叉验证
简单交叉验证是:首先随机地将已给数据分成两部分,一部分作为训练集,另一部分作为测试集(比如,70%的数据为训练集,30%的数据为测试集);然后用训练集在各种情况下(例如,不同的参数个数)训练模型,从而得到不同的模型;在测试集上评价各个模型的测试误差,选出测试误差最小的模型。
2、S折交叉验证
应用最多是S折交叉验证,方法如下:首先随机地将已给数据切分为S个互不相交的大小相同的子集;然后利用S-1个子集的数据训练模型,利用余下的子集测试模型;将这一过程对可能的S种选择重复进行;最后选出S次评测中平均测试误差最小的模型。
3、留一交叉验证
S折交叉验证的特殊情形是S==N,称为留一交叉验证,往往在数据缺乏的情况下使用,这里,N是给定数据集的容量。
-
机器学习
+关注
关注
66文章
8373浏览量
132395
发布评论请先 登录
相关推荐
评论