1.交叉验证背景
在机器学习算法中,当数据量不充分时,需要对数据进行重复使用,就出现了交叉验证方法(Cross Validation),简称CV。交叉验证顾名思义就是重复使用数据,把数据分为训练集(Trading Set)、验证集(Validation Set)、测试集(Test Set),每次随机选出n组数据,用训练集训练出n个模型,测试集对n个模型进行评价,选出最终模型。
2.交叉验证方法
(1)简单交叉验证
首先,我们按照确定比例把数据划分为测试集和非测试集,比如测试集10%,非测试集90%;对于非测试集,我们把数据按照固定比例随机划分出训练集、验证集,比如对于非测试集部分,训练集占70%,验证集占30%;然后对于非测试集部分,重新按照该比例获取训练集和验证集,共获取n组数据,然后对n个训练集进行训练得到n个模型,最后用测试集部分数据对n个模型进行评价,得出最终模型。
(2)S折交叉验证(S-Folder Cross Validation)
S折交叉验证是把数据集划分为s组,每次随机抽取s-1组作为训练集,剩下的一组作为测试集,随机抽取n次,得到n个模型,然后用损失函数评价最优的模型和参数
(3)第三种是留一交叉验证(Leave-one-out Cross Validation)
它是第二种情况的特例,此时S等于样本数N&#