不同的评估方法存在不同的优缺点,所以在进行推荐评估时,要详细了解其指标,选择合适的评估方法。本篇文章将分享推荐系统离线评估方法,帮助策略产品经理高效地完成工作。希望能对你有所帮助。
今天想就所有策略产品比较关注的推荐系统评估方法展开系列文章介绍,给大家从头到尾讲清楚推荐系统的评估度量衡,同时也是帮助大家明确作为策略如何基于不同的场景确认优化的标的方向。
本系列将基于离线评估、Replay方法、interleaving方法以及线上AB测试的视角来给大家从头到尾讲清楚策略产品对于推荐系统评估体系的搭建,各种评估方式的优缺点及其应用场景,让每一位策略产品对于评估效果的选择了然于心;欢迎大家对于本文进行讨论。
一、推荐系统的评估体系核心要点:一个成熟的推荐系统评估体系应该综合考虑评估的效率和正确性,利用较少的资源位,快速筛选出效果更好的模型。
对于一个公司来说,最公正和合理的评估方法及时进行线上测试,评估模型是否能够更好达成公司或者团队的商业目标。
但是光使用线上A/B的测试方法要占用宝贵且有限的线上流量字眼,并且可能会对用户体验造成伤害。
所以,正是由于线上测试的种种限制,“离线测试”才成了策略产品退而其其次的选择。离线测试可以利用近乎无限的计算资源,快速得到评估结构,从而实现模型的快速迭代化。
所以,并不是一种单一的评估体系即可满足所有的评价场景和标准,作为策略产品,应该深刻的知晓和运用每一种评估方法去做到评测效率和正确性的平衡。
1. 推荐系统评估体系概述
从上图可以看出,在线上A/B测试(最接近线上真实环境)和传统的离线评估(评测的效率最高)之间,还有Replay和Interleaving等测试方法。
- Replay方法是用来最大程度在离线状态下模拟线上环境的过程。
- Interleaving方法则可以建立快速的线上测试环境。
这种多层级的评估测试方法共同构成了完整的推荐系统评估体系,做到评测实现计算效率和线上真实性反馈的平衡。
2. 应用场景
1)评估效率适用场景
可以看的出来离线评估需要快速验证模型的思想和提升效率,因此存在更多筛选的模型和验证改正思想的时候。
由于数量巨大,“评估效率”就成为了最为关键的考虑因素,线上反馈的“真实性”就没有那么苛刻和高要求,这时候就应该选择效率更高的离线评估法则。
2)线上真实性反馈适用场景
候选模型被一层层筛选出来之后,接近正式上线接单,评估方法对于是否能够真实反馈线上环境更加重要。
在模型正式上线前就需要做最接近真实产品体验的A/B测试做模型评估,产生最具说服力的——业务商业指标,才能进行模型上线,完成模型迭代优化过程。
二、离线评估的方法- 定位:在推荐系统评估当中,离线评估往往被当做是最常用也是最基本的评估方法。其核心是指在模型部署在线上环境之前,在离线的环境进行评估。
- 优点:1)由于不用部署到生产环境当中,离线评估就没有线上部署的工程风险,也不用浪费线上流量的资源;2)测试时间短、同时可以进行多种并行测试,能够利用丰富线下资源等优点。
- 能力要求:对于策略产品充分掌握离线评估的要点,需要掌握两个方面的知识:一是离线评估的方法有哪些;二是离线评估的指标有哪些。
离线评估的基本原理大家比较熟悉,主要是在离线环境当中,讲数据集分为“训练集”和“测试集”,用“训练集”来训练模型,用“测试集”来评估模型。
根据数据集划分方式不同,离线评估的方法可以分为Hold out检验、交叉检验和自助法。
1. Hold-out留出法
Holdout检验是基础的离线评估方法,其将原始的样本集合随机划分成训练集和测试集。
对于一个推荐模型来说,可以把样本按照90%-10%的比例随机划分成两个部分,90%用来做模型的训练集,10%用来做模型的评估测试集。
Holdout检验的方法会存在一定的缺点,也就是在验证集上计算出的评估指标与训练集和测试集的划分有直接的干系,如果进行少量的Holdout检验,则得到的结论会存在比较大的随机性。
所以,为了消除随机性影响,“交叉检验”法被提出。
2. 交叉检验法
1)K-fold交叉验证法
把全部样本划分成K个大小相等的样本子集(K取决于样本集合总数,一般行业实验取10),依次遍历K个子集,每次会把当前的子集作为验证集,其余所有子集当做是训练集,进行模型的训练和评估。
最后把K次评估的指标的平均值作为最终的评估指标,这个在之前机器学习的章节有提到过。