为什么要引入交叉验证?
假如我们需要从某些候选模型中选择适合当前学习问题的模型,我们可以通过不同模型在当前数据集上进行效果验证。这样,我们面临的一个问题是选择出来的模型泛化性差,导致无法适用于新的数据集
与传统的统计学不同的是,机器学习或者数据挖掘更加注重模型的测试性能,不同于统计学,需要经过严谨的理论推导以及模型的精确性,在对样本建立某个特定模型后,用理论去对模型进行各种验证
交叉验证的方法有哪些?
1.简单交叉验证
随机将样本按照一定的比列,如8:2或者7:3分为训练样本和测试样本,这里称作简单交叉验证集;然后,通过训练样本训练出模型,然后在测试样本上测试精度,选择误差最小的模型。
但是,我们也要考虑这种情况的不足:当样本总量稀缺,采集困难,这样就无法适用简单交叉验证方法。
2. k-折交叉验证
k-折交叉验证将样本集随机划分为k份,k-1份作为训练集,1份作为验证集,依次轮换训练集和验证集k次,验证误差最小的模型为所求模型。