前言
本篇的交叉验证法(Cross-Validation)和下篇的自助法(bootstrap)都是重采样方法(resampling methods)。重采样方法指重复地从训练集中选取数据进行拟合,以得到拟合模型的更多信息。交叉验证法可以用于评估测试误差或者选取合适的灵活度(flexibility),自助法多用于评估参数估计的准确性。本篇讲的是交叉验证法,包括校验集方法(The Validation Set Approach),留一法(Leave-One-Out Cross-Validation),k折交叉验证(k-Fold Cross-Validation)
校验集方法
交叉验证法指的是将观测数据随机地分成训练集(training set)和校验集(validation set)两部分。训练集用于拟合模型,校验集用于测试拟合模型的效果好坏。
校验集方法的优点是概念简单,容易实施。缺点主要有两点:
- 由于划分的随机性,校验集上得到的测试误差估计,可能会有很高的差异
- 只有一部分数据用于训练,可能高估测试误差。
留一法
留一法同样将观测数据分为训练集和校验集两部分,但是有两点不同:一个是只有一个数据用于校验集,其余数据用于训练集。还有一个不同是,假如有 n n n 个观测数据,留一法重复进行了 n n n 次校验集方法的操作,每次的校验集均不相同,可以得到 n n n 个 M S E MSE MSE。
用留一法得到的对测试 M S E MSE MSE 的估计可以用下式表示:
C V ( n ) = 1 n ∑ i = 1 n M S E i CV_{(n)}=\frac{1}{n}\sum_{i=1}^nMSE_i CV(n)=