定义
LOOCV,全称为留一交叉验证,意指只使用原本样本中的一项作为验证集,而剩余的则留下来当做训练集。这个步骤一直持续到每个样本都曾被当过验证集为止。 事实上,这等同于k折交叉验证,其中k为原本样本个数[1],使用LOOCV的必要性在于:防止过拟合,评估模型的泛化能力。
基本原理
图 1 LOOCV操作过程示意图
如上图1所示,假设我们现在有n个数据组成的数据集,那么LOOCV的方法就是每次取出一个数据作为验证集的唯一元素,而其他n-1个数据都作为训练集用于训练模型和调参。最终训练得到n个模型,对应n个验证误差。而计算最终误差则就是将这n个误差取平均。
优势及劣势分析
LOOCV的优点在于,其不受训练集和验证集划分方法的影响,因为每一个数据都单独的做过验证集。同时,其用了n-1个数据训练模型,也几乎用到了所有的数据,保证了模型的偏差更小。但是其缺点在于,需要进行n次训练及验证,计算量过于大。
参考文献
[1] https://web.stanford.edu/~hastie/ElemStatLearn/