留一法交叉验证(Leave-One-Out Cross-Validation,LOO-CV)是贝叶斯模型比较重常见的一种方法。首先,常见的k折交叉验证是非常普遍的一种机器学习方法,即将数据集随机分为k份,其中训练集有(k-1)份,测试集占1份。例如,第一份数据可以用来测试基于剩下(k-1)份数据建立的模型的拟合度,然后将第二份数据作为测试集测试相应训练集的拟合度,以此类推。完成之后每份数据都恰好被用作一次测试集,对这k次测试的拟合度做平均,则可以得出这个模型的拟合度。这样每一个,优势是可以避免过拟合,同时有较好的拟合效果。然而它也存在一些问题,即不同的数据集划分方法会影响对模型的评估,这可能造成潜在的cherry-picking现象。
本文主要介绍留一法交叉验证,它是k折交叉验证的一种特例,因为它可以看做是当k等于样本量n时的n折交叉验证。这意味着每一个数据点都被用来测试,而所有剩下的(n-1)个数据点为相应的测试集(见题图)。
这其中一个比较重要的概念是expected log pointwise predictive density (elppd):