新媒易动态
NEWS CENTER
NEWS CENTER
2023-07-04
离线评估的基本原理大家比较熟悉,主要是在离线环境当中,讲数据集分为“训练集”和“测试集”,用“训练集”来训练模型,用“测试集”来评估模型。
根据数据集划分方式不同,离线评估的方法可以分为Hold out检验、交叉检验和自助法。
Holdout检验是基础的离线评估方法,其将原始的样本集合随机划分成训练集和测试集。
对于一个推荐模型来说,可以把样本按照90%-10%的比例随机划分成两个部分,90%用来做模型的训练集,10%用来做模型的评估测试集。
Holdout检验的方法会存在一定的缺点,也就是在验证集上计算出的评估指标与训练集和测试集的划分有直接的干系,如果进行少量的Holdout检验,则得到的结论会存在比较大的随机性。
所以,为了消除随机性影响,“交叉检验”法被提出。
1)K-fold交叉验证法
把全部样本划分成K个大小相等的样本子集(K取决于样本集合总数,一般行业实验取10),依次遍历K个子集,每次会把当前的子集作为验证集,其余所有子集当做是训练集,进行模型的训练和评估。
最后把K次评估的指标的平均值作为最终的评估指标,这个在之前机器学习的章节有提到过。
2)留一验证法
和K-fold交叉验证的思想比较类似,每次就留1个样本作为验证集,其余所有样本作为测试集。
样本总数n,依次遍历n个样本,进行n次验证,再将评估的指标进行平均求得最终指标。缺点就是样本多的情况下,验证的计算和时间成本很大。
事实上,留1验证是留p验证的一种特例。留p验证就是指代n个样本集合中每次留p个样本来做验证集。