交叉验证
交叉验证是估计预测误差最简单且广泛使用的方法。
通常情况下,我们的数据量都是不足够多的,如果在本来就不多的数据集中再划分出一部分作为验证集,那可供学习的数据就更少了。为了解决这一问题,K-折交叉验证将数据集分成容量大致相等的K个部分,如下图:
对于第 k k k( k = 1 , 2 , ⋯ , K k=1,2,\cdots,K k=1,2,⋯,K)部分,我们首先用 其他K-1个部分的数据对学习器进行训练,再预测第 k k k部分数据时计算预测误差。依次通过 k = 1 , 2 , ⋯ , K k=1,2,\cdots,K k=1,2,⋯,K循环此操作,最后合并预测误差的 K K K个估计。
具体地,令 κ : { 1 , ⋯ , N } ↦ { 1 , ⋯ , K } \kappa:\{1, \cdots, N\} \mapsto\{1, \cdots, K\} κ:{
1,⋯,N}↦{
1,⋯,K} 是一个指标函数,它指出观测 i i i 被 随机指派到其上的划分。用 f ^ − k ( x ) \hat{f}^{-k}(x) f^−k(x) 表示拟合函数,用删除第 k k k 部分后的数据计算。那么,预测误差的交叉验证估计是:
C V ( α