在K-fold cross validation 下 比较不同的K的选择对于参数选择(模型参数,CV意义下的估计的泛化误差)以及实际泛化误差的影响。更一般的问题,在实际模型选择问题中,选择几重交叉验证比较合适?
交叉验证的背景知识:
CV是用来验证模型假设(hypothesis)性能的一种统计分析方法,基本思想是在某种意义下将原始数据进行分组,一部分作为训练集,一部分作为验证集,使用训练集对每个hypothesis进行训练,再用验证集对每个hypothesis的性能进行评估,然后选取性能最好的hypothesis作为问题对应的模型。
常用CV 方法:
1. Hold-out method
最简单的验证方法,将训练数据随机分为两份(典型做法是七三分)。不是真正意义上的CV,没有交叉的思想,所以验证集上的测试精度与原始数据的分组有很大关系,具有随机性,不具有说服性。(是否可通过多次平均的方法来消除这种随机性?待验证)
2. K-fold CV
一般,k>=2。经验上,k取5即可(计算量与精度的权衡),k=5时的结果大致和10以上类似。
3. Leave-one-out CV(LOO-CV)
K-fold CV 的极端情况,将k设为样本数。
优点:(1)结果可靠。
(2)实验过程可被复制。
缺点:计算量过大。实际操作困难,除非并行化。
实验: 使用高斯核最小二乘做回归。
Code: